"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.
> >
>
>

Reply via email to