diff options
Diffstat (limited to 'template/en/default/bug/comments.html.tmpl')
-rw-r--r-- | template/en/default/bug/comments.html.tmpl | 99 |
1 files changed, 70 insertions, 29 deletions
diff --git a/template/en/default/bug/comments.html.tmpl b/template/en/default/bug/comments.html.tmpl index 61d1c67e0..f4f79ec5c 100644 --- a/template/en/default/bug/comments.html.tmpl +++ b/template/en/default/bug/comments.html.tmpl @@ -13,7 +13,7 @@ <script type="text/javascript"> <!-- - /* Adds the reply text to the `comment' textarea */ + /* Adds the reply text to the 'comment' textarea */ function replyToComment(id, real_id, name) { var prefix = "(In reply to " + name + " from comment #" + id + ")\n"; var replytext = ""; @@ -44,27 +44,17 @@ //--> </script> -[% DEFAULT start_at = 0 mode = "show" %] -[% sort_order = user.settings.comment_sort_order.value %] +[% DEFAULT mode = "show" %] [% user_cache = template_cache.users %] - -[%# 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 %] +[% can_edit_comments = bug.check_can_change_field('longdesc', 0, 1) %] <!-- This auto-sizes the comments and positions the collapse/expand links to the right. --> -<table class="bz_comment_table" cellpadding="0" cellspacing="0"><tr> +<table class="bz_comment_table"> +<tr> <td> -[% FOREACH comment = comments %] - [% IF comment.count >= start_at %] - [% PROCESS a_comment %] - [% END %] -[% END %] +[% PROCESS display_comments %] [% IF mode == "edit" && user.id && user.settings.comment_box_position.value == "before_comments" %] @@ -84,15 +74,18 @@ <td> [% IF mode == "edit" %] <ul class="bz_collapse_expand_comments"> - <li><a href="#" onclick="toggle_all_comments('collapse'); + <li><a href="#" onclick="toggle_all_comments('collapse'); return false;">Collapse All Comments</a></li> <li><a href="#" onclick="toggle_all_comments('expand'); return false;">Expand All Comments</a></li> + [% IF Param('comment_taggers_group') %] + <li><div id="comment_tags_collapse_expand_container"></div></li> + [% END %] [% IF user.settings.comment_box_position.value == "after_comments" && user.id %] <li class="bz_add_comment"><a href="#" onclick="return goto_add_comments('bug_status_bottom');"> Add Comment</a></li> - [% END %] + [% END %] </ul> [% END %] </td> @@ -102,12 +95,14 @@ [%# Block for individual comments #%] [%############################################################################%] -[% BLOCK a_comment %] - [% RETURN IF comment.is_private AND NOT (user.is_insider || user.id == comment.author.id) %] - [% comment_text = comment.body_full %] - [% RETURN IF comment_text == '' AND (comment.work_time - 0) != 0 AND !user.is_timetracker %] +[% BLOCK display_comments %] + [% FOREACH comment = comments %] + [% NEXT IF comment.is_private AND NOT (user.is_insider || user.id == comment.author.id) %] + [% comment_text = comment.body_full %] + [% NEXT IF comment_text == '' AND (comment.work_time - 0) != 0 AND !user.is_timetracker %] <div id="c[% comment.count %]" class="bz_comment[% " bz_private" IF comment.is_private %] + [% " bz_default_collapsed" IF comment.collapsed %] [% " bz_comment_hilite" IF marks.${comment.count} %] [% " bz_first_comment" IF comment.count == 0 %]"> [% IF comment.count == 0 %] @@ -119,23 +114,38 @@ [% END %] <div class="[% class_name FILTER html %]"> - [% IF mode == "edit" %] <span class="bz_comment_actions"> - [% IF bug.check_can_change_field('longdesc', 0, 1) %] + [% IF comment.collapsed %] + <span class="bz_collapsed_actions"> + [% END %] + [% IF can_edit_comments %] + [% IF user.can_tag_comments %] + [<a href="#" + onclick="YAHOO.bugzilla.commentTagging.toggle([% comment.id %], [% comment.count %]);return false">tag</a>] + [% END %] [<a class="bz_reply_link" href="#add_comment" [% IF user.settings.quote_replies.value != 'off' %] onclick="replyToComment('[% comment.count %]', '[% comment.id %]', '[% comment.author.name || comment.author.nick FILTER html FILTER js %]'); return false;" [% END %] >reply</a>] [% END %] - <script type="text/javascript"><!-- - addCollapseLink([% comment.count %], 'Toggle comment display'); // --> + [% IF comment.collapsed %] + </span> + [% END %] + <script type="text/javascript"> + addCollapseLink([% comment.count %], [% comment.collapsed FILTER js %], 'Toggle comment display'); + </script> + </span> + [% ELSIF comment.collapsed %] + <span class="bz_comment_actions"> + <script type="text/javascript"> + addCollapseLink([% comment.count %], [% comment.collapsed FILTER js %], 'Toggle comment display'); </script> </span> [% END %] - [% IF mode == "edit" && user.is_insider && bug.check_can_change_field('longdesc', 0, 1) %] + [% IF mode == "edit" && can_edit_comments && user.is_insider %] <div class="bz_private_checkbox"> <input type="hidden" value="1" name="defined_isprivate_[% comment.id %]"> @@ -176,6 +186,14 @@ <span class="bz_comment_time"> [%+ comment.creation_ts FILTER time %] </span> + + [% IF comment.collapsed %] + <span id="cr[% comment.count %]" class="bz_comment_collapse_reason" + title="[% comment.author.name || comment.author.login FILTER html %] + [%~ %] [[% comment.creation_ts FILTER time %]]"> + Comment hidden ([% comment.tags.join(', ') FILTER html %]) + </span> + [% END %] </div> [% IF user.is_timetracker && @@ -185,12 +203,35 @@ [% PROCESS formattimeunit time_unit=comment.work_time %] [% END %] + [% IF user.id && Param('comment_taggers_group') %] + <div id="comment_tag_[% comment.count FILTER html %]" + class="bz_comment_tags"> + <span id="ct_[% comment.count %]" + class="[% 'bz_default_hidden' UNLESS comment.tags.size %]"> + [% IF comment.tags.size %] + <script> + YAHOO.bugzilla.commentTagging.showTags([% comment.id FILTER none %], + [% comment.count FILTER none %], [ + [% FOREACH tag = comment.tags %] + [%~%]'[% tag FILTER js %]'[% "," UNLESS loop.last %] + [% END %] + [%~%]]); + </script> + [% END %] + </span> + </div> + [% END %] + [%# Don't indent the <pre> block, since then the spaces are displayed in the # generated HTML #%] -<pre class="bz_comment_text" - [% ' id="comment_text_' _ comment.count _ '"' IF mode == "edit" %]> +<pre class="bz_comment_text[% " collapsed" IF comment.collapsed %]" + [% IF mode == "edit" || comment.collapsed %] + id="comment_text_[% comment.count FILTER none %]" + [% END %]> [%- comment_text FILTER quoteUrls(bug, comment) -%] </pre> + [% Hook.process('a_comment-end', 'bug/comments.html.tmpl') %] </div> + [% END %] [% END %] |