Ticket #2302: tracmetrix-11.0.3.patch
| File tracmetrix-11.0.3.patch, 6.2 kB (added by mixedpuppy, 3 months ago) |
|---|
-
plugins/tracmetrix/tracmetrixplugin/web_ui.py
old new 20 20 from trac import mimeview 21 21 from model import * # need it but should have worked in __init__.py 22 22 from trac.config import ExtensionOption 23 from trac. contextimport Context23 from trac.mimeview import Context 24 24 from trac.core import * 25 25 from trac.perm import IPermissionRequestor 26 26 from trac.ticket import Milestone, Ticket, model #These are object … … 87 87 self.env.log.info("pdashboard match request %s" % (req.path_info,)) 88 88 89 89 urlcomp = req.path_info.split('/') 90 if len(urlcomp) < 2: 91 return False 90 92 91 93 self.env.log.info(urlcomp) 92 94 … … 140 142 } 141 143 142 144 data = { 143 'context': Context (self.env,req),145 'context': Context.from_request(req), 144 146 'milestones': milestones, 145 147 'milestone_stats': stats, 146 148 'queries': queries, -
plugins/tracmetrix/tracmetrixplugin/model.py
old new 618 618 self.changesets.append((rev,time,author)) 619 619 620 620 self.start_date = start_date 621 self.stop_date = stop_date 622 self.first_rev = self.changesets[0][0] 623 self.last_rev = self.changesets[-1][0] 621 self.stop_date = stop_date 622 if not self.changesets: 623 self.first_rev = self.last_rev = 0 624 else: 625 self.first_rev = self.changesets[0][0] 626 self.last_rev = self.changesets[-1][0] 624 627 625 628 def get_commit_by_date(self): 626 629 -
plugins/tracmetrix/tracmetrixplugin/mdashboard.py
old new 34 34 from trac import __version__ 35 35 from trac import mimeview 36 36 from trac.core import * 37 from trac.context import Context38 from trac.core import *39 37 from trac.perm import IPermissionRequestor 40 38 from trac.util import sorted 41 39 from trac.util.compat import sorted … … 44 42 format_date, format_datetime, pretty_timedelta 45 43 from trac.util.text import shorten_line, CRLF, to_unicode 46 44 from trac.ticket import Milestone, Ticket, TicketSystem, model #These are object 47 from trac.ticket.query import Query48 45 from trac.ticket.roadmap import ITicketGroupStatsProvider, DefaultTicketGroupStatsProvider, \ 49 46 get_ticket_stats, get_tickets_for_milestone, \ 50 47 milestone_stats_data, TicketGroupStats 51 from trac.timeline.api import ITimelineEventProvider, TimelineEvent 52 from trac.web import IRequestHandler, IRequestFilter 48 from trac.web import IRequestHandler 53 49 from trac.web.chrome import add_link, add_stylesheet, INavigationContributor, ITemplateProvider 54 50 from trac.wiki.api import IWikiSyntaxProvider 55 51 from trac.config import ExtensionOption, IntOption, BoolOption … … 109 105 "FROM ticket LEFT JOIN ticket_change ON ticket.id = ticket_change.ticket " \ 110 106 "WHERE (ticket_change.field='status' " \ 111 107 "OR ticket_change.field='milestone') AND ticket.id IN (%s) " \ 112 "UNION SELECT ticket.id, ticket.type, ticket.time, ticket.status, " \108 "UNION (SELECT ticket.id, ticket.type, ticket.time, ticket.status, " \ 113 109 "ticket.time, ticket.milestone, null, null, null FROM ticket " \ 114 110 "WHERE ticket.time = ticket.changetime " \ 115 "AND ticket.id IN (%s) ORDER BY ticket.id " % (ticket_list, ticket_list)111 "AND ticket.id IN (%s) ORDER BY ticket.id)" % (ticket_list, ticket_list) 116 112 117 113 # sqlquery = "SELECT ticket.id, ticket.type, ticket.time, ticket.status, " \ 118 114 # "ticket.time as changetime, null, null, null FROM ticket " \ 119 115 # "WHERE ticket.time = ticket.changetime " \ 120 116 # "AND ticket.id IN (%s) ORDER BY changetime" % (ticket_list,) 121 # 117 # 122 118 cursor.execute(sqlquery) 123 119 124 120 #env.log.info(sqlquery) … … 313 309 title('Cummulative flow chart for ticket status history') 314 310 legend(('Ticket Entered', 'Ticket Left', 'Ticket Completed'), loc='best') 315 311 316 filename = "cummulativeflow_%s " % (milestone.name,)312 filename = "cummulativeflow_%s.%s" % (milestone.name,"png",) 317 313 path = os.path.join(env.path, 'cache', 'tracmetrixplugin', filename) 318 314 #env.log.info(path) 319 315 -
plugins/tracmetrix/tracmetrixplugin/templates/pdashboard.html
old new 49 49 <tbody> 50 50 <tr py:for="bmi in project_bmi_stats" > 51 51 <td style="width: 90px">${bmi[0]}</td> 52 <td style="width: 200px">${len(bmi[1])} ${wiki_to_html(context (), ', '.join(['#%s' % i for i in bmi[1]]))}</td>53 <td style="width: 200px">${len(bmi[2])} ${wiki_to_html(context (), ', '.join(['#%s' % i for i in bmi[2]]))}</td>54 <td style="width: 200px">${len(bmi[3])} ${wiki_to_html(context (), ', '.join(['#%s' % i for i in bmi[3]]))}</td>52 <td style="width: 200px">${len(bmi[1])} ${wiki_to_html(context, ', '.join(['#%s' % i for i in bmi[1]]))}</td> 53 <td style="width: 200px">${len(bmi[2])} ${wiki_to_html(context, ', '.join(['#%s' % i for i in bmi[2]]))}</td> 54 <td style="width: 200px">${len(bmi[3])} ${wiki_to_html(context, ', '.join(['#%s' % i for i in bmi[3]]))}</td> 55 55 <td style="width: 90px">${"%.2f %%" % (float(len(bmi[3])) * 100 / float(len(bmi[2])),)}</td> 56 56 </tr> 57 57 </tbody>
