changeset 2803:0b2214604c74 beta

Fixed status of changesets in preview windows - show what status was pull-requests closed with - added alternative logic for showing that status (disabled for now)
author Marcin Kuzminski <marcin@python-works.com>
date Wed, 05 Sep 2012 00:55:37 +0200
parents 0a623ec24b62
children 8b00595c4f93
files rhodecode/controllers/pullrequests.py rhodecode/model/changeset_status.py rhodecode/templates/pullrequests/pullrequest_show.html
diffstat 3 files changed, 17 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/rhodecode/controllers/pullrequests.py	Wed Sep 05 00:08:38 2012 +0200
+++ b/rhodecode/controllers/pullrequests.py	Wed Sep 05 00:55:37 2012 +0200
@@ -249,8 +249,7 @@
                                        org_repo, org_ref, other_repo, other_ref
                                       )
 
-        c.statuses = c.rhodecode_db_repo.statuses([x.raw_id for x in
-                                                   c.cs_ranges])
+        c.statuses = org_repo.statuses([x.raw_id for x in c.cs_ranges])
         # defines that we need hidden inputs with changesets
         c.as_form = request.GET.get('as_form', False)
 
@@ -277,6 +276,7 @@
         c.users_array = repo_model.get_users_js()
         c.users_groups_array = repo_model.get_users_groups_js()
         c.pull_request = PullRequest.get_or_404(pull_request_id)
+        c.target_repo = c.pull_request.org_repo.repo_name
 
         cc_model = ChangesetCommentsModel()
         cs_model = ChangesetStatusModel()
@@ -322,12 +322,20 @@
         c.comments = cc_model.get_comments(c.rhodecode_db_repo.repo_id,
                                            pull_request=pull_request_id)
 
-        # changeset(pull-request) status
-        c.current_changeset_status = cs_model.calculate_status(
-                                        c.pull_request_reviewers
-                                     )
+        try:
+            cur_status = c.statuses[c.pull_request.revisions[0]][0]
+        except:
+            log.error(traceback.format_exc())
+            cur_status = 'undefined'
+        if c.pull_request.is_closed() and 0:
+            c.current_changeset_status = cur_status
+        else:
+            # changeset(pull-request) status calulation based on reviewers
+            c.current_changeset_status = cs_model.calculate_status(
+                                            c.pull_request_reviewers,
+                                         )
         c.changeset_statuses = ChangesetStatus.STATUSES
-        c.target_repo = c.pull_request.org_repo.repo_name
+
         return render('/pullrequests/pullrequest_show.html')
 
     @NotAnonymous()
--- a/rhodecode/model/changeset_status.py	Wed Sep 05 00:08:38 2012 +0200
+++ b/rhodecode/model/changeset_status.py	Wed Sep 05 00:55:37 2012 +0200
@@ -64,7 +64,7 @@
 
     def calculate_status(self, statuses_by_reviewers):
         """
-        leading one wins, if number of occurences are equal than weaker wins
+        leading one wins, if number of occurrences are equal than weaker wins
 
         :param statuses_by_reviewers:
         """
--- a/rhodecode/templates/pullrequests/pullrequest_show.html	Wed Sep 05 00:08:38 2012 +0200
+++ b/rhodecode/templates/pullrequests/pullrequest_show.html	Wed Sep 05 00:55:37 2012 +0200
@@ -20,7 +20,7 @@
         ${self.breadcrumbs()}
     </div>
         %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>
+        <div style="padding:10px; font-size:22px;width:100%;text-align: center; color:#88D882">${_('Closed %s') % (h.age(c.pull_request.updated_on))} ${_('with status %s') % h.changeset_status_lbl(c.current_changeset_status)}</div>
         %endif
     <h3>${_('Title')}: ${c.pull_request.title}</h3>