You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by jo...@apache.org on 2013/03/07 16:30:54 UTC

[1/5] git commit: [#5896] reverse sort the list we're del-iterating through, so the right idxs are deleted

[#5896] reverse sort the list we're del-iterating through, so the right idxs are deleted


Project: http://git-wip-us.apache.org/repos/asf/incubator-allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-allura/commit/c5f397a7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-allura/tree/c5f397a7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-allura/diff/c5f397a7

Branch: refs/heads/cj/5854
Commit: c5f397a7170d274a8d2dd67d3c3547dde73b94e5
Parents: 31571da
Author: Dave Brondsema <db...@geek.net>
Authored: Wed Mar 6 17:23:44 2013 +0000
Committer: Dave Brondsema <db...@geek.net>
Committed: Wed Mar 6 19:11:22 2013 +0000

----------------------------------------------------------------------
 .../forgetracker/tests/functional/test_root.py     |   26 ++++++++++++++-
 ForgeTracker/forgetracker/widgets/ticket_form.py   |    2 +-
 2 files changed, 26 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/c5f397a7/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 3d038f9..a7ffc20 100644
--- a/ForgeTracker/forgetracker/tests/functional/test_root.py
+++ b/ForgeTracker/forgetracker/tests/functional/test_root.py
@@ -85,11 +85,35 @@ class TestMilestones(TrackerTestController):
             'milestones-0.due_date':''
         }
         self.app.post('/bugs/update_milestones', d)
+        d = {
+            'field_name':'_milestone',
+            'milestones-9.old_name':'',
+            'milestones-9.new_name':'3.0',
+            'milestones-9.description':'',
+            'milestones-9.complete':'Closed',
+            'milestones-9.due_date':''
+        }
+        self.app.post('/bugs/update_milestones', d)
+        d = {
+            'field_name':'_milestone',
+            'milestones-9.old_name':'',
+            'milestones-9.new_name':'4.0',
+            'milestones-9.description':'',
+            'milestones-9.complete':'Closed',
+            'milestones-9.due_date':''
+        }
+        self.app.post('/bugs/update_milestones', d)
         r = self.app.get('/bugs/1/')
         assert '<option selected value="1.0">1.0</option>' in r
+        assert '<option value="2.0">2.0</option>' in r
+        assert '<option value="3.0">3.0</option>' not in r
+        assert '<option value="4.0">4.0</option>' not in r
         r = self.app.get('/bugs/new/')
-        assert  '<option value="2.0">2.0</option>' in r
         assert '<option selected value="1.0">1.0</option>' not in r
+        assert '<option value="1.0">1.0</option>' not in r
+        assert '<option value="2.0">2.0</option>' in r
+        assert '<option value="3.0">3.0</option>' not in r
+        assert '<option value="4.0">4.0</option>' not in r
 
 
 def post_install_create_ticket_permission(app):

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/c5f397a7/ForgeTracker/forgetracker/widgets/ticket_form.py
----------------------------------------------------------------------
diff --git a/ForgeTracker/forgetracker/widgets/ticket_form.py b/ForgeTracker/forgetracker/widgets/ticket_form.py
index 25bd1bd..44bed56 100644
--- a/ForgeTracker/forgetracker/widgets/ticket_form.py
+++ b/ForgeTracker/forgetracker/widgets/ticket_form.py
@@ -34,7 +34,7 @@ class GenericTicketForm(ew.SimpleForm):
         ctx = self.context_for(field)
         if idx == '_milestone':
             milestone_value = ctx.value
-            for milestone in field.options:
+            for milestone in reversed(field.options):  # reverse so del hits the correct indexes
                 if milestone.complete and (milestone.py_value != milestone_value):
                     del field.options[field.options.index(milestone)]
             ctx = self.context_for(field)