Return-Path: X-Original-To: apmail-incubator-allura-commits-archive@minotaur.apache.org Delivered-To: apmail-incubator-allura-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id AE378F043 for ; Mon, 1 Apr 2013 14:27:27 +0000 (UTC) Received: (qmail 33234 invoked by uid 500); 1 Apr 2013 14:27:27 -0000 Delivered-To: apmail-incubator-allura-commits-archive@incubator.apache.org Received: (qmail 33118 invoked by uid 500); 1 Apr 2013 14:27:27 -0000 Mailing-List: contact allura-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: allura-dev@incubator.apache.org Delivered-To: mailing list allura-commits@incubator.apache.org Received: (qmail 29585 invoked by uid 99); 1 Apr 2013 14:27:22 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 Apr 2013 14:27:21 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id 7333B835128; Mon, 1 Apr 2013 14:27:21 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: johnsca@apache.org To: allura-commits@incubator.apache.org Date: Mon, 01 Apr 2013 14:27:47 -0000 Message-Id: <9e5dd6f0e2724a589c81e3b8194580cd@git.apache.org> In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [28/40] git commit: [#5951] Display closed milestones in an optgroup [#5951] Display closed milestones in an optgroup Signed-off-by: Cory Johns Project: http://git-wip-us.apache.org/repos/asf/incubator-allura/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-allura/commit/b5bc1858 Tree: http://git-wip-us.apache.org/repos/asf/incubator-allura/tree/b5bc1858 Diff: http://git-wip-us.apache.org/repos/asf/incubator-allura/diff/b5bc1858 Branch: refs/heads/cj/5963 Commit: b5bc1858daa093d1ce7b2b6c6026039af6fdcf09 Parents: 5acf2eb Author: Cory Johns Authored: Wed Mar 27 19:56:22 2013 +0000 Committer: Dave Brondsema Committed: Thu Mar 28 19:45:46 2013 +0000 ---------------------------------------------------------------------- .../forgetracker/tests/functional/test_root.py | 19 ++++++-- ForgeTracker/forgetracker/widgets/ticket_form.py | 36 ++++++++++++--- 2 files changed, 44 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/b5bc1858/ForgeTracker/forgetracker/tests/functional/test_root.py ---------------------------------------------------------------------- diff --git a/ForgeTracker/forgetracker/tests/functional/test_root.py b/ForgeTracker/forgetracker/tests/functional/test_root.py index b7f4ae2..d638cf8 100644 --- a/ForgeTracker/forgetracker/tests/functional/test_root.py +++ b/ForgeTracker/forgetracker/tests/functional/test_root.py @@ -116,16 +116,25 @@ class TestMilestones(TrackerTestController): } self.app.post('/bugs/update_milestones', d) r = self.app.get('/bugs/1/') + closed = r.html.find('optgroup', label='Closed') + assert closed + closed = str(closed) assert '' in r + assert '' not in closed assert '' in r - assert '' not in r - assert '' not in r + assert '' not in closed + assert '' in closed + assert '' in closed r = self.app.get('/bugs/new/') + closed = r.html.find('optgroup', label='Closed') + assert closed + closed = str(closed) assert '' not in r - assert '' not in r + assert '' in closed assert '' in r - assert '' not in r - assert '' not in r + assert '' not in closed + assert '' in closed + assert '' in closed def post_install_create_ticket_permission(app): http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/b5bc1858/ForgeTracker/forgetracker/widgets/ticket_form.py ---------------------------------------------------------------------- diff --git a/ForgeTracker/forgetracker/widgets/ticket_form.py b/ForgeTracker/forgetracker/widgets/ticket_form.py index aaba037..4394fbb 100644 --- a/ForgeTracker/forgetracker/widgets/ticket_form.py +++ b/ForgeTracker/forgetracker/widgets/ticket_form.py @@ -179,9 +179,33 @@ class TicketCustomField(object): return factory(field) class MilestoneField(ew.SingleSelectField): - def display(self, *args, **kwargs): - milestone_value = kwargs['value'] - for milestone in reversed(self.options): # reverse so del hits the correct indexes - if milestone.complete and (milestone.py_value != milestone_value): - del self.options[self.options.index(milestone)] - return super(MilestoneField, self).display(*args, **kwargs) + template=ew.Snippet('''''', 'jinja2') + + def prepare_context(self, context): + context = super(MilestoneField, self).prepare_context(context) + + # group open / closed milestones + context['open_milestones'] = [opt for opt in self.options if not opt.complete] + context['closed_milestones'] = [opt for opt in self.options if opt.complete] + + # filter closed milestones entirely + #value = context['value'] + #context['options'] = [opt for opt in self.options if not opt.complete or value == opt.py_value] + + return context