You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by tv...@apache.org on 2013/11/20 15:10:37 UTC

[1/2] git commit: [#2778] ticket:490 check dublicate milestones

Updated Branches:
  refs/heads/master 2fcaa7933 -> 1697ad1fa


 [#2778] ticket:490 check dublicate milestones


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

Branch: refs/heads/master
Commit: 1c781cac49d7117387b2f34f136ceb087defdd1f
Parents: 2fcaa79
Author: Yuriy Arhipov <yu...@yandex.ru>
Authored: Fri Nov 15 12:59:00 2013 +0400
Committer: Tim Van Steenburgh <tv...@gmail.com>
Committed: Wed Nov 20 14:10:03 2013 +0000

----------------------------------------------------------------------
 .../forgetracker/tests/functional/test_root.py  | 29 ++++++++++++++++++++
 ForgeTracker/forgetracker/tracker_main.py       |  9 ++++--
 2 files changed, 36 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/1c781cac/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 8e247ac..42508d0 100644
--- a/ForgeTracker/forgetracker/tests/functional/test_root.py
+++ b/ForgeTracker/forgetracker/tests/functional/test_root.py
@@ -158,6 +158,35 @@ class TestMilestones(TrackerTestController):
         assert '<option value="3.0">3.0</option>' in closed
         assert '<option value="4.0">4.0</option>' in closed
 
+    def test_dublicate_milestone(self):
+        self.new_ticket(summary='bar', _milestone='1.0', status='closed')
+        d = {
+            'field_name':'_milestone',
+            'milestones-0.old_name':'',
+            'milestones-0.new_name':'1.0',
+            'milestones-0.description':'',
+            'milestones-0.complete':'Closed',
+            'milestones-0.due_date':''
+        }
+        r = self.app.post('/bugs/update_milestones', d)
+        assert 'error' in self.webflash(r)
+
+        p = M.Project.query.get(shortname='test')
+        app = p.app_instance('bugs')
+        assert len(app.globals.milestone_fields[0]['milestones']) == 2
+
+        d = {
+            'field_name':'_milestone',
+            'milestones-0.old_name':'2.0',
+            'milestones-0.new_name':'1.0',
+            'milestones-0.description':'',
+            'milestones-0.complete':'Closed',
+            'milestones-0.due_date':''
+        }
+        r = self.app.post('/bugs/update_milestones', d)
+        assert 'error' in self.webflash(r)
+        assert app.globals.milestone_fields[0]['milestones'][1]['name'] == '2.0'
+
 
 def post_install_create_ticket_permission(app):
     """Set to authenticated permission to create tickets but not update"""

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/1c781cac/ForgeTracker/forgetracker/tracker_main.py
----------------------------------------------------------------------
diff --git a/ForgeTracker/forgetracker/tracker_main.py b/ForgeTracker/forgetracker/tracker_main.py
index 4edc9c6..8c3ca51 100644
--- a/ForgeTracker/forgetracker/tracker_main.py
+++ b/ForgeTracker/forgetracker/tracker_main.py
@@ -667,12 +667,17 @@ class RootController(BaseController, FeedController):
         for fld in c.app.globals.milestone_fields:
             if fld.name == field_name:
                 for new in milestones:
+                    exists_milestones = [m.name for m in fld.milestones]
+                    new['new_name'] = new['new_name'].replace("/", "-")
+                    if (new['new_name'] in exists_milestones) and (new['new_name'] != new['old_name']):
+                        flash('The milestone "%s" exists' % new['new_name'], 'error')
+                        redirect('milestones')
                     for m in fld.milestones:
                         if m.name == new['old_name']:
                             if new['new_name'] == '':
                                 flash('You must name the milestone.','error')
                             else:
-                                m.name = new['new_name'].replace("/", "-")
+                                m.name = new['new_name']
                                 m.description = new['description']
                                 m.due_date = new['due_date']
                                 m.complete = new['complete'] == 'Closed'
@@ -692,7 +697,7 @@ class RootController(BaseController, FeedController):
                                     update_counts = True
                     if new['old_name'] == '' and new['new_name'] != '':
                         fld.milestones.append(dict(
-                            name=new['new_name'].replace("/", "-"),
+                            name=new['new_name'],
                             description = new['description'],
                             due_date = new['due_date'],
                             complete = new['complete'] == 'Closed'))


[2/2] git commit: [#2778] Minor cleanup

Posted by tv...@apache.org.
[#2778] Minor cleanup

Signed-off-by: Tim Van Steenburgh <tv...@gmail.com>


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

Branch: refs/heads/master
Commit: 1697ad1fadcc589ba06e9f86a4b82660e9c9bcfc
Parents: 1c781ca
Author: Tim Van Steenburgh <tv...@gmail.com>
Authored: Wed Nov 20 14:09:43 2013 +0000
Committer: Tim Van Steenburgh <tv...@gmail.com>
Committed: Wed Nov 20 14:10:04 2013 +0000

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


http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/1697ad1f/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 42508d0..5a8fc15 100644
--- a/ForgeTracker/forgetracker/tests/functional/test_root.py
+++ b/ForgeTracker/forgetracker/tests/functional/test_root.py
@@ -158,7 +158,7 @@ class TestMilestones(TrackerTestController):
         assert '<option value="3.0">3.0</option>' in closed
         assert '<option value="4.0">4.0</option>' in closed
 
-    def test_dublicate_milestone(self):
+    def test_duplicate_milestone(self):
         self.new_ticket(summary='bar', _milestone='1.0', status='closed')
         d = {
             'field_name':'_milestone',

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/1697ad1f/ForgeTracker/forgetracker/tracker_main.py
----------------------------------------------------------------------
diff --git a/ForgeTracker/forgetracker/tracker_main.py b/ForgeTracker/forgetracker/tracker_main.py
index 8c3ca51..71452f2 100644
--- a/ForgeTracker/forgetracker/tracker_main.py
+++ b/ForgeTracker/forgetracker/tracker_main.py
@@ -670,7 +670,7 @@ class RootController(BaseController, FeedController):
                     exists_milestones = [m.name for m in fld.milestones]
                     new['new_name'] = new['new_name'].replace("/", "-")
                     if (new['new_name'] in exists_milestones) and (new['new_name'] != new['old_name']):
-                        flash('The milestone "%s" exists' % new['new_name'], 'error')
+                        flash('The milestone "%s" already exists.' % new['new_name'], 'error')
                         redirect('milestones')
                     for m in fld.milestones:
                         if m.name == new['old_name']: