You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by br...@apache.org on 2013/08/22 23:53:34 UTC

[08/50] git commit: [#3153] ticket:389 added milestones to tracker bulk_export

[#3153] ticket:389 added milestones to tracker bulk_export


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

Branch: refs/heads/master
Commit: 59d60f6e6387d4f171a16fa4bb4b8a047780388a
Parents: 68077e9
Author: Anton Kasyanov <mi...@gmail.com>
Authored: Tue Jul 23 20:09:29 2013 +0300
Committer: Dave Brondsema <db...@slashdotmedia.com>
Committed: Thu Aug 22 20:04:41 2013 +0000

----------------------------------------------------------------------
 ForgeTracker/forgetracker/tests/test_app.py |  6 ++++-
 ForgeTracker/forgetracker/tracker_main.py   | 31 +++++++++++++++---------
 2 files changed, 24 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/59d60f6e/ForgeTracker/forgetracker/tests/test_app.py
----------------------------------------------------------------------
diff --git a/ForgeTracker/forgetracker/tests/test_app.py b/ForgeTracker/forgetracker/tests/test_app.py
index 7437e4d..a718885 100644
--- a/ForgeTracker/forgetracker/tests/test_app.py
+++ b/ForgeTracker/forgetracker/tests/test_app.py
@@ -35,7 +35,7 @@ class TestBulkExport(TrackerTestController):
         self.project = M.Project.query.get(shortname='test')
         self.tracker = self.project.app_instance('bugs')
         self.new_ticket(summary='foo', _milestone='1.0')
-        self.new_ticket(summary='bar', _milestone='1.0')
+        self.new_ticket(summary='bar', _milestone='2.0')
         ticket = TM.Ticket.query.find(dict(summary='foo')).first()
         ticket.discussion_thread.add_post(text='silly comment')
 
@@ -59,3 +59,7 @@ class TestBulkExport(TrackerTestController):
         assert_true('options' in tracker_config.keys())
         assert_true('acl' in tracker_config.keys())
         assert_equal(tracker_config['options']['mount_point'], 'bugs')
+
+        milestones = sorted(tracker['milestones'], key=operator.itemgetter('name'))
+        assert_equal(milestones[0]['name'], '1.0')
+        assert_equal(milestones[1]['name'], '2.0')

http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/59d60f6e/ForgeTracker/forgetracker/tracker_main.py
----------------------------------------------------------------------
diff --git a/ForgeTracker/forgetracker/tracker_main.py b/ForgeTracker/forgetracker/tracker_main.py
index 5c574e3..1880cd8 100644
--- a/ForgeTracker/forgetracker/tracker_main.py
+++ b/ForgeTracker/forgetracker/tracker_main.py
@@ -420,12 +420,30 @@ class ForgeTrackerApp(Application):
                 f.write(',')
         f.write('], "tracker_config":')
         json.dump(self.config, f, cls=jsonify.GenericJSON)
+        f.write(', "milestones":')
+        milestones = self.milestones
+        json.dump(milestones, f, cls=jsonify.GenericJSON)
         f.write('}')
 
     @property
     def bins(self):
         return TM.Bin.query.find(dict(app_config_id=self.config._id)).sort('summary').all()
 
+    @property
+    def milestones(self):
+        milestones = []
+        for fld in self.globals.milestone_fields:
+            if fld.name == '_milestone':
+                for m in fld.milestones:
+                    d =  self.globals.milestone_count('%s:%s' % (fld.name, m.name))
+                    milestones.append(dict(
+                        name=m.name,
+                        due_date=m.get('due_date'),
+                        description=m.get('description'),
+                        complete=m.get('complete'),
+                        total=d['hits'],
+                        closed=d['closed']))
+        return milestones
 
 
 ### Controllers ###
@@ -614,19 +632,8 @@ class RootController(BaseController, FeedController):
     @expose('jinja:forgetracker:templates/tracker/milestones.html')
     def milestones(self, **kw):
         require_access(c.app, 'configure')
-        milestones = []
         c.date_field = W.date_field
-        for fld in c.app.globals.milestone_fields:
-            if fld.name == '_milestone':
-                for m in fld.milestones:
-                    d =  c.app.globals.milestone_count('%s:%s' % (fld.name, m.name))
-                    milestones.append(dict(
-                        name=m.name,
-                        due_date=m.get('due_date'),
-                        description=m.get('description'),
-                        complete=m.get('complete'),
-                        total=d['hits'],
-                        closed=d['closed']))
+        milestones = c.app.milestones
         return dict(milestones=milestones)
 
     @without_trailing_slash