"I've rolled back your commit on the trunk in [1505871]. Please checkout the following branch and push your changes there, http://svn.apache.org/viewvc/bloodhound/branches/bep_0008_time_series_reports/ "
Hi! Ryan, I checked out the branch and tried to commit, but failed. [image: 内嵌图片 1] 2013/7/23 Ryan Ollos <[email protected]> > On Mon, Jul 22, 2013 at 5:34 PM, Ryan Ollos <[email protected]> > wrote: > > > On Mon, Jul 22, 2013 at 5:16 PM, <[email protected]> wrote: > > > >> Author: huaxiang > >> Date: Tue Jul 23 00:16:15 2013 > >> New Revision: 1505863 > >> > >> URL: http://svn.apache.org/r1505863 > >> Log: > >> https://issues.apache.org/bloodhound/ticket/574 > >> Display historical status changes for all tickets > >> > >> Modified: > >> > >> > bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/templates/widget_grid.html > >> > >> bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_report_view.html > >> bloodhound/trunk/trac/trac/ticket/api.py > >> bloodhound/trunk/trac/trac/ticket/report.py > >> > >> Modified: > >> > bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/templates/widget_grid.html > >> URL: > >> > http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/templates/widget_grid.html?rev=1505863&r1=1505862&r2=1505863&view=diff > >> > >> > ============================================================================== > >> --- > >> > bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/templates/widget_grid.html > >> (original) > >> +++ > >> > bloodhound/trunk/bloodhound_dashboard/bhdashboard/widgets/templates/widget_grid.html > >> Tue Jul 23 00:16:15 2013 > >> @@ -61,7 +61,7 @@ > >> }${'__style__' in row and row.__style__+';' or None > >> }${fullrow and 'border: none; padding: 0;' or None}"> > >> > >> - <td py:if="use_groups" py:choose="" > >> + <td py:if="use_groups" py:choose="" > >> style="background: none repeat scroll 0 0 #FFFFFF; > >> color: #333333;"> > >> <py:when test="idx == 0 and value_for_group and not > >> fullrow"> > >> $value_for_group > >> @@ -75,33 +75,33 @@ > >> <py:if test="not cell.header.hidden"> > >> <py:with vars="col = cell.header.col.strip('_')"> > >> <py:choose> > >> - > >> + > >> <!--! for the report listing --> > >> <py:when test="col == 'report'"> > >> <td class="$col" py:attrs="td_attrs"> > >> <a title="View report" > >> href="${href.report(cell.value)}">{$cell.value}</a> > >> </td> > >> </py:when> > >> - > >> + > >> <py:when test="col == 'title'"> > >> <td class="$col" py:attrs="td_attrs"> > >> <a title="View report" href="${href.report( > >> row.id)}">$cell.value</a> > >> </td> > >> </py:when> > >> - > >> + > >> <!--! for the ticket listing --> > >> <py:when test="col in ('ticket', 'id')"> > >> <td class="ticket" py:attrs="td_attrs"> > >> <a title="View ${row.resource.realm}" > >> href="${row.href if row.href else > >> url_of(row.resource)}">${shortname_of(row.resource)}</a> > >> </td> > >> </py:when> > >> - > >> + > >> <py:when test="col == 'summary' and row.id"> > >> <td class="$col" py:attrs="td_attrs"> > >> <a title="View ${row.resource.realm}" > >> href="${row.href if row.href else url_of(row.resource)}">$cell.value</a> > >> </td> > >> </py:when> > >> - > >> + > >> <!--! generic fields --> > >> <py:when test="col == 'time'" py:with="value = > >> int(cell.value) if isinstance(cell.value, basestring) else cell.value"> > >> <td class="date" > >> py:attrs="td_attrs">${cell.value != '' and format_time(value) or '--'} > >> @@ -113,7 +113,7 @@ > >> </td> > >> </py:when> > >> > >> - <py:when test="col == 'datetime'" py:with="value > = > >> int(cell.value) if isinstance(cell.value, basestring) else cell.value"> > >> + <py:when test="col in ('datetime','tctime')" > >> py:with="value = int(cell.value) if isinstance(cell.value, basestring) > else > >> cell.value"> > >> <td class="date" > >> py:attrs="td_attrs">${cell.value != '' and format_datetime(value) or > '--'} > >> </td> > >> </py:when> > >> @@ -123,18 +123,18 @@ > >> ${wiki_to_html(context(row.resource), > >> cell.value)} > >> </td> > >> </py:when> > >> - > >> + > >> <py:when test="col == 'milestone'"> > >> <td class="$col" py:attrs="td_attrs"> > >> <a title="View milestone" > >> href="${href.milestone(cell.value)}">$cell.value</a> > >> </td> > >> </py:when> > >> - > >> + > >> <py:otherwise> > >> <td class="$col" > py:attrs="td_attrs">$cell.value > >> </td> > >> </py:otherwise> > >> - > >> + > >> </py:choose> > >> </py:with> > >> </py:if> > >> > >> Modified: > >> bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_report_view.html > >> URL: > >> > http://svn.apache.org/viewvc/bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_report_view.html?rev=1505863&r1=1505862&r2=1505863&view=diff > >> > >> > ============================================================================== > >> --- > >> bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_report_view.html > >> (original) > >> +++ > >> bloodhound/trunk/bloodhound_theme/bhtheme/templates/bh_report_view.html > Tue > >> Jul 23 00:16:15 2013 > >> @@ -35,6 +35,7 @@ > >> </head> > >> > >> <body> > >> + > >> <div id="content" class="report row"> > >> <span class='span12'><h1>$title > >> <small py:if="numrows" class="numrows">(${ngettext('%(num)s > >> match', '%(num)s matches', numrows)})</small> > >> @@ -44,12 +45,12 @@ > >> <div py:if="description" id="description" xml:space="preserve"> > >> ${wiki_to_html(context, description)} > >> </div> > >> - > >> + > >> <div class="buttons control-group"> > >> <form py:if="'REPORT_MODIFY' in perm(report.resource)" > >> action="" method="get"> > >> <div> > >> <input type="hidden" name="action" value="edit" /> > >> - <input type="submit" value="${_('Edit report')}" > >> accesskey="e" > >> + <input type="submit" value="${_('Edit report')}" > >> accesskey="e" > >> class="btn" /> > >> </div> > >> </form> > >> @@ -62,7 +63,7 @@ > >> <form py:if="'REPORT_DELETE' in perm(report.resource)" > >> action="" method="get"> > >> <div> > >> <input type="hidden" name="action" value="delete" /> > >> - <input type="submit" value="${_('Delete report')}" > >> + <input type="submit" value="${_('Delete report')}" > >> class="btn" /> > >> </div> > >> </form> > >> @@ -74,7 +75,7 @@ > >> <div> > >> <label> > >> Max items per page > >> - <input type="text" naime="max" size="10" value="${max}" > >> + <input type="text" naime="max" size="10" value="${max}" > >> class="input-mini" /> > >> </label> > >> <fieldset id="reportfilters" py:if="show_args_form"> > >> > >> Modified: bloodhound/trunk/trac/trac/ticket/api.py > >> URL: > >> > http://svn.apache.org/viewvc/bloodhound/trunk/trac/trac/ticket/api.py?rev=1505863&r1=1505862&r2=1505863&view=diff > >> > >> > ============================================================================== > >> --- bloodhound/trunk/trac/trac/ticket/api.py (original) > >> +++ bloodhound/trunk/trac/trac/ticket/api.py Tue Jul 23 00:16:15 2013 > >> @@ -165,13 +165,13 @@ class ITicketFieldProvider(Interface): > >> """Returns a list of select fields, each as a tuple of > >> (rank, field) > >> where field is a dictionary that defines: > >> - * name: the field name > >> + * name: the field name > >> * pk: the primary key of the field table > >> * label: the label to display, preferably wrapped with N_() > >> * cls: the model describing the field > >> the following keys can also usefully be defined: > >> * optional: a boolean specifying that the select can be > empty > >> - > >> + > >> The rank is expected to be an integer to specify the sorting of > >> the > >> select and radio fields. This is not intended to allow for the > >> extent > >> of configurability of the custom fields but allows a plugin to > >> mix in > >> @@ -342,11 +342,11 @@ class TicketSystem(Component): > >> > >> # Default select and radio fields > >> selects = [] > >> - [selects.extend(field_provider.get_select_fields()) > >> + [selects.extend(field_provider.get_select_fields()) > >> for field_provider in self.ticket_field_providers] > >> [select.update({'type': 'select'}) for n, select in selects] > >> radios = [] > >> - [radios.extend(field_provider.get_radio_fields()) > >> + [radios.extend(field_provider.get_radio_fields()) > >> for field_provider in self.ticket_field_providers] > >> [radio.update({'type': 'radio', > >> 'optional': True}) for n, radio in radios] > >> @@ -379,6 +379,8 @@ class TicketSystem(Component): > >> 'label': N_('Created')}) > >> fields.append({'name': 'changetime', 'type': 'time', > >> 'label': N_('Modified')}) > >> + fields.append({'name':'tctime','type':'time', > >> + 'label': N_('Change Time')}) > >> > >> for field in self.get_custom_fields(): > >> if field['name'] in [f['name'] for f in fields]: > >> @@ -643,17 +645,17 @@ class TicketSystem(Component): > >> def get_select_fields(self): > >> """Default select and radio fields""" > >> from trac.ticket import model > >> - selects = [(10, {'name': 'type', 'label': N_('Type'), > >> + selects = [(10, {'name': 'type', 'label': N_('Type'), > >> 'cls': model.Type}), > >> - (30, {'name':'priority', 'label': N_('Priority'), > >> + (30, {'name':'priority', 'label': N_('Priority'), > >> 'cls': model.Priority}), > >> - (40, {'name': 'milestone', 'label': N_('Milestone'), > >> + (40, {'name': 'milestone', 'label': N_('Milestone'), > >> 'cls': model.Milestone, 'optional': True}), > >> - (50, {'name': 'component', 'label': N_('Component'), > >> + (50, {'name': 'component', 'label': N_('Component'), > >> 'cls': model.Component}), > >> - (60, {'name': 'version', 'label': N_('Version'), > >> + (60, {'name': 'version', 'label': N_('Version'), > >> 'cls': model.Version, 'optional': True}), > >> - (70, {'name': 'severity', 'label': N_('Severity'), > >> + (70, {'name': 'severity', 'label': N_('Severity'), > >> 'cls': model.Severity})] > >> return selects > >> > >> @@ -662,6 +664,6 @@ class TicketSystem(Component): > >> from trac.ticket import model > >> radios = [(20, {'name': 'status', 'label': N_('Status'), > >> 'cls': model.Status}), > >> - (80, {'name': 'resolution', 'label': > N_('Resolution'), > >> + (80, {'name': 'resolution', 'label': > N_('Resolution'), > >> 'cls': model.Resolution})] > >> return radios > >> > >> Modified: bloodhound/trunk/trac/trac/ticket/report.py > >> URL: > >> > http://svn.apache.org/viewvc/bloodhound/trunk/trac/trac/ticket/report.py?rev=1505863&r1=1505862&r2=1505863&view=diff > >> > >> > ============================================================================== > >> --- bloodhound/trunk/trac/trac/ticket/report.py (original) > >> +++ bloodhound/trunk/trac/trac/ticket/report.py Tue Jul 23 00:16:15 2013 > >> @@ -847,6 +847,7 @@ class ReportModule(Component): > >> 'date': iso_datetime, > >> 'created': iso_datetime, > >> 'modified': iso_datetime, > >> + 'tctime':iso_datetime, > >> } > >> > >> converters = [col_conversions.get(c.strip('_'), cell_value) > >> > >> > >> > > It appears that you've mistakenly committed to the trunk rather than your > > BEP-0008 branch. > > > >
