diff rhodecode/model/scm.py @ 2440:1bc579bcd67a codereview

- pull request generates overview based on it's params - added page to show all pull-requests for a repository - db schema changes to support comments and inline comments for pull-requests
author Marcin Kuzminski <marcin@python-works.com>
date Sun, 10 Jun 2012 18:15:00 +0200
parents e576410f911d
children 1f9c467e01eb
line wrap: on
line diff
--- a/rhodecode/model/scm.py	Sun Jun 10 16:44:06 2012 +0200
+++ b/rhodecode/model/scm.py	Sun Jun 10 18:15:00 2012 +0200
@@ -43,7 +43,7 @@
     action_logger, EmptyChangeset, REMOVED_REPO_PAT
 from rhodecode.model import BaseModel
 from rhodecode.model.db import Repository, RhodeCodeUi, CacheInvalidation, \
-    UserFollowing, UserLog, User, RepoGroup
+    UserFollowing, UserLog, User, RepoGroup, PullRequest
 
 log = logging.getLogger(__name__)
 
@@ -320,19 +320,21 @@
 
         return f is not None
 
-    def get_followers(self, repo_id):
-        if not isinstance(repo_id, int):
-            repo_id = getattr(Repository.get_by_repo_name(repo_id), 'repo_id')
+    def get_followers(self, repo):
+        repo = self._get_repo(repo)
 
         return self.sa.query(UserFollowing)\
-                .filter(UserFollowing.follows_repo_id == repo_id).count()
+                .filter(UserFollowing.follows_repository == repo).count()
 
-    def get_forks(self, repo_id):
-        if not isinstance(repo_id, int):
-            repo_id = getattr(Repository.get_by_repo_name(repo_id), 'repo_id')
+    def get_forks(self, repo):
+        repo = self._get_repo(repo)
+        return self.sa.query(Repository)\
+                .filter(Repository.fork == repo).count()
 
-        return self.sa.query(Repository)\
-                .filter(Repository.fork_id == repo_id).count()
+    def get_pull_requests(self, repo):
+        repo = self._get_repo(repo)
+        return self.sa.query(PullRequest)\
+                .filter(PullRequest.other_repo == repo).count()
 
     def mark_as_fork(self, repo, fork, user):
         repo = self.__get_repo(repo)