changeset 2712:7224882c4059 beta

new summary for opened pull requests ref #523
author Marcin Kuzminski <marcin@python-works.com>
date Sat, 11 Aug 2012 18:12:04 +0200
parents 1de45f582f9d
children 3cfcbac0718d
files rhodecode/controllers/pullrequests.py rhodecode/templates/pullrequests/pullrequest_show.html
diffstat 2 files changed, 31 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/rhodecode/controllers/pullrequests.py	Sat Aug 11 17:47:17 2012 +0200
+++ b/rhodecode/controllers/pullrequests.py	Sat Aug 11 18:12:04 2012 +0200
@@ -192,6 +192,7 @@
 
         reviewers_ids = map(int, filter(lambda v: v not in [None, ''],
                    request.POST.get('reviewers_ids', '').split(',')))
+
         PullRequestModel().update_reviewers(pull_request_id, reviewers_ids)
         Session.commit()
         return True
@@ -266,12 +267,15 @@
             cs_statuses[st.author.username] += [st]
 
         c.pull_request_reviewers = []
+        c.pull_request_pending_reviewers = []
         for o in c.pull_request.reviewers:
             st = cs_statuses.get(o.user.username, None)
             if st:
                 sorter = lambda k: k.version
                 st = [(x, list(y)[0])
                       for x, y in (groupby(sorted(st, key=sorter), sorter))]
+            else:
+                c.pull_request_pending_reviewers.append(o.user)
             c.pull_request_reviewers.append([o.user, st])
 
         # pull_requests repo_name we opened it against
--- a/rhodecode/templates/pullrequests/pullrequest_show.html	Sat Aug 11 17:47:17 2012 +0200
+++ b/rhodecode/templates/pullrequests/pullrequest_show.html	Sat Aug 11 18:12:04 2012 +0200
@@ -22,14 +22,33 @@
         %if c.pull_request.is_closed():
         <div style="padding:10px; font-size:22px;width:100%;text-align: center; color:#88D882">${_('Closed %s') % (h.age(c.pull_request.updated_on))}</div>
         %endif
-    <h3>${_('Title')}: ${c.pull_request.title}
-        <div class="changeset-status-container" style="float:none">
-        %if c.current_changeset_status:
-          <div title="${_('Pull request status')}" class="changeset-status-lbl">[${h.changeset_status_lbl(c.current_changeset_status)}]</div>
-          <div class="changeset-status-ico" style="padding:4px"><img src="${h.url('/images/icons/flag_status_%s.png' % c.current_changeset_status)}" /></div>
-        %endif
-        </div>
-    </h3>
+    <h3>${_('Title')}: ${c.pull_request.title}</h3>
+        
+    <div class="form">
+      <div id="summary" class="fields">
+         <div class="field">
+          <div class="label-summary">
+              <label>${_('Status')}:</label>
+          </div>
+          <div class="input">
+            <div class="changeset-status-container" style="float:none;clear:both">
+            %if c.current_changeset_status:
+              <div title="${_('Pull request status')}" class="changeset-status-lbl">[${h.changeset_status_lbl(c.current_changeset_status)}]</div>
+              <div class="changeset-status-ico" style="padding:1px 4px"><img src="${h.url('/images/icons/flag_status_%s.png' % c.current_changeset_status)}" /></div>
+            %endif
+            </div>
+          </div>
+         </div>
+         <div class="field">
+          <div class="label-summary">
+              <label>${_('Still not reviewed by')}:</label>
+          </div>
+          <div class="input">
+            <div>${ungettext('%d reviewer', '%d reviewers',len(c.pull_request_pending_reviewers)) % len(c.pull_request_pending_reviewers)}</div>
+          </div>
+         </div>                
+      </div>
+    </div>    
     <div style="white-space:pre-wrap;padding:3px 3px 5px 20px">${h.literal(c.pull_request.description)}</div>
     <div style="padding:4px 4px 10px 20px">
       <div>${_('Created on')}: ${h.fmt_date(c.pull_request.created_on)}</div>