[%# 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. #%] [% FOREACH change_set IN bug.activity_stream; '
'; extra_class = ""; IF change_set.user_id == bug.assigned_to.id; extra_class = "assignee"; ELSIF change_set.user_id == bug.reporter.id; extra_class = "reporter"; END; IF change_set.comment; PROCESS comment_header comment=change_set.comment; ELSE; PROCESS activity_header activities=change_set.activity id=change_set.id; END; IF change_set.comment; PROCESS comment_body comment=change_set.comment; END; FOREACH activity IN change_set.activity; PROCESS activity_body activity=activity; END; '
'; END; %] [% BLOCK comment_header %]
[%# normal comment header %] [% IF comment.tags.size %] [% END %] [%# default-collapsed comment header %] [% IF comment.collapsed %]
Comment hidden ([% comment.tags.join(', ') FILTER html %])
[% END %]
[% END %] [% BLOCK activity_header %] [% action = activities.0 %]
[% INCLUDE bug_modal/user.html.tmpl u = action.who gravatar_size = 32 gravatar_only = 1 %] [% INCLUDE bug_modal/user.html.tmpl u = action.who %] [% IF extra_class %] ([% extra_class.ucfirst FILTER none %]) [% END %]
[% INCLUDE bug_modal/rel_time.html.tmpl ts=action.when %]
[% END %] [% BLOCK comment_body %] [% END %] [% BLOCK activity_body; '
'; has_cc = 0; FOREACH change IN activity.changes; '
'; class = ""; IF change.fieldname == 'cc'; has_cc = 1; class = "activity-cc"; END; IF change.attachid; %] Attachment #[% change.attachid FILTER none %] - [%+ END; IF change.buglist; IF change.fieldname == 'duplicate'; label = "Duplicate of this " _ terms.bug; ELSE; label = field_descs.${change.fieldname}; END; IF change.added != ''; label _ ": " FILTER html; PROCESS add_change value=change.added; END; IF change.removed != ''; IF change.added != ''; "
"; END; "No longer "; label FILTER lcfirst; ": "; PROCESS add_change value=change.removed; END; ELSE; IF change.fieldname == 'longdescs.isprivate'; # reference the comment that was made private/public in the field label %] Comment [% change.comment.count FILTER none %] is private: [%+ ELSE; field_descs.${change.fieldname} _ ": " FILTER html; END; IF change.removed != ''; IF change.added == ''; ''; END; PROCESS add_change value=change.removed; IF change.added == ''; ''; ELSE; ' → '; END; END; PROCESS add_change value=change.added; END; '
'; END; '
'; END; BLOCK add_change; SWITCH change.fieldname; CASE [ 'estimated_time', 'remaining_time', 'work_time' ]; PROCESS formattimeunit time_unit=value; CASE 'bug_file_loc'; %] [% value FILTER truncate(256, '…') FILTER html %] [% CASE 'see_also'; FOREACH see_also IN value; IF see_also.bug_id; "$terms.bug $see_also.bug_id" FILTER bug_link(see_also.bug_id); ELSE; %] [% see_also.url FILTER html %] [% END; ", " UNLESS loop.last; END; CASE [ 'assigned_to', 'reporter', 'qa_contact', 'cc', 'flagtypes.name' ]; value FILTER email; CASE; IF change.fieldtype == constants.FIELD_TYPE_DATETIME; INCLUDE bug_modal/rel_time.html.tmpl ts=value; ELSIF change.buglist; value FILTER bug_list_link; ELSE; value FILTER truncate(256, '…') FILTER html; END; END; END; %]