Mercurial > kallithea
comparison 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 |
comparison
equal
deleted
inserted
replaced
2439:ad19dfcdb1cc | 2440:1bc579bcd67a |
---|---|
41 from rhodecode.lib.auth import HasRepoPermissionAny, HasReposGroupPermissionAny | 41 from rhodecode.lib.auth import HasRepoPermissionAny, HasReposGroupPermissionAny |
42 from rhodecode.lib.utils import get_repos as get_filesystem_repos, make_ui, \ | 42 from rhodecode.lib.utils import get_repos as get_filesystem_repos, make_ui, \ |
43 action_logger, EmptyChangeset, REMOVED_REPO_PAT | 43 action_logger, EmptyChangeset, REMOVED_REPO_PAT |
44 from rhodecode.model import BaseModel | 44 from rhodecode.model import BaseModel |
45 from rhodecode.model.db import Repository, RhodeCodeUi, CacheInvalidation, \ | 45 from rhodecode.model.db import Repository, RhodeCodeUi, CacheInvalidation, \ |
46 UserFollowing, UserLog, User, RepoGroup | 46 UserFollowing, UserLog, User, RepoGroup, PullRequest |
47 | 47 |
48 log = logging.getLogger(__name__) | 48 log = logging.getLogger(__name__) |
49 | 49 |
50 | 50 |
51 class UserTemp(object): | 51 class UserTemp(object): |
318 .filter(UserFollowing.follows_user == u)\ | 318 .filter(UserFollowing.follows_user == u)\ |
319 .filter(UserFollowing.user_id == user_id).scalar() | 319 .filter(UserFollowing.user_id == user_id).scalar() |
320 | 320 |
321 return f is not None | 321 return f is not None |
322 | 322 |
323 def get_followers(self, repo_id): | 323 def get_followers(self, repo): |
324 if not isinstance(repo_id, int): | 324 repo = self._get_repo(repo) |
325 repo_id = getattr(Repository.get_by_repo_name(repo_id), 'repo_id') | |
326 | 325 |
327 return self.sa.query(UserFollowing)\ | 326 return self.sa.query(UserFollowing)\ |
328 .filter(UserFollowing.follows_repo_id == repo_id).count() | 327 .filter(UserFollowing.follows_repository == repo).count() |
329 | 328 |
330 def get_forks(self, repo_id): | 329 def get_forks(self, repo): |
331 if not isinstance(repo_id, int): | 330 repo = self._get_repo(repo) |
332 repo_id = getattr(Repository.get_by_repo_name(repo_id), 'repo_id') | |
333 | |
334 return self.sa.query(Repository)\ | 331 return self.sa.query(Repository)\ |
335 .filter(Repository.fork_id == repo_id).count() | 332 .filter(Repository.fork == repo).count() |
333 | |
334 def get_pull_requests(self, repo): | |
335 repo = self._get_repo(repo) | |
336 return self.sa.query(PullRequest)\ | |
337 .filter(PullRequest.other_repo == repo).count() | |
336 | 338 |
337 def mark_as_fork(self, repo, fork, user): | 339 def mark_as_fork(self, repo, fork, user): |
338 repo = self.__get_repo(repo) | 340 repo = self.__get_repo(repo) |
339 fork = self.__get_repo(fork) | 341 fork = self.__get_repo(fork) |
340 repo.fork = fork | 342 repo.fork = fork |