blob: c56eaba98fba276022ad053208d682b3bc7cb8b8 [file] [log] [blame]
[%# 1.0@bugzilla.org %]
[%# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Bug Tracking System.
#
# The Initial Developer of the Original Code is Netscape Communications
# Corporation. Portions created by Netscape are
# Copyright (C) 1998 Netscape Communications Corporation. All
# Rights Reserved.
#
# Contributor(s): Gervase Markham <gerv@gerv.net>
# Max Kanat-Alexander <mkanat@bugzilla.org>
# Shane H. W. Travis <travis@sedsystems.ca>
#%]
[% PROCESS bug/time.html.tmpl %]
[% DEFAULT start_at = 0 mode = "show" %]
[% isinsider = Param("insidergroup") && UserInGroup(Param("insidergroup")) %]
[% sort_order = user.settings.comment_sort_order.value %]
[%# NOTE: (start_at > 0) means we came here from a midair collision,
# in which case we don't care what the user's preference is.
%]
[% IF (start_at > 0) %]
[% sort_order = "oldest_to_newest" %]
[% END %]
[%# Set up the variables as needed, depending on the sort order %]
[% IF sort_order == "oldest_to_newest" %]
[% count = 0 %]
[% description = 0 %]
[% increment = 1 %]
[% ELSE %]
[% increment = -1 %]
[% IF sort_order == "newest_to_oldest" %]
[% count = comments.size - 1 %]
[% description = 0 %]
[% ELSIF sort_order == "newest_to_oldest_desc_first" %]
[% count = comments.size %]
[% description = comments.size %]
[% END %]
[% END %]
[% FOREACH comment = comments %]
[% IF count >= start_at %]
[% PROCESS a_comment %]
[% END %]
[% count = count + increment %]
[% END %]
[%# Note: this template is used in multiple places; if you use this hook,
# make sure you are aware of this fact.
#%]
[% Hook.process("aftercomments") %]
[%############################################################################%]
[%# Block for individual comments #%]
[%############################################################################%]
[% BLOCK a_comment %]
[% IF NOT comment.isprivate || isinsider %]
<div [% "class=\"bz_private\" " IF comment.isprivate %]
[% "class=\"bz_comment_hilite\" " IF marks.$count %]>
[% IF count == description %]
<table>
<tr>
<td align="left">
<b><a name="c0" href="#c0">Description</a>:</b>&nbsp;&nbsp;<script
type="text/javascript"><!--
addReplyLink(0);
//--></script>
</td>
<td align="left" width="30%">
<b>Opened:</b> [% bug.creation_ts FILTER time %]
</td>
</tr>
</table>
[% ELSE %]
<br>
<span class="bz_comment">
<i>Comment
<a name="c[% count %]" href="#c[% count %]">#[% count %]</a> From
<a href="mailto:[% comment.email FILTER html %]">
[% comment.name FILTER html %]</a>
[%+ comment.time FILTER time %]
</i>
[% IF mode == "edit" %]
<script type="text/javascript"><!--
addReplyLink([% count %]); //--></script>
[% END %]
</span>
[% END %]
[% IF mode == "edit" && isinsider %]
<i>
<input type="hidden" name="oisprivate-[% count %]"
value="[% comment.isprivate %]">
<input type="hidden" name="when-[% count %]" value="[% comment.when %]">
<input type="checkbox" name="isprivate-[% count %]" value="1"
id="isprivate-[% count %]"
[% " checked=\"checked\"" IF comment.isprivate %]> Private
</i>
[% END %]
[% IF UserInGroup(Param('timetrackinggroup')) &&
(comment.work_time > 0 || comment.work_time < 0) %]
<br>
Additional hours worked:
[% PROCESS formattimeunit time_unit=comment.work_time %]
[% END %]
[%# Don't indent the <pre> block, since then the spaces are displayed in the
# generated HTML
#%]
[% IF comment.already_wrapped %]
[% wrapped_comment = comment.body %]
[% ELSE %]
[% wrapped_comment = comment.body FILTER wrap_comment %]
[% END %]
<pre[% ' id="comment_text_' _ count _ '"' IF mode == "edit" %]>
[%- wrapped_comment FILTER quoteUrls -%]
</pre>
</div>
[% END %]
[% END %]