diff rhodecode/controllers/changelog.py @ 3764:c7970889c5c0 beta

Removed shortlog aka lightweight changelog. Current version of changelog is fast and condensed. There's no sense to keep changelog duplicity.
author Marcin Kuzminski <marcin@python-works.com>
date Tue, 16 Apr 2013 00:44:48 +0200
parents 6302a1423a4e
children 222e9432298e
line wrap: on
line diff
--- a/rhodecode/controllers/changelog.py	Mon Apr 15 23:12:09 2013 +0200
+++ b/rhodecode/controllers/changelog.py	Tue Apr 16 00:44:48 2013 +0200
@@ -39,10 +39,29 @@
 from rhodecode.lib.vcs.exceptions import RepositoryError, ChangesetDoesNotExistError,\
     ChangesetError, NodeDoesNotExistError
 from rhodecode.lib.utils2 import safe_int
+from webob.exc import HTTPNotFound
 
 log = logging.getLogger(__name__)
 
 
+def _load_changelog_summary():
+    p = safe_int(request.GET.get('page'), 1)
+    size = safe_int(request.GET.get('size'), 10)
+
+    def url_generator(**kw):
+        return url('changelog_summary_home',
+                   repo_name=c.rhodecode_db_repo.repo_name, size=size, **kw)
+
+    collection = c.rhodecode_repo
+
+    c.repo_changesets = RepoPage(collection, page=p,
+                                 items_per_page=size,
+                                 url=url_generator)
+    page_revisions = [x.raw_id for x in list(c.repo_changesets)]
+    c.comments = c.rhodecode_db_repo.get_comments(page_revisions)
+    c.statuses = c.rhodecode_db_repo.statuses(page_revisions)
+
+
 class ChangelogController(BaseRepoController):
 
     def __before__(self):
@@ -140,3 +159,14 @@
         if request.environ.get('HTTP_X_PARTIAL_XHR'):
             c.cs = c.rhodecode_repo.get_changeset(cs)
             return render('changelog/changelog_details.html')
+        raise HTTPNotFound()
+
+    @LoginRequired()
+    @HasRepoPermissionAnyDecorator('repository.read', 'repository.write',
+                                   'repository.admin')
+    def changelog_summary(self, repo_name):
+        if request.environ.get('HTTP_X_PARTIAL_XHR'):
+            _load_changelog_summary()
+
+            return render('changelog/changelog_summary_data.html')
+        raise HTTPNotFound()