changeset 2393:b94eac50ec4d codereview

added changeset review status into repo/branch compare view
author Marcin Kuzminski <marcin@python-works.com>
date Tue, 05 Jun 2012 22:00:40 +0200
parents d4e555e32cfb
children 6776f4e569d7
files rhodecode/controllers/compare.py rhodecode/templates/compare/compare_diff.html
diffstat 2 files changed, 11 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/rhodecode/controllers/compare.py	Tue Jun 05 21:36:42 2012 +0200
+++ b/rhodecode/controllers/compare.py	Tue Jun 05 22:00:40 2012 +0200
@@ -49,7 +49,6 @@
     def __before__(self):
         super(CompareController, self).__before__()
 
-
     def _get_discovery(self, org_repo, org_ref, other_repo, other_ref):
         from mercurial import discovery
         other = org_repo._repo
@@ -119,6 +118,10 @@
                                            other_ref,
                                            discovery_data)
 
+        c.statuses = c.rhodecode_db_repo.statuses([x.raw_id for x in
+                                                   c.cs_ranges])
+
+
         c.org_ref = org_ref[1]
         c.other_ref = other_ref[1]
         # diff needs to have swapped org with other to generate proper diff
@@ -129,9 +132,8 @@
 
         c.files = []
         c.changes = {}
-        # sort Added first then Modified last Deleted files
-        sorter = lambda info: {'A': 0, 'M': 1, 'D': 2}.get(info['operation'])
-        for f in sorted(_parsed, key=sorter):
+
+        for f in _parsed:
             fid = h.FID('', f['filename'])
             c.files.append([fid, f['operation'], f['filename'], f['stats']])
             diff = diff_processor.as_html(enable_comments=False, diff_lines=[f])
--- a/rhodecode/templates/compare/compare_diff.html	Tue Jun 05 21:36:42 2012 +0200
+++ b/rhodecode/templates/compare/compare_diff.html	Tue Jun 05 22:00:40 2012 +0200
@@ -38,14 +38,14 @@
             %for cnt, cs in enumerate(c.cs_ranges):
                 <tr>
                 <td><div class="gravatar"><img alt="gravatar" src="${h.gravatar_url(h.email(cs.author),14)}"/></div></td>
+                <td>
+                  %if cs.raw_id in c.statuses:
+                    <div title="${c.statuses[cs.raw_id][1]}" class="changeset-status-ico"><img src="${h.url('/images/icons/flag_status_%s.png' % c.statuses[cs.raw_id][0])}" /></div>
+                  %endif
+                </td>                
                 <td>${h.link_to('r%s:%s' % (cs.revision,h.short_id(cs.raw_id)),h.url('changeset_home',repo_name=c.repo_name,revision=cs.raw_id))}</td>
                 <td><div class="author">${h.person(cs.author)}</div></td>
                 <td><span class="tooltip" title="${h.age(cs.date)}">${cs.date}</span></td>
-                <td>
-                  %if hasattr(c,'statuses') and c.statuses:
-                    <div title="${_('Changeset status')}" class="changeset-status-ico"><img src="${h.url('/images/icons/flag_status_%s.png' % c.statuses[cnt])}" /></div>
-                  %endif
-                </td>
                 <td><div class="message">${h.urlify_commit(h.wrap_paragraphs(cs.message),c.repo_name)}</div></td>
                 </tr>
             %endfor