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/02/21 00:51:23 UTC

[2/2] git commit: [#5112] ticket:270 Load milestone counts asynchronously

Updated Branches:
  refs/heads/master cb0892c16 -> 7f209c952


[#5112] ticket:270 Load milestone counts asynchronously


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

Branch: refs/heads/master
Commit: fb84e0763600ed77964c7cdcb473f96ab03d7764
Parents: cb0892c
Author: Igor Bondarenko <je...@gmail.com>
Authored: Fri Feb 15 12:19:43 2013 +0000
Committer: Cory Johns <jo...@geek.net>
Committed: Wed Feb 20 23:45:37 2013 +0000

----------------------------------------------------------------------
 ForgeTracker/forgetracker/tracker_main.py |   30 +++++++++++++++++++++--
 1 files changed, 27 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-allura/blob/fb84e076/ForgeTracker/forgetracker/tracker_main.py
----------------------------------------------------------------------
diff --git a/ForgeTracker/forgetracker/tracker_main.py b/ForgeTracker/forgetracker/tracker_main.py
index d83466c..cc477d6 100644
--- a/ForgeTracker/forgetracker/tracker_main.py
+++ b/ForgeTracker/forgetracker/tracker_main.py
@@ -234,7 +234,7 @@ class ForgeTrackerApp(Application):
                     SitemapEntry(
                         h.text.truncate(m.name, 72),
                         self.url + fld.name[1:] + '/' + h.urlquote(m.name) + '/',
-                        small=c.app.globals.milestone_count('%s:%s' % (fld.name, m.name))['hits']))
+                        className='milestones'))
 
         links = []
         if has_access(self, 'create')():
@@ -263,7 +263,7 @@ class ForgeTrackerApp(Application):
         return """\
         $(function() {
             $.ajax({
-                url:'%sbin_counts',
+                url:'%(app_url)sbin_counts',
                 success: function(data) {
                     $.each(data.bin_counts, function(i, item) {
                         var $span = $('.search_bin span:contains("' + item.label + '")');
@@ -273,7 +273,20 @@ class ForgeTrackerApp(Application):
                     });
                 }
             });
-        });""" % c.app.url
+            if ($('.milestones').length > 0) {
+                $.ajax({
+                    url: '%(app_url)smilestone_counts',
+                    success: function(data) {
+                        $.each(data.milestone_counts, function(i, item) {
+                            var $span = $('.milestones span:contains("' + item.name + '")');
+                            if ($span) {
+                                $span.after('<small>' + item.count + '</small>').fadeIn('fast');
+                            }
+                        });
+                    }
+                });
+            }
+        });""" % {'app_url': c.app.url}
 
     def has_custom_field(self, field):
         '''Checks if given custom field is defined. (Custom field names
@@ -456,6 +469,17 @@ class RootController(BaseController):
             bin_counts.append(dict(label=label, count=count))
         return dict(bin_counts=bin_counts)
 
+    @expose('json:')
+    def milestone_counts(self, *args, **kw):
+        milestone_counts = []
+        for fld in c.app.globals.milestone_fields:
+            for m in getattr(fld, "milestones", []):
+                if m.complete: continue
+                count = c.app.globals.milestone_count('%s:%s' % (fld.name, m.name))['hits']
+                name = h.text.truncate(m.name, 72)
+                milestone_counts.append({'name': name, 'count': count})
+        return {'milestone_counts': milestone_counts}
+
     @with_trailing_slash
     @h.vardec
     @expose('jinja:forgetracker:templates/tracker/index.html')