| [%# This Source Code Form is subject to the terms of the Mozilla Public |
| # License, v. 2.0. If a copy of the MPL was not distributed with this |
| # file, You can obtain one at http://mozilla.org/MPL/2.0/. |
| # |
| # This Source Code Form is "Incompatible With Secondary Licenses", as |
| # defined by the Mozilla Public License, v. 2.0. |
| #%] |
| |
| [%# INTERFACE: |
| # operations: array of hashes. May be empty. Each has has three members: |
| # who: string. who performed the operation |
| # when: string. when they performed it |
| # changes: hash. Details of what they changed. This hash has three |
| # compulsory and one optional member: |
| # field: string. The name of the field |
| # removed: string. What was removed from the field |
| # added: string. What was added to the field |
| # attach_id: integer. If the change was adding an attachment, its id. |
| # incomplete_data: boolean. True if some of the data is incomplete (because |
| # it was affected by an old Bugzilla bug.) |
| #%] |
| |
| [% PROCESS bug/time.html.tmpl %] |
| |
| [% IF incomplete_data %] |
| <p> |
| There used to be an issue in <a href="http://www.bugzilla.org/">Bugzilla</a> |
| which caused activity data to be lost if there were a large number of cc's |
| or dependencies. That has been fixed, but some data was already lost in |
| your activity table that could not be regenerated. The changes that the |
| script could not reliably determine are prefixed by '?'. |
| </p> |
| [% END %] |
| |
| [% IF operations.size > 0 %] |
| <table id="bug_activity"> |
| <tr class="column_header"> |
| <th>Who</th> |
| <th>When</th> |
| <th>What</th> |
| <th>Removed</th> |
| <th>Added</th> |
| </tr> |
| |
| [% FOREACH operation = operations %] |
| <tr> |
| <td rowspan="[% operation.changes.size %]"> |
| [% operation.who FILTER email FILTER html %] |
| </td> |
| <td rowspan="[% operation.changes.size %]"> |
| [% operation.when FILTER time %] |
| </td> |
| [% FOREACH change = operation.changes %] |
| [% "</tr><tr>" IF loop.index > 0 %] |
| <td> |
| [% IF change.attachid %] |
| <a href="attachment.cgi?id=[% change.attachid %]"> |
| Attachment #[% change.attachid %]</a> |
| [% END %] |
| [% IF change.comment.defined %] |
| [% comment_desc = field_descs.${change.fieldname} %] |
| [% comment_num = "Comment $change.comment.count" FILTER bug_link(bug.bug_id, comment_num => change.comment.count) %] |
| [% comment_desc.replace('^(Comment )?', "$comment_num ") FILTER none %] |
| [% ELSE %] |
| [%+ field_descs.${change.fieldname} FILTER html %] |
| [% END %] |
| </td> |
| [% PROCESS change_column change_type = change.removed %] |
| [% PROCESS change_column change_type = change.added %] |
| [% END %] |
| </tr> |
| [% END %] |
| </table> |
| [% ELSE %] |
| <p> |
| No changes have been made to this [% terms.bug %] yet. |
| </p> |
| [% END %] |
| |
| [% BLOCK change_column %] |
| <td> |
| [% IF change_type.defined %] |
| [% IF change.fieldname == 'estimated_time' || |
| change.fieldname == 'remaining_time' || |
| change.fieldname == 'work_time' %] |
| [% PROCESS formattimeunit time_unit=change_type %] |
| [% ELSIF change.fieldname == 'blocked' || |
| change.fieldname == 'dependson' %] |
| [% change_type FILTER bug_list_link FILTER none %] |
| [% ELSIF change.fieldname == 'assigned_to' || |
| change.fieldname == 'reporter' || |
| change.fieldname == 'qa_contact' || |
| change.fieldname == 'cc' || |
| change.fieldname == 'flagtypes.name' %] |
| [% display_value(change.fieldname, change_type) FILTER email FILTER html %] |
| [% ELSE %] |
| [% display_value(change.fieldname, change_type) FILTER html FILTER html_line_break %] |
| [% END %] |
| [% ELSE %] |
| |
| [% END %] |
| </td> |
| [% END %] |