diff options
author | Dexter Morgan <dmorgan@mageia.org> | 2010-11-26 14:56:29 +0000 |
---|---|---|
committer | Colin Guthrie <colin@mageia.org> | 2014-09-15 20:44:39 +0100 |
commit | 80fc05854135e575e7811b55f521e8bb9855a2ee (patch) | |
tree | 72b18ca48983a3ebb7fe2f0d658d099f5854f3db /template/en/default/list | |
download | bugzilla-80fc05854135e575e7811b55f521e8bb9855a2ee.tar bugzilla-80fc05854135e575e7811b55f521e8bb9855a2ee.tar.gz bugzilla-80fc05854135e575e7811b55f521e8bb9855a2ee.tar.bz2 bugzilla-80fc05854135e575e7811b55f521e8bb9855a2ee.tar.xz bugzilla-80fc05854135e575e7811b55f521e8bb9855a2ee.zip |
Add custom template with identity support
Diffstat (limited to 'template/en/default/list')
-rw-r--r-- | template/en/default/list/change-columns.html.tmpl | 127 | ||||
-rw-r--r-- | template/en/default/list/edit-multiple.html.tmpl | 424 | ||||
-rw-r--r-- | template/en/default/list/list-simple.html.tmpl | 53 | ||||
-rw-r--r-- | template/en/default/list/list.atom.tmpl | 101 | ||||
-rw-r--r-- | template/en/default/list/list.csv.tmpl | 46 | ||||
-rw-r--r-- | template/en/default/list/list.html.tmpl | 291 | ||||
-rw-r--r-- | template/en/default/list/list.ics.tmpl | 103 | ||||
-rw-r--r-- | template/en/default/list/list.js.tmpl | 37 | ||||
-rw-r--r-- | template/en/default/list/list.rdf.tmpl | 56 | ||||
-rw-r--r-- | template/en/default/list/quips.html.tmpl | 168 | ||||
-rw-r--r-- | template/en/default/list/server-push.html.tmpl | 47 | ||||
-rw-r--r-- | template/en/default/list/table.html.tmpl | 260 |
12 files changed, 1713 insertions, 0 deletions
diff --git a/template/en/default/list/change-columns.html.tmpl b/template/en/default/list/change-columns.html.tmpl new file mode 100644 index 0000000..36cd5db --- /dev/null +++ b/template/en/default/list/change-columns.html.tmpl @@ -0,0 +1,127 @@ +[%# 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): Dave Lawrence <dkl@redhat.com> + # Pascal Held <paheld@gmail.com> + #%] + +[% PROCESS global/variables.none.tmpl %] + +[% PROCESS global/header.html.tmpl + title = "Change Columns" + javascript_urls = "js/change-columns.js" + onload = "initChangeColumns()" +%] + +<p> + Select the columns you wish to appear in your [% terms.bug %] lists. Note that + this feature requires cookies to work. +</p> + +[% PROCESS "global/field-descs.none.tmpl" %] +[% field_descs.short_short_desc = "Summary (first 60 characters)" %] +[% field_descs.short_desc = "Full Summary" %] +[% field_descs.assigned_to_realname = "Assignee Realname" %] +[% field_descs.reporter_realname = "Reporter Realname" %] +[% field_descs.qa_contact_realname = "QA Contact Realname" %] + +<form name="changecolumns" action="colchange.cgi" onsubmit="change_submit();"> + <input type="hidden" name="rememberedquery" value="[% buffer FILTER html %]"> + <table> + <tr> + <th><div id="avail_header" class="bz_default_hidden">Available Columns</div></th> + <th></th> + <th>Selected Columns</th> + <th></th> + </tr> + <tr> + <td> + <select name="available_columns" id="available_columns" + size="15" multiple="multiple" onchange="updateView();" + class="bz_default_hidden"> + </select> + </td> + <td> + <input class="image_button bz_default_hidden" type="button" + id="select_button" name="select" onclick="move_select()"> + <br><br> + <input class="image_button bz_default_hidden" type="button" + id="deselect_button" name="deselect" onclick="move_deselect()"> + </td> + <td> + <select name="selected_columns" id="selected_columns" + size="15" multiple="multiple" onchange="updateView();"> + [% FOREACH column = collist %] + <option value="[% column FILTER html %]" selected="selected"> + [% (field_descs.${column} || column) FILTER html %] + </option> + [% END %] + [% FOREACH column = masterlist %] + [% IF lsearch(collist, column) == -1 %] + <option value="[% column FILTER html %]"> + [% (field_descs.${column} || column) FILTER html %] + </option> + [% END %] + [% END %] + </select> + </td> + <td> + <input class="image_button bz_default_hidden" type="button" + id="up_button" name="up" onclick="move_up()"> + <br><br> + <input class="image_button bz_default_hidden" type="button" + id="down_button" name="down" onclick="move_down()"> + </td> + </tr> + </table> + + <p> + <input id="nosplitheader" type="radio" name="splitheader" value="0" + [%+ "checked='checked'" IF NOT splitheader %]> + <label for="nosplitheader"> + Normal headers (prettier) + </label> + <br> + + <input id="splitheader" type="radio" name="splitheader" value="1" + [%+ "checked='checked'" IF splitheader %]> + <label for="splitheader"> + Stagger headers (often makes list more compact) + </label> + </p> + + [% IF saved_search %] + <p> + <input type="hidden" name="saved_search" + value="[% saved_search.id FILTER html%]" > + <input type="checkbox" id="save_columns_for_search" checked="checked" + name="save_columns_for_search" value="1"> + <label for="save_columns_for_search">Save this column list only + for search '[% saved_search.name FILTER html %]'</label> + </p> + [% END %] + + <p> + <input type="submit" id="change" value="Change Columns"> + </p> + + <input type="submit" id="resetit" name="resetit" + value="Reset to [% terms.Bugzilla %] default"> +</form> + +[% PROCESS global/footer.html.tmpl %] + diff --git a/template/en/default/list/edit-multiple.html.tmpl b/template/en/default/list/edit-multiple.html.tmpl new file mode 100644 index 0000000..75f2f83 --- /dev/null +++ b/template/en/default/list/edit-multiple.html.tmpl @@ -0,0 +1,424 @@ +[%# 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): Myk Melez <myk@mozilla.org> + # Max Kanat-Alexander <mkanat@bugzilla.org> + # Frédéric Buclin <LpSolit@gmail.com> + # Guy Pyrzak <guy.pyrzak@gmail.com> + #%] + +[% PROCESS global/variables.none.tmpl %] + +[% dontchange = "--do_not_change--" %] +<input type="hidden" name="dontchange" value="[% dontchange FILTER html %]"> +<input type="hidden" name="token" value="[% token FILTER html %]"> + +<script type="text/javascript"> + function SetCheckboxes(value) { + var elements = document.forms.changeform.getElementsByTagName('input'), + numelements = elements.length, + item, i; + for (i = 0; i < numelements; i++) { + item = elements[i]; + if (item.type === 'checkbox' && item.name.match(/^id_/)) { + item.checked = value; + } + } + } + document.write(' <input type="button" name="uncheck_all" value="Uncheck All" onclick="SetCheckboxes(false);">'); + document.write(' <input type="button" name="check_all" value="Check All" onclick="SetCheckboxes(true);">'); +</script> + +<hr> + +<p style="font-size:smaller"> + To change multiple [% terms.bugs %]:</p> +<ol style="font-size:smaller"> + <li>Check the [% terms.bugs %] you want to change above.</li> + <li>Make your changes in the form fields below. If the change + you are making requires an explanation, include it in + the comments box.</li> + <li>Click the <em>Commit</em> button.</li> +</ol> + +<table id="form"> + <tr> + + <th><label for="product">Product:</label></th> + <td> + [% PROCESS selectmenu menuname = "product" + menuitems = products + property = "name" %] + </td> + + <th><label for="version">Version:</label></th> + <td> + [% PROCESS selectmenu menuname = "version" + menuitems = versions + property = "" %] + </td> + + </tr> + <tr> + + <th><label for="component">Component:</label></th> + <td> + [% PROCESS selectmenu menuname = "component" + menuitems = components %] + </td> + + <th> + <label for="priority"> + <a href="page.cgi?id=fields.html#priority">Priority</a>: + </label> + </th> + <td> + [% PROCESS selectmenu menuname = "priority" + menuitems = priorities %] + </td> + + </tr> + <tr> + + <th> + <label for="rep_platform"> + <a href="page.cgi?id=fields.html#rep_platform">Platform</a>: + </label> + </th> + <td> + [% PROCESS selectmenu menuname = "rep_platform" + menuitems = platforms %] + </td> + + <th> + <label for="bug_severity"> + <a href="page.cgi?id=fields.html#bug_severity">Severity</a>: + </label> + </th> + <td> + [% PROCESS selectmenu menuname = "bug_severity" + menuitems = severities %] + </td> + + </tr> + + <tr> + <th> + <label for="op_sys"> + <a href="page.cgi?id=fields.html#op_sys">OS</a>: + </label> + </th> + <td [% " colspan=\"3\"" IF !Param("usetargetmilestone") %]> + [% PROCESS selectmenu menuname = "op_sys" + menuitems = op_sys %] + </td> + + [% IF Param("usetargetmilestone") %] + <th><label for="target_milestone">Target Milestone:</label></th> + <td> + [% PROCESS selectmenu menuname = "target_milestone" + menuitems = targetmilestones %] + </td> + [% END %] + </tr> + + <tr> + <th><label for="bug_status">Status:</label></th> + <td colspan="3">[% PROCESS status_section %]</td> + </tr> + [% IF user.is_timetracker %] + <tr> + <th><label for="estimated_time">Estimated Hours:</label></th> + <td> + <input id="estimated_time" + name="estimated_time" + value="[% dontchange FILTER html %]" + size="6"> + </td> + <th><label for="deadline">Deadline (YYYY-MM-DD):</label></th> + <td> + <input id="deadline" + name="deadline" + value="[% dontchange FILTER html %]" + size="10"> + </td> + </tr> + <tr> + <th><label for="remaining_time">Remaining Hours:</label></th> + <td> + <input id="remaining_time" + name="remaining_time" + value="[% dontchange FILTER html %]" + size="6"> + </td> + <th> </th> + <td> </td> + </tr> + [% END %] + + <tr> + <th><label for="assigned_to">Assignee:</label></th> + <td colspan="3"> + [% INCLUDE global/userselect.html.tmpl + id => "assigned_to" + name => "assigned_to" + value => dontchange + size => 32 + %] + <input type="checkbox" id="set_default_assignee" name="set_default_assignee" value="1"> + <label for="set_default_assignee">Reset Assignee to default</label> + </td> + </tr> + + [% IF Param("useqacontact") %] + <tr> + <th><label for="qa_contact">QA Contact:</label></th> + <td colspan="3"> + [% INCLUDE global/userselect.html.tmpl + id => "qa_contact" + name => "qa_contact" + value => dontchange + size => 32 + %] + <input type="checkbox" id="set_default_qa_contact" name="set_default_qa_contact" value="1"> + <label for="set_default_qa_contact">Reset QA Contact to default</label> + </td> + </tr> + [% END %] + + <tr> + + <th><label for="masscc">CC List:</label></th> + <td colspan="3"> + <input id="masscc" name="masscc" size="32"> + <select name="ccaction"> + <option value="add">Add these to the CC List</option> + <option value="remove">Remove these from the CC List</option> + </select> + </td> + + </tr> + + [% IF use_keywords %] + <tr> + + <th> + <label for="keywords"> + <a href="describekeywords.cgi">Keywords</a>: + </label> + </th> + <td colspan="3"> + <input id="keywords" name="keywords" size="32"> + <select name="keywordaction"> + <option value="add">Add these keywords</option> + <option value="delete">Delete these keywords</option> + <option value="makeexact">Make the keywords be exactly this list</option> + </select> + </td> + + </tr> + [% END %] + + <tr> + <th> + <label for="dependson"> + Depends On: + </label> + </th> + <td colspan="3"> + <input id="dependson" name="dependson" size="32"> + <select name="dependson_action"> + <option value="add">Add these IDs</option> + <option value="remove">Delete these IDs</option> + </select> + </td> + </tr> + + <tr> + <th> + <label for="blocked"> + Blocks: + </label> + </th> + <td colspan="3"> + <input id="blocked" name="blocked" size="32"> + <select name="blocked_action"> + <option value="add">Add these IDs</option> + <option value="remove">Delete these IDs</option> + </select> + </td> + </tr> + + [% IF Param('usestatuswhiteboard') %] + <tr> + <td align="right"> + <b>Status Whiteboard:</b> + </td> + <td colspan="7"> + <input name="status_whiteboard" + value="[% dontchange FILTER html %]" size="60"> + </td> + </tr> + [% END %] + + [% USE Bugzilla %] + [% FOREACH field = Bugzilla.active_custom_fields %] + <tr> + [% PROCESS bug/field.html.tmpl value = dontchange + editable = 1 + allow_dont_change = 1 %] + </tr> + [% END %] + + [% Hook.process("after_custom_fields") %] + +</table> + +<b><label for="comment">Additional Comments:</label></b> +[% IF user.is_insider %] + <input type="checkbox" name="commentprivacy" value="1" + id="newcommentprivacy" + onClick="updateCommentTagControl(this, form)"/> + <label for="newcommentprivacy"> + Make comment private (visible only to members of the + <strong>[% Param('insidergroup') FILTER html %]</strong> group) + </label> +[% END %] +<br> +[% INCLUDE global/textarea.html.tmpl + name = 'comment' + id = 'comment' + minrows = 5 + maxrows = 25 + cols = constants.COMMENT_COLS +%]<br> + +[% Hook.process('before_groups') %] + +[% IF groups.size > 0 %] + + <b>Groups:</b><br> + <table border="1"> + <tr> + <th>Don't<br>change<br>this group<br>restriction</th> + <th>Remove<br>[% terms.bugs %]<br>from this<br>group</th> + <th>Add<br>[% terms.bugs %]<br>to this<br>group</th> + <th>Group Name:</th> + </tr> + + [% FOREACH group = groups %] + <tr> + <td align="center"> + <input type="radio" name="bit-[% group.id %]" value="-1" checked="checked"> + </td> + <td align="center"> + <input type="radio" name="bit-[% group.id %]" value="0"> + </td> + [% IF group.is_active %] + <td align="center"> + <input type="radio" name="bit-[% group.id %]" value="1"> + </td> + [% ELSE %] + <td> </td> + [% foundinactive = 1 %] + [% END %] + + <td> + [% SET inactive = !group.is_active %] + [% group.description FILTER html_light FILTER inactive(inactive) %] + </td> + + </tr> + [% END %] + + </table> + + [% IF foundinactive %] + <p style="font-size:smaller">(Note: [% terms.Bugs %] may not be added to [% FILTER inactive %]inactive + groups[% END %], only removed.)</p> + [% END %] + +[% END %] +<input type="submit" id="commit" value="Commit"> + +[% IF Param('move-enabled') && user.is_mover %] + <input type="submit" name="action" id="action" value="[% Param('move-button-text') %]"> +[% END %] + +[%############################################################################%] +[%# Select Menu Block #%] +[%############################################################################%] + +[% BLOCK selectmenu %] + <select id="[% menuname %]" name="[% menuname %]"> + <option value="[% dontchange FILTER html %]" selected="selected"> + [% dontchange FILTER html %] + </option> + [% FOREACH menuitem = menuitems %] + [% IF property %][% menuitem = menuitem.$property %][% END %] + <option value="[% menuitem FILTER html %]">[% display_value(menuname, menuitem) FILTER html %]</option> + [% END %] + </select> +[% END %] + +[%############################################################################%] +[%# Status Block #%] +[%############################################################################%] + +[% BLOCK status_section %] + [% all_open_bugs = !current_bug_statuses.containsany(closedstates) %] + [% all_closed_bugs = !current_bug_statuses.containsany(openstates) %] + [% closed_status_array = [] %] + + <select name="bug_status" id="bug_status"> + <option value="[% dontchange FILTER html %]" selected="selected">[% dontchange FILTER html %]</option> + + [% FOREACH bug_status = new_bug_statuses %] + <option value="[% bug_status.name FILTER html %]"> + [% display_value("bug_status", bug_status.name) FILTER html %] + </option> + [% IF !bug_status.is_open %] + [% filtered_status = bug_status.name FILTER js %] + [% closed_status_array.push( filtered_status ) %] + [% END %] + [% END %] + + [%# If all the bugs being changed are closed, allow the user to change their resolution. %] + [% IF all_closed_bugs %] + [% filtered_status = dontchange FILTER js %] + [% closed_status_array.push( filtered_status ) %] + [% END %] + </select> + + <span id="resolution_settings"> + <select id="resolution" name="resolution"> + <option value="[% dontchange FILTER html %]" selected >[% dontchange FILTER html %]</option> + [% FOREACH r = resolutions %] + [% NEXT IF !r %] + [% NEXT IF r == "DUPLICATE" || r == "MOVED" %] + <option value="[% r FILTER html %]">[% display_value("resolution", r) FILTER html %]</option> + [% END %] + </select> + </span> + + <script type="text/javascript"> + var close_status_array = new Array("[% closed_status_array.join('", "') FILTER none %]"); + YAHOO.util.Event.addListener('bug_status', "change", showHideStatusItems, '[% "is_duplicate" IF bug.dup_id %]'); + YAHOO.util.Event.onDOMReady( showHideStatusItems ); + </script> + +[% END %] diff --git a/template/en/default/list/list-simple.html.tmpl b/template/en/default/list/list-simple.html.tmpl new file mode 100644 index 0000000..125a164 --- /dev/null +++ b/template/en/default/list/list-simple.html.tmpl @@ -0,0 +1,53 @@ +[%# 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): Myk Melez <myk@mozilla.org> + #%] + +[%# INTERFACE: + # title: string. The title for this page. (optional) + #%] + +[% PROCESS global/variables.none.tmpl %] + +[%############################################################################%] +[%# Initialization #%] +[%############################################################################%] + +[% DEFAULT title = "$terms.Bug List" %] + +[%############################################################################%] +[%# Bug Table #%] +[%############################################################################%] + +<html> + + <head> + <title>[% title FILTER html %]</title> + <base href="[% urlbase FILTER html %]"> + <link href="skins/standard/buglist.css" rel="stylesheet" type="text/css"> + </head> + + <body> + [% IF bugs.size == 0 %] + <h3>[% terms.zeroSearchResults %].</h3> + [% ELSE %] + [% PROCESS list/table.html.tmpl %] + [% END %] + </body> + +</html> diff --git a/template/en/default/list/list.atom.tmpl b/template/en/default/list/list.atom.tmpl new file mode 100644 index 0000000..ed0c660 --- /dev/null +++ b/template/en/default/list/list.atom.tmpl @@ -0,0 +1,101 @@ +[%# 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): Walter Hoehn <wassa@columbia.edu> + # John Belmonte <john@neggie.net> + # Jason Remillard <jremillardshop@letterboxes.org> + # Phil Ringnalda <bugzilla@philringnalda.com> + # + # This is a template for generating an Atom representation of a buglist. + #%] + +[% PROCESS "global/field-descs.none.tmpl" %] + +[% DEFAULT title = "$terms.Bugzilla $terms.Bugs" %] + +<?xml version="1.0"[% IF Param('utf8') %] encoding="UTF-8"[% END %]?> +<feed xmlns="http://www.w3.org/2005/Atom"> + <title>[% title FILTER xml %]</title> + <link rel="alternate" type="text/html" + href="[% urlbase FILTER html %]buglist.cgi? + [%- urlquerypart.replace('ctype=atom[&]?','') FILTER xml %]"/> + <link rel="self" type="application/atom+xml" + href="[% urlbase FILTER html %]buglist.cgi? + [%- urlquerypart FILTER xml %]"/> + <updated>[% bugs.sort('changedtime').last.changedtime FILTER time("%Y-%m-%dT%H:%M:%SZ", "UTC") + FILTER xml %]</updated> + <id>[% urlbase FILTER html %]buglist.cgi?[% urlquerypart FILTER xml %]</id> + + [% FOREACH bug = bugs %] + <entry> + <title>[% "@" IF bug.secure_mode %][[% terms.Bug %] [%+ bug.bug_id FILTER xml %]] [% bug.short_desc FILTER xml %]</title> + <link rel="alternate" type="text/html" + href="[% urlbase FILTER html %]show_bug.cgi?id= + [%- bug.bug_id FILTER xml %]"/> + <id>[% urlbase FILTER xml %]show_bug.cgi?id=[% bug.bug_id FILTER xml %]</id> + <author> + <name>[% bug.reporter_realname ? bug.reporter_realname : bug.reporter FILTER xml %]</name> + </author> + <updated>[% bug.changedtime FILTER time("%Y-%m-%dT%H:%M:%SZ", "UTC") FILTER xml %]</updated> + <summary type="html"> + [%# Filter out the entire block, so that we don't need to escape the html code out %] + [% FILTER xml %] + <table> + <tr> + <th>Field</th><th>Value</th> + </tr><tr class="bz_feed_product"> + <td>[% columns.product.title FILTER html %]</td> + <td>[% bug.product FILTER html %]</td> + </tr><tr class="bz_feed_component"> + <td>[% columns.component.title FILTER html %]</td> + <td>[% bug.component FILTER html %]</td> + </tr><tr class="bz_feed_assignee"> + <td>[% columns.assigned_to_realname.title FILTER html %]</td> + <td>[% bug.assigned_to_realname ? bug.assigned_to_realname : bug.assigned_to FILTER html %]</td> + </tr><tr class="bz_feed_reporter"> + <td>[% columns.reporter_realname.title FILTER html %]</td> + <td>[% bug.reporter_realname ? bug.reporter_realname : bug.reporter FILTER html %]</td> + </tr><tr class="bz_feed_bug_status"> + <td>[% columns.bug_status.title FILTER html %]</td> + <td>[% display_value("bug_status", bug.bug_status) FILTER html %]</td> + </tr><tr class="bz_feed_resolution"> + <td>[% columns.resolution.title FILTER html %] </td> + <td>[% display_value("resolution", bug.resolution) FILTER html %]</td> + </tr><tr class="bz_feed_priority"> + <td>[% columns.priority.title FILTER html %]</td> + <td>[% display_value("priority", bug.priority) FILTER html %]</td> + </tr><tr class="bz_feed_severity"> + <td>[% columns.bug_severity.title FILTER html %] </td> + <td>[% display_value("bug_severity", bug.bug_severity) FILTER html %]</td> + [% IF Param("usetargetmilestone") %] + </tr><tr class="bz_feed_target_milestone"> + <td>[% columns.target_milestone.title FILTER html %]</td> + <td>[% bug.target_milestone FILTER html %]</td> + [% END %] + </tr><tr class="bz_feed_creation_date"> + <td>[% columns.opendate.title FILTER html %]</td> + <td>[% bug.opendate FILTER html %]</td> + </tr><tr class="bz_feed_changed_date"> + <td>[% columns.changeddate.title FILTER html %]</td> + <td>[% bug.changeddate FILTER html -%]</td> + </tr> + </table> + [% END %] + </summary> + </entry> + [% END %] +</feed> diff --git a/template/en/default/list/list.csv.tmpl b/template/en/default/list/list.csv.tmpl new file mode 100644 index 0000000..6114d6f --- /dev/null +++ b/template/en/default/list/list.csv.tmpl @@ -0,0 +1,46 @@ +[%# 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): Myk Melez <myk@mozilla.org> + # Gervase Markham <gerv@gerv.net> + #%] + +[% PROCESS "global/field-descs.none.tmpl" %] + +[% colsepchar = user.settings.csv_colsepchar.value %] + +bug_id +[% FOREACH column = displaycolumns %] + [% colsepchar %][% column FILTER csv %] +[% END %] + +[% FOREACH bug = bugs %] + [% bug.bug_id %] + [% FOREACH column = displaycolumns %] + [% colsepchar %] + [% IF column == "opendate" OR column == "changeddate" %] + [% rawcolumn = column.replace("date", "time") %] + [% bug.$column = bug.$rawcolumn FILTER time("%Y-%m-%d %H:%M:%S") %] + [% ELSIF column == 'bug_status' %] + [% bug.$column = display_value("bug_status", bug.$column) %] + [% ELSIF column == 'resolution' %] + [%- bug.$column = display_value("resolution", bug.$column) %] + [% END %] + [% bug.$column FILTER csv %] + [% END %] + +[% END %] diff --git a/template/en/default/list/list.html.tmpl b/template/en/default/list/list.html.tmpl new file mode 100644 index 0000000..941b34a --- /dev/null +++ b/template/en/default/list/list.html.tmpl @@ -0,0 +1,291 @@ +[%# 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): Myk Melez <myk@mozilla.org> + #%] + +[%# INTERFACE: + # searchtype: string. Type of search - either "series", "saved" or undef. + # ... + # defaultsavename: string. The default name for saving the query. + #%] + +[%############################################################################%] +[%# Template Initialization #%] +[%############################################################################%] + +[% PROCESS "global/field-descs.none.tmpl" %] + +[% title = "$terms.Bug List" %] +[% IF searchname || defaultsavename %] + [% title = title _ ": " _ (searchname OR defaultsavename) FILTER html %] +[% END %] + +[% qorder = order FILTER url_quote IF order %] + + +[%############################################################################%] +[%# Page Header #%] +[%############################################################################%] + +[% PROCESS global/header.html.tmpl + title = title + style = style + atomlink = "buglist.cgi?$urlquerypart&title=$title&ctype=atom" + javascript_urls = [ "js/util.js", "js/field.js", "js/yui/calendar.js" ] + style_urls = [ "skins/standard/buglist.css", "skins/standard/yui/calendar.css" ] + doc_section = "query.html#list" +%] + +<div class="bz_query_head" align="center"> + <span class="bz_query_timestamp"> + <b>[% currenttime FILTER time('%a %b %e %Y %T %Z') FILTER html %]</b><br> + </span> + + [% IF debug %] + <p class="bz_query">[% query FILTER html %]</p> + [% IF query_explain.defined %] + <pre class="bz_query_explain">[% query_explain FILTER html %]</pre> + [% END %] + [% END %] + + [% IF user.settings.display_quips.value == 'on' %] + [% DEFAULT quip = "$terms.Bugzilla would like to put a random quip here, but no one has entered any." %] + <span class="bz_quip"> + <a href="quips.cgi"><i>[% quip FILTER html %]</i></a> + </span> + [% END %] + +</div> + +[% IF toolong %] + <h2 class="bz_smallminded"> + This list is too long for [% terms.Bugzilla %]'s little mind; the + Next/Prev/First/Last buttons won't appear on individual [% terms.bugs %]. + </h2> +[% END %] + +[% SET shown_types = [ + 'notequals', 'regexp', 'notregexp', 'lessthan', 'lessthaneq', + 'greaterthan', 'greaterthaneq', 'changedbefore', 'changedafter', + 'changedfrom', 'changedto', 'changedby', 'notsubstring', 'nowords', + 'nowordssubstr', 'notmatches', +] %] +<ul class="search_description"> +[% FOREACH desc_item = search_description %] + <li> + <strong>[% field_descs.${desc_item.field} FILTER html %]:</strong> + [% IF shown_types.contains(desc_item.type) || debug %] + ([% search_descs.${desc_item.type} FILTER html %]) + [% END %] + [% FOREACH val IN desc_item.value.split(',') %] + [%+ display_value(desc_item.field, val) FILTER html %][% ',' UNLESS loop.last %] + [% END %] + [% IF debug %] + (<code>[% desc_item.term FILTER html %]</code>) + [% END %] + </li> +[% END %] +</ul> + +<hr> + +[%############################################################################%] +[%# Preceding Status Line #%] +[%############################################################################%] + +[% IF bugs.size > 9 %] + <span class="bz_result_count"> + [% bugs.size %] [%+ terms.bugs %] found. + </span> +[% END %] + +[%############################################################################%] +[%# Start of Change Form #%] +[%############################################################################%] + +[% IF dotweak %] + <form name="changeform" method="post" action="process_bug.cgi"> +[% END %] + +[%############################################################################%] +[%# Bug Table #%] +[%############################################################################%] + +[% FLUSH %] +[% PROCESS list/table.html.tmpl %] + +[%############################################################################%] +[%# Succeeding Status Line #%] +[%############################################################################%] + +<span class="bz_result_count"> + [% IF bugs.size == 0 %] + <span class="zero_results">[% terms.zeroSearchResults %].</span> + [% ELSIF bugs.size == 1 %] + One [% terms.bug %] found. + [% ELSE %] + [% bugs.size %] [%+ terms.bugs %] found. + [% END %] +</span> + +[% IF bugs.size == 0 %] + <ul class="zero_result_links"> + <li>[% PROCESS enter_bug_link %]</li> + [% IF one_product.defined %] + <li><a href="enter_bug.cgi">File a new [% terms.bug %] in a + different product</a></li> + [% END %] + <li><a href="[% PROCESS edit_search_url %]">Edit this search</a></li> + <li><a href="query.cgi">Start a new search</a></li> + </ul> +[% END %] + +<br> + +[%############################################################################%] +[%# Rest of Change Form #%] +[%############################################################################%] + +[% IF dotweak %] + [% PROCESS "list/edit-multiple.html.tmpl" %] + </form> + <hr> +[% END %] + +[%############################################################################%] +[%# Navigation Bar #%] +[%############################################################################%] + +<table> + <tr> + [% IF bugs.size > 0 %] + <td valign="middle" class="bz_query_buttons"> + <form method="post" action="show_bug.cgi"> + [% FOREACH id = buglist %] + <input type="hidden" name="id" value="[% id FILTER html %]"> + [% END %] + <input type="hidden" name="format" value="multiple"> + <input type="submit" id="long_format" value="Long Format"> + </form> + <form method="post" action="show_bug.cgi"> + <input type="hidden" name="ctype" value="xml"> + [% FOREACH id = buglist %] + <input type="hidden" name="id" value="[% id FILTER html %]"> + [% END %] + <input type="hidden" name="excludefield" value="attachmentdata"> + <input type="submit" value="XML" id="xml"> + </form> + + [% IF user.is_timetracker %] + <form method="post" action="summarize_time.cgi"> + <input type="hidden" name="id" value="[% buglist_joined FILTER html %]"> + <input type="submit" id="timesummary" value="Time Summary"> + </form> + [% END %] + </td> + + <td> </td> + + <td valign="middle" class="bz_query_links"> + <a href="buglist.cgi? + [% urlquerypart FILTER html %]&ctype=csv">CSV</a> | + <a href="buglist.cgi? + [% urlquerypart FILTER html %]&title= + [%- title FILTER html %]&ctype=atom">Feed</a> | + <a href="buglist.cgi? + [% urlquerypart FILTER html %]&ctype=ics">iCalendar</a> | + <a href="colchange.cgi? + [% urlquerypart FILTER html %]&query_based_on= + [% defaultsavename OR searchname FILTER url_quote %]">Change Columns</a> | + + [% IF bugs.size > 1 && caneditbugs && !dotweak %] + <a href="buglist.cgi?[% urlquerypart FILTER html %] + [%- "&order=$qorder" FILTER html IF order %]&tweak=1" + >Change Several [% terms.Bugs %] at Once</a> + | + [% END %] + + [% IF bugowners && user.id %] + <a href="mailto: + [% bugowners FILTER html %]">Send Mail to [% terms.Bug %] Assignees</a> | + [% END %] + + [%# Links to more things users can do with this bug list. %] + [% Hook.process("links") %] + </td> + [% END %] + + <td valign="middle" class="bz_query_edit"> + <a href="[% PROCESS edit_search_url %]">Edit Search</a> + </td> + + [% IF searchtype == "saved" %] + <td valign="middle" nowrap="nowrap" class="bz_query_forget"> + | + <a href="buglist.cgi?cmdtype=dorem&remaction=forget&namedcmd= + [% searchname FILTER url_quote %]&token= + [% issue_hash_token([search_id, searchname]) FILTER url_quote %]"> + Forget Search '[% searchname FILTER html %]'</a> + </td> + [% ELSE %] + <td> </td> + + <td valign="middle" class="bz_query_remember"> + <form method="get" action="buglist.cgi"> + <input type="submit" id="remember" value="Remember search"> as + <input type="hidden" name="newquery" + value="[% urlquerypart FILTER html %][% "&order=$qorder" FILTER html IF order %]"> + <input type="hidden" name="cmdtype" value="doit"> + <input type="hidden" name="remtype" value="asnamed"> + <input type="text" id="save_newqueryname" name="newqueryname" size="20" + value="[% defaultsavename FILTER html %]"> + </form> + </td> + [% END %] + </tr> +</table> + +[% IF one_product.defined && bugs.size %] + <p class="bz_query_single_product"> + [% PROCESS enter_bug_link %] + </p> +[% END %] + +[%############################################################################%] +[%# Page Footer #%] +[%############################################################################%] + +[% PROCESS global/footer.html.tmpl %] + +[% BLOCK edit_search_url %] + [% editqueryname = searchname OR defaultsavename OR '' %] + query.cgi?[% urlquerypart FILTER html %] + [%- IF editqueryname != '' %]&known_name= + [%- editqueryname FILTER url_quote %] + [% END %] +[% END %] + +[% BLOCK enter_bug_link %] + <a href="enter_bug.cgi + [%- IF one_product.defined %]?product= + [%- one_product.name FILTER url_quote %][% END %]">File + a new [% terms.bug %] + [% IF one_product.defined %] + in the "[% one_product.name FILTER html %]" product + [% END %]</a> +[% END %] diff --git a/template/en/default/list/list.ics.tmpl b/template/en/default/list/list.ics.tmpl new file mode 100644 index 0000000..3f9e2b8 --- /dev/null +++ b/template/en/default/list/list.ics.tmpl @@ -0,0 +1,103 @@ +[%# 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): William Jon McCann <mccann@jhu.edu> + #%] +[% PROCESS global/variables.none.tmpl %] +BEGIN:VCALENDAR +CALSCALE:GREGORIAN +[%+ PROCESS ics_prodid +%] +VERSION:2.0 +[% FOREACH bug = bugs %] +BEGIN:VTODO +[%+ PROCESS ics_dtstart +%] +[%+ PROCESS ics_summary +%] +[%+ PROCESS ics_uid base_url=urlbase bug_id=bug.bug_id +%] +[%+ PROCESS ics_url base_url=urlbase bug_id=bug.bug_id +%] +[%+ PROCESS ics_status bug_status = bug.bug_status +%] +[%+ PROCESS ics_dtstamp +%] +[%+ ics_priorities.${bug.priority} FILTER ics('PRIORITY') +%] +[% IF bug.changeddate %] +[%+ bug.changedtime FILTER time("%Y%m%dT%H%M%SZ", "UTC") FILTER ics('LAST-MODIFIED') +%] +[% END %] +[% IF bug.percentage_complete %] +[%+ bug.percentage_complete FILTER format('%d') FILTER ics('PERCENT-COMPLETE') +%] +[% END %] +[% IF bug.product %] +[%+ bug.product FILTER ics('X-BUGZILLA-PRODUCT') +%] +[% END %] +[% IF bug.component %] +[%+ bug.component FILTER ics('X-BUGZILLA-COMPONENT') +%] +[% END %] +[% IF bug.version %] +[%+ bug.version FILTER ics('X-BUGZILLA-VERSION') +%] +[% END %] +[% IF bug.keywords %] +[%+ bug.keywords FILTER ics('X-BUGZILLA-KEYWORDS') +%] +[% END %] +END:VTODO +[% END %] +END:VCALENDAR + +[% BLOCK ics_prodid %] + [% "-//Mozilla/Bugzilla $constants.BUGZILLA_VERSION//EN" FILTER ics('PRODID') %] +[% END %] + +[% BLOCK ics_uid %] + [% "${bug_id}@${base_url}" FILTER url_quote FILTER ics('UID') %] +[% END %] + +[% BLOCK ics_url %] + [% "${base_url}show_bug.cgi?id=${bug_id}" FILTER url_quote FILTER ics('URL;VALUE=URI') %] +[% END %] + +[% BLOCK ics_dtstart %] + [% bug.opentime FILTER time("%Y%m%dT%H%M%SZ", "UTC") FILTER ics('DTSTART') %] +[% END %] + +[% BLOCK ics_dtstamp %] + [% currenttime FILTER time("%Y%m%dT%H%M%SZ", "UTC") FILTER ics('DTSTAMP') %] +[% END %] + +[% BLOCK ics_status %] + [% status = "" %] + [% FOREACH state = closedstates %] + [% IF bug_status == state %] + [% status = 'COMPLETED' %] + [% LAST %] + [% END %] + [% END %] + [% IF NOT status %] + [% IF bug_status == 'ASSIGNED' %] + [% status = 'IN-PROGRESS' %] + [% ELSE %] + [% status = 'NEEDS-ACTION' %] + [% END %] + [% END %] + [% status FILTER ics('STATUS') %] +[% END %] + +[% BLOCK ics_summary %] + [% IF bug.short_desc %] + [% summary = bug.short_desc %] + [% ELSIF bug.short_short_desc %] + [% summary = bug.short_short_desc %] + [% ELSE %] + [% summary = "$terms.Bug $bug.bug_id" %] + [% END %] + [% summary FILTER ics('SUMMARY') %] +[% END %] diff --git a/template/en/default/list/list.js.tmpl b/template/en/default/list/list.js.tmpl new file mode 100644 index 0000000..7e9664c --- /dev/null +++ b/template/en/default/list/list.js.tmpl @@ -0,0 +1,37 @@ +[%# 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> + #%] + +// Note: only publicly-accessible bugs (those not in any group) will be +// listed when using this JavaScript format. This is to prevent malicious +// sites stealing information about secure bugs. + +bugs = new Array; + +[% FOREACH bug = bugs %] + bugs[[% bug.bug_id %]] = [ + [% FOREACH column = displaycolumns %] + "[%- bug.$column FILTER js -%]"[% "," UNLESS loop.last %] + [% END %] + ]; +[% END %] + +if (window.buglistCallback) { + buglistCallback(bugs); +} diff --git a/template/en/default/list/list.rdf.tmpl b/template/en/default/list/list.rdf.tmpl new file mode 100644 index 0000000..99c06c1 --- /dev/null +++ b/template/en/default/list/list.rdf.tmpl @@ -0,0 +1,56 @@ +[%# 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): Myk Melez <myk@mozilla.org> + #%] + +<?xml version="1.0"[% IF Param('utf8') %] encoding="UTF-8"[% END %]?> +<!-- [% template_version %] --> +<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:bz="http://www.bugzilla.org/rdf#" + xmlns:nc="http://home.netscape.com/NC-rdf#"> + +<bz:result rdf:about="[% urlbase FILTER xml %]buglist.cgi?[% urlquerypart FILTER html %]"> + <bz:installation rdf:resource="[% urlbase FILTER xml %]" /> + <bz:query_timestamp>[% currenttime FILTER time('%Y-%m-%d %T %Z') FILTER html %]</bz:query_timestamp> + <bz:bugs> + <Seq> + [% FOREACH bug = bugs %] + <li> + + <bz:bug rdf:about="[% urlbase FILTER xml %]show_bug.cgi?id=[% bug.bug_id %]"> + + <bz:id nc:parseType="Integer">[% bug.bug_id %]</bz:id> + + [% FOREACH column = displaycolumns %] + <bz:[% column %][% ' nc:parseType="Integer"' IF column == "votes" %]>[% bug.$column FILTER html %]</bz:[% column %]> + [% END %] + + </bz:bug> + + </li> + + [% END %] + + </Seq> + + </bz:bugs> + +</bz:result> + +</RDF> diff --git a/template/en/default/list/quips.html.tmpl b/template/en/default/list/quips.html.tmpl new file mode 100644 index 0000000..1404b2e --- /dev/null +++ b/template/en/default/list/quips.html.tmpl @@ -0,0 +1,168 @@ +[%# 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> + #%] + +[%# INTERFACE: + # added_quip: string. Defined if the CGI added a quip data before + # displaying anything; if defined, its value is that quip. + # show_quips: boolean. True if we are showing the entire quip list. + # quips: list of strings. Defined if and only if show_quips is true. + # List of all quips. + #%] + +[% PROCESS global/variables.none.tmpl %] + +[% PROCESS global/header.html.tmpl + title = "$terms.Bugzilla Quip System" + header = "Add your own clever headline" + %] + +[% IF added_quip %] + <p> + <font color="red"> + Your quip '<tt>[% added_quip FILTER html %]</tt>' has been added. + [% IF Param("quip_list_entry_control") == "moderated" AND !user.in_group('admin') %] + It will be used as soon as it gets approved. + [% END %] + </font> + </p> +[% END %] + +[% IF deleted_quip %] + <p> + <font color="red"> + The quip '<tt>[% deleted_quip FILTER html %]</tt>' has been deleted. + </font> + </p> +[% END %] + +[% IF approved or unapproved %] + <p>[% approved.size %] quips approved and [% unapproved.size %] quips unapproved</p> +[% END %] + + +<p> + [% terms.Bugzilla %] will pick a random quip for the headline on each + [% terms.bug %] list. +</p> + +[% IF Param("quip_list_entry_control") != "closed" %] + <p> + You can extend the quip list. Type in something clever or funny or boring + (but not obscene or offensive, please) and bonk on the button. + [% IF Param("quip_list_entry_control") == "moderated" AND !user.in_group('admin') %] + Note that your quip has to be approved before it is used. + [% END %] + </p> + + <form method="post" action="quips.cgi"> + <input type="hidden" name="action" value="add"> + <input size="80" name="quip"> + <p> + <input type="submit" id="add" value="Add This Quip"> + </p> + </form> +[% ELSE %] + <p>No new entries may be submitted at this time. + </p> +[% END %] + +[% IF show_quips %] + [% IF !user.in_group('admin') %] + <h2> + Existing quips: + </h2> + <ul> + [% FOREACH quipid = quipids %] + [% NEXT IF NOT quips.$quipid.approved %] + <li>[% quips.$quipid.quip FILTER html %]</li> + [% END %] + </ul> + [% ELSE %] + <h2>Edit existing quips:</h2> + <p> + <strong>Note:</strong> Only approved quips will be shown. + If the parameter 'quip_list_entry_control' is set to <q>open</q>, + entered quips are automatically approved. + </p> + <form name="editform" method="post" action="quips.cgi"> + <input type="hidden" name="action" value="approve"> + <table border="1"> + <thead><tr> + <th>Quip</th> + <th>Author</th> + <th>Action</th> + <th>Approved</th> + </tr></thead><tbody> + [% FOREACH quipid = quipids %] + <tr> + <td>[% quips.$quipid.quip FILTER html %]</td> + <td> + [% userid = quips.$quipid.userid %] + [% users.$userid FILTER html %] + [% "Unknown" IF NOT users.$userid %] + </td> + <td> + <a href="quips.cgi?action=delete&quipid=[% quipid FILTER url_quote %]"> + Delete + </a> + </td> + <td> + <input type="hidden" name="defined_quipid_[% quipid FILTER html %]" + id="defined_quipid_[% quipid FILTER html %]" + value="1"> + <input type="checkbox" name="quipid_[% quipid FILTER html %]" + id="quipid_[% quipid FILTER html %]" + [%- ' checked="checked"' IF quips.$quipid.approved %]> + </td> + </tr> + [% END %] + </tbody> + </table> + <script type="text/javascript"><!-- + var numelements = document.forms.editform.elements.length; + function SetCheckboxes(value) { + var item; + for (var i=0 ; i<numelements ; i++) { + item = document.forms.editform.elements[i]; + item.checked = value; + } + } + document.write(' <input type="button" name="uncheck_all" ' + +'value="Uncheck All" onclick="SetCheckboxes(false);">'); + document.write(' <input type="button" name="check_all" ' + +'value="Check All" onclick="SetCheckboxes(true);">'); + //--></script> + + <input type="submit" id="update" value="Save Changes"> + </form> + <br> + [% END %] +[% ELSE %] + <p> + Those who like their wisdom in large doses can + <a href="quips.cgi?action=show">view + [% IF user.in_group('admin') %] + and edit + [% END %] + the whole quip list</a>. + </p> +[% END %] + +[% PROCESS global/footer.html.tmpl %] diff --git a/template/en/default/list/server-push.html.tmpl b/template/en/default/list/server-push.html.tmpl new file mode 100644 index 0000000..d1c157f --- /dev/null +++ b/template/en/default/list/server-push.html.tmpl @@ -0,0 +1,47 @@ +[%# 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): Myk Melez <myk@mozilla.org> + #%] + +[%# INTERFACE: + # debug: boolean. True if we want the search displayed while we wait. + # query: string. The SQL query which makes the buglist. + #%] + +[% PROCESS global/variables.none.tmpl %] + +<html> + <head> + <title>[% terms.Bugzilla %] is pondering your search</title> + </head> + <body> + <h1 style="margin-top: 20%; text-align: center;">Please stand by ...</h1> + + [% IF debug %] + <p> + [% FOREACH debugline = debugdata %] + <code>[% debugline FILTER html %]</code><br> + [% END %] + </p> + <p> + <code>[% query FILTER html %]</code> + </p> + [% END %] + + </body> +</html> diff --git a/template/en/default/list/table.html.tmpl b/template/en/default/list/table.html.tmpl new file mode 100644 index 0000000..282ea51 --- /dev/null +++ b/template/en/default/list/table.html.tmpl @@ -0,0 +1,260 @@ +[%# 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): Myk Melez <myk@mozilla.org> + # Jesse Clark <jjclark1982@gmail.com> + #%] + +[%############################################################################%] +[%# Initialization #%] +[%############################################################################%] + +[%# Don't display the table or do any processing if there are no bugs + # to display %] +[% RETURN IF !bugs.size %] + +[%# Columns whose titles or values should be abbreviated to make the list + # more compact. For columns whose titles should be abbreviated, + # the shortened title is included. For columns whose values should be + # abbreviated, a maximum length is provided along with the ellipsis that + # should be added to an abbreviated value, if any. + # wrap is set if a column's contents should be allowed to be word-wrapped + # by the browser. + #%] + +[% PROCESS "global/field-descs.none.tmpl" %] +[% field_descs.short_short_desc = field_descs.short_desc %] +[% field_descs.assigned_to_realname = field_descs.assigned_to %] +[% field_descs.reporter_realname = field_descs.reporter %] +[% field_descs.qa_contact_realname = field_descs.qa_contact %] + +[% abbrev = + { + "bug_severity" => { maxlength => 3 , title => "Sev" } , + "priority" => { maxlength => 3 , title => "Pri" } , + "rep_platform" => { maxlength => 3 , title => "Plt" } , + "bug_status" => { maxlength => 4 } , + "assigned_to" => { maxlength => 30 , ellipsis => "..." } , + "assigned_to_realname" => { maxlength => 20 , ellipsis => "..." } , + "reporter" => { maxlength => 30 , ellipsis => "..." } , + "reporter_realname" => { maxlength => 20 , ellipsis => "..." } , + "qa_contact" => { maxlength => 30 , ellipsis => "..." , title => "QAContact" } , + "qa_contact_realname" => { maxlength => 20 , ellipsis => "..." , title => "QAContact" } , + "resolution" => { maxlength => 4 } , + "short_desc" => { wrap => 1 } , + "short_short_desc" => { maxlength => 60 , ellipsis => "..." , wrap => 1 } , + "status_whiteboard" => { title => "Whiteboard" , wrap => 1 } , + "keywords" => { wrap => 1 } , + "flagtypes.name" => { wrap => 1 } , + "component" => { maxlength => 8 , title => "Comp" } , + "product" => { maxlength => 8 } , + "version" => { maxlength => 5 , title => "Vers" } , + "op_sys" => { maxlength => 4 } , + "target_milestone" => { title => "TargetM" } , + "percentage_complete" => { format_value => "%d %%" } , + } +%] + +[% PROCESS bug/time.html.tmpl %] + +[%############################################################################%] +[%# Table Header #%] +[%############################################################################%] + +[% tableheader = BLOCK %] + <table class="bz_buglist" cellspacing="0" cellpadding="4" width="100%"> + <tr class="bz_buglist_header bz_first_buglist_header"> + [% IF dotweak %] + <th> </th> + [% END %] + <th colspan="[% splitheader ? 2 : 1 %]" class="first-child"> + <a href="buglist.cgi? + [% urlquerypart FILTER html %]&order= + [% PROCESS new_order id='bug_id' %] + [%-#%]&query_based_on= + [% defaultsavename OR searchname FILTER url_quote %]">ID + [% PROCESS order_arrow id='bug_id' ~%] + </a> + </th> + + [% IF splitheader %] + + [% FOREACH id = displaycolumns %] + [% NEXT UNLESS loop.count() % 2 == 0 %] + [% column = columns.$id %] + [% PROCESS columnheader %] + [% END %] + + </tr><tr class="bz_buglist_header"> + [% IF dotweak %] + <th> </th> + [% END %] + <th> </th> + + [% FOREACH id = displaycolumns %] + [% NEXT IF loop.count() % 2 == 0 %] + [% column = columns.$id %] + [% PROCESS columnheader %] + [% END %] + + [% ELSE %] + + [% FOREACH id = displaycolumns %] + [% column = columns.$id %] + [% PROCESS columnheader %] + [% END %] + + [% END %] + + </tr> +[% END %] + +[% BLOCK columnheader %] + <th colspan="[% splitheader ? 2 : 1 %]"> + <a href="buglist.cgi?[% urlquerypart FILTER html %]&order= + [% PROCESS new_order %] + [%-#%]&query_based_on= + [% defaultsavename OR searchname FILTER url_quote %]"> + [%- abbrev.$id.title || field_descs.$id || column.title -%] + [% PROCESS order_arrow ~%] + </a> + </th> +[% END %] + +[% BLOCK new_order %] + [% desc = '' %] + [% IF (om = order.match("\\b$id( DESC)?")) %] + [% desc = ' DESC' IF NOT om.0 %] + [% END %] + [% id _ desc FILTER url_quote %] + [% IF id != 'bug_id' AND order %] + [% ',' _ order.remove("\\b$id( DESC)?(,\\s*|\$)") FILTER url_quote %] + [% END %] +[% END %] + +[% BLOCK order_arrow %] + [% IF order.match("^$id DESC") %] + <span class="bz_sort_order_primary">▼</span> + [% ELSIF order.match("^$id(,\\s*|\$)") %] + <span class="bz_sort_order_primary">▲</span> + [% ELSIF order.match("\\b$id DESC") %] + <span class="bz_sort_order_secondary">▼</span> + [% ELSIF order.match("\\b$id(,\\s*|\$)") %] + <span class="bz_sort_order_secondary">▲</span> + [% END %] +[% END %] + +[%############################################################################%] +[%# Bug Table #%] +[%############################################################################%] + +[% Hook.process("before_table") %] + +[% tableheader %] + +[% FOREACH bug = bugs %] + [% count = loop.count() %] + + <tr class="bz_bugitem + bz_[% bug.bug_severity FILTER css_class_quote -%] + bz_[% bug.priority FILTER css_class_quote -%] + bz_[% bug.bug_status FILTER css_class_quote -%] + [%+ "bz_$bug.resolution" FILTER css_class_quote IF bug.resolution -%] + [%+ "bz_secure" IF bug.secure_mode -%] + [%+ "bz_secure_mode_$bug.secure_mode" FILTER css_class_quote IF bug.secure_mode -%] + [%+ count % 2 == 1 ? "bz_row_odd" : "bz_row_even" -%] + "> + + [% IF dotweak %] + <td class="bz_checkbox_column"> + <input type="checkbox" name="id_[% bug.bug_id %]"> + </td> + [% END %] + <td class="first-child bz_id_column"> + <a name="b[% bug.bug_id %]" + href="show_bug.cgi?id=[% bug.bug_id %]">[% bug.bug_id %]</a> + <span style="display: none">[%+ '[SEC]' IF bug.secure_mode %]</span> + </td> + + [% FOREACH column = displaycolumns %] + <td [% 'style="white-space: nowrap"' IF NOT abbrev.$column.wrap %] + class="bz_[% column FILTER css_class_quote %]_column"> + [% IF abbrev.$column.maxlength %] + <span title="[%- display_value(column, bug.$column) FILTER html %]"> + [% END %] + [% IF abbrev.$column.format_value %] + [%- bug.$column FILTER format(abbrev.$column.format_value) FILTER html -%] + [% ELSIF column == 'actual_time' || + column == 'remaining_time' || + column == 'estimated_time' %] + [% PROCESS formattimeunit time_unit=bug.$column %] + [%# Display the login name of the user if their real name is empty. %] + [% ELSIF column.match('_realname$') && bug.$column == '' %] + [% SET login_column = column.remove('_realname$') %] + [% bug.${login_column}.truncate(abbrev.$column.maxlength, + abbrev.$column.ellipsis) FILTER html %] + + [% ELSE %] + [%- display_value(column, bug.$column).truncate(abbrev.$column.maxlength, abbrev.$column.ellipsis) FILTER html -%] + [% END %] + [% IF abbrev.$column.maxlength %] + </span> + [% END %] + </td> + [% END %] + + </tr> + + [% IF loop.last() && time_info.time_present == 1 %] + [% PROCESS time_summary_line %] + [% END %] + +[% END %] + +</table> + +[% BLOCK time_summary_line %] + <tr class="bz_time_summary_line"> + [% columns_to_span = 1 %] [%# bugID %] + [% IF dotweak %] + [% columns_to_span = columns_to_span + 1 %] + [% END %] + [% FOREACH column = displaycolumns %] + [% IF column == 'actual_time' || + column == 'remaining_time' || + column == 'estimated_time' || + column == 'percentage_complete' %] + [% IF columns_to_span > 0 %] + <td class="bz_total bz_total_label" colspan=" + [%- columns_to_span FILTER html %]"><b>Totals</b></td> + [% columns_to_span = 0 %] + [% END %] + [% IF column == 'percentage_complete' %] + <td class="bz_total">[% time_info.percentage_complete + FILTER format(abbrev.$column.format_value) FILTER html %]</td> + [% ELSE %] + <td class="bz_total"> + [%- PROCESS formattimeunit time_unit=time_info.$column %]</td> + [% END %] + [% ELSIF columns_to_span == 0 %] [%# A column following the first total %] + <td class="bz_total"> </td> + [% ELSE %] [%# We haven't gotten to a time column yet, keep computing span %] + [% columns_to_span = columns_to_span + 1 %] + [% END %] + [% END %] + </tr> +[% END %] |