Author: gjm
Date: Thu Mar 21 17:55:37 2013
New Revision: 1459423

URL: http://svn.apache.org/r1459423
Log:
enhancing activity widget to show unlimited history for ticket resources - 
towards #471

Modified:
    
incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py

Modified: 
incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py
URL: 
http://svn.apache.org/viewvc/incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py?rev=1459423&r1=1459422&r2=1459423&view=diff
==============================================================================
--- 
incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py 
(original)
+++ 
incubator/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/timeline.py 
Thu Mar 21 17:55:37 2013
@@ -37,6 +37,7 @@ from trac.resource import Resource, reso
 from trac.timeline.web_ui import TimelineModule
 from trac.ticket.api import TicketSystem
 from trac.ticket.model import Ticket
+from trac.util.datefmt import utc
 from trac.util.translation import _
 from trac.web.chrome import add_stylesheet
 
@@ -145,6 +146,15 @@ class TimelineWidget(WidgetBase):
                         'max', 'realm', 'id')
             start, days, user, precision, filters, count, realm, rid = \
                     self.bind_params(name, options, *params)
+            if context.resource.realm == 'ticket':
+                if days is None:
+                    # calculate a long enough time daysback
+                    ticket = Ticket(self.env, context.resource.id)
+                    ticketage = datetime.now(utc) - ticket.time_created
+                    days = ticketage.days + 1
+                if count is None:
+                    # ignore short count for ticket feeds
+                    count = 0
             if count is None:
                 count = self.default_count
 
@@ -225,6 +235,12 @@ class FilteredTimeline:
     process_request = TimelineModule.__dict__['process_request']
     _provider_failure = TimelineModule.__dict__['_provider_failure']
     _event_data = TimelineModule.__dict__['_event_data']
+    max_daysback = TimelineModule.max_daysback
+
+    @property
+    def max_daysback(self):
+        return (-1 if self.context.resource.realm == 'ticket'
+                   else self.max_daysback)
 
     @property
     def event_providers(self):


Reply via email to