diff options
Diffstat (limited to 'template/en/custom/attachment/list.html.tmpl')
-rw-r--r-- | template/en/custom/attachment/list.html.tmpl | 167 |
1 files changed, 167 insertions, 0 deletions
diff --git a/template/en/custom/attachment/list.html.tmpl b/template/en/custom/attachment/list.html.tmpl new file mode 100644 index 000000000..aff79ac57 --- /dev/null +++ b/template/en/custom/attachment/list.html.tmpl @@ -0,0 +1,167 @@ +[%# 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. + #%] + +[% RETURN UNLESS attachments.size || Param("maxattachmentsize") || Param("maxlocalattachment") %] + +<script type="text/javascript"> +<!-- +function toggle_display(link) { + var table = document.getElementById("attachment_table"); + var view_all = document.getElementById("view_all"); + var hide_obsolete_url_parameter = "&hide_obsolete=1"; + // Store current height for scrolling later + var originalHeight = table.offsetHeight; + var rows = YAHOO.util.Dom.getElementsByClassName( + 'bz_tr_obsolete', 'tr', table); + + for (var i = 0; i < rows.length; i++) { + bz_toggleClass(rows[i], 'bz_default_hidden'); + } + + if (YAHOO.util.Dom.hasClass(rows[0], 'bz_default_hidden')) { + link.innerHTML = "Show Obsolete"; + view_all.href = view_all.href + hide_obsolete_url_parameter + } + else { + link.innerHTML = "Hide Obsolete"; + view_all.href = view_all.href.replace(hide_obsolete_url_parameter,""); + } + + var newHeight = table.offsetHeight; + // This scrolling makes the window appear to not move at all. + window.scrollBy(0, newHeight - originalHeight); + + return false; +} +//--> +</script> + +<div class="panel panel-default"> + <div class="panel-heading" style="padding-left: 8px; padding-right: 8px; padding-top: 4px; padding-bottom: 4px;font-weight:bold;font-size:13px;"> + <i class="fa fa-caret-right" aria-hidden="true" style="margin-right:5px;cursor: pointer"></i> Attachments ([%+ attachments.size %] files) + </div> + + + <ul class="list-group" style="display:none;"> + + [% count = 0 %] + [% obsolete_attachments = 0 %] + [% user_cache = template_cache.users %] + [% FOREACH attachment = attachments %] + [% count = count + 1 %] + [% IF !attachment.isprivate || user.is_insider || attachment.attacher.id == user.id %] + [% IF attachment.isobsolete %] + [% obsolete_attachments = obsolete_attachments + 1 %] + [% END %] + <!-- + <tr id="a[% count %]" class="[% "bz_contenttype_" _ attachment.contenttype + FILTER css_class_quote %] + [% " bz_patch" IF attachment.ispatch %] + [% " bz_private" IF attachment.isprivate %] + [% " bz_tr_obsolete bz_default_hidden" + IF attachment.isobsolete %]">--> + <li class="list-group-item"> + <div> + [% IF attachment.datasize %] + <a href="attachment.cgi?id=[% attachment.id %]" + title="View the content of the attachment"> + [% END %] + <b>[% attachment.description FILTER html FILTER obsolete(attachment.isobsolete) %]</b> + [% "</a>" IF attachment.datasize %] + + <span class="bz_attach_extra_info"> + [% IF attachment.datasize %] + ([% attachment.filename FILTER html %], + [% attachment.datasize FILTER unitconvert %], + [% IF attachment.ispatch %] + patch) + [% ELSE %] + [%+ attachment.contenttype FILTER html %]) + [% END %] + [% ELSE %] + (<em>deleted</em>) + [% END %] + + <br> + <a href="#attach_[% attachment.id %]" + title="Go to the comment associated with the attachment"> + [%- attachment.attached FILTER time("%Y-%m-%d %H:%M %Z") %]</a>, + + [%# No need to recreate the exact same template if we already have it. %] + [% attacher_id = attachment.attacher.id %] + [% UNLESS user_cache.$attacher_id %] + [% user_cache.$attacher_id = BLOCK %] + [% INCLUDE global/user.html.tmpl who = attachment.attacher %] + [% END %] + [% END %] + [% user_cache.$attacher_id FILTER none %] + </span> + </div> + + [% IF show_attachment_flags %] + <div class="bz_attach_flags"> + [% IF attachment.flags.size == 0 %] + <i>no flags</i> + [% ELSE %] + [% FOREACH flag = attachment.flags %] + [% IF user.id %] + <span title="[% flag.setter.identity FILTER html %]">[% flag.setter.nick FILTER html %]</span>: + [% ELSIF flag.setter.name %] + <span title="[% flag.setter.name FILTER html %]">[% flag.setter.nick FILTER html %]</span>: + [% ELSE %] + [% flag.setter.nick FILTER html %]: + [% END %] + [%+ flag.type.name FILTER html %][% flag.status %] + [%+ IF flag.status == "?" && flag.requestee %] + [% IF user.id %] + (<span title="[% flag.requestee.identity FILTER html %]">[% flag.requestee.nick FILTER html %]</span>) + [% ELSIF flag.requestee.name %] + (<span title="[% flag.requestee.name FILTER html %]">[% flag.requestee.nick FILTER html %]</span>) + [% ELSE %] + ([% flag.requestee.nick FILTER html %]) + [% END %] + [% END %]<br> + [% END %] + [% END %] + </div> + [% END %] + + <div> + <a href="attachment.cgi?id=[% attachment.id %]&action=edit">Details</a> + [% IF attachment.ispatch && feature_enabled('patch_viewer') %] + | <a href="attachment.cgi?id=[% attachment.id %]&action=diff">Diff</a> + [% END %] + [% Hook.process("action") %] + </div> + </li> + [% END %] + [% END %] + </ul> + <div class="panel-footer" style="display:none;"> + <div colspan="[% show_attachment_flags ? 3 : 2 %]"> + [% IF attachments.size %] + <span class="bz_attach_view_hide"> + [% IF obsolete_attachments %] + <a href="#a0" onclick="return toggle_display(this);">Show + Obsolete</a> ([% obsolete_attachments %]) + [% END %] + [% IF Param("allow_attachment_display") %] + <a id="view_all" href="attachment.cgi?bugid= + [%- bugid %]&action=viewall + [%- "&hide_obsolete=1" IF obsolete_attachments %]">View All</a> + [% END %] + </span> + [% END %] + [% IF Param("maxattachmentsize") || Param("maxlocalattachment") %] + <a href="attachment.cgi?bugid=[% bugid %]&action=enter">Add an attachment</a> + (proposed patch, testcase, etc.) + [% END %] + </div> + </div> +</div> +<br> |