[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [websites/bugs-kde-org/kde] /: Various UI changes and CSS style neat picks.
From: Eugene Trounev <eugene.trounev () gmail ! com>
Date: 2012-04-04 2:43:11
Message-ID: 20120404024311.5313DA60B9 () git ! kde ! org
[Download RAW message or body]
Git commit 141156563ae1a0dd6b47e67b38e9a5d90ca6e3ae by Eugene Trounev.
Committed on 04/04/2012 at 04:42.
Pushed by trounev into branch 'kde'.
Various UI changes and CSS style neat picks.
M +1 -1 skins/custom/global.css
M +15 -10 skins/standard/global.css
M +2 -2 skins/standard/show_multiple.css
M +1 -1 template/en/custom/account/auth/login-small.html.tmpl
A +384 -0 template/en/custom/bug/show-multiple.html.tmpl
M +1 -2 template/en/custom/global/choose-product.html.tmpl
M +1 -1 template/en/custom/global/common-links.html.tmpl
M +1 -1 template/en/custom/global/confirm-action.html.tmpl
M +1 -1 template/en/custom/global/confirm-user-match.html.tmpl
M +4 -8 template/en/custom/global/user-error.html.tmpl
M +3 -3 template/en/custom/list/list.html.tmpl
A +267 -0 template/en/custom/request/queue.html.tmpl
http://commits.kde.org/websites/bugs-kde-org/141156563ae1a0dd6b47e67b38e9a5d90ca6e3ae
diff --git a/skins/custom/global.css b/skins/custom/global.css
index f62be81..b85b775 100644
--- a/skins/custom/global.css
+++ b/skins/custom/global.css
@@ -345,7 +345,7 @@ h1 {
}
h2 {
font-size: 1.8em;
- line-height: 100%;
+ line-height: 2.5600000000000005em;
}
h3 {
line-height: 2.4000000000000004em;
diff --git a/skins/standard/global.css b/skins/standard/global.css
index e8336d5..4914b9c 100644
--- a/skins/standard/global.css
+++ b/skins/standard/global.css
@@ -24,19 +24,19 @@
*/
/* global (begin) */
- body {
+/* body {
font-family: sans-serif;
color: #000;
background: #fff url("global/body-back.gif") repeat-x;
- }
+ }*/
body, td, th, input {
- font-family: Verdana, sans-serif;
+/* font-family: Verdana, sans-serif;*/
font-size: small;
}
/* monospace is much smaller than Verdana by default, so we make it a bit \
bigger. */
- pre, code, kbd {
+/* pre, code, kbd {
font-size: medium;
- }
+ }*/
/* global (end) */
/* header (begin) */
@@ -213,7 +213,7 @@
/* tabs (end) */
/* generic (begin) */
- a {
+/* a {
color: #039;
}
@@ -227,7 +227,7 @@
a:active {
color: #000;
- }
+ }*/
.clickable_area {
cursor: pointer;
@@ -251,7 +251,7 @@ div#docslinks {
}
#docslinks h2 {
- margin: 0;
+/* margin: 0;*/
}
/**************************/
@@ -395,7 +395,7 @@ input.requestee {
padding: 0.5em 1em;
}
-dt {
+/*dt {
font-weight: bold;
}
body > dl > dt {
@@ -403,7 +403,7 @@ body > dl > dt {
}
dl dl > dt {
border-top: none;
-}
+}*/
#admin_table th {
white-space: normal !important;
@@ -586,3 +586,8 @@ input.required, select.required, span.required_explanation {
#down_button {
background-image: url(global/down.png);
}
+
+span.separator {
+ color: #CCC;
+ text-shadow: 1px 0px 0px white;
+}
diff --git a/skins/standard/show_multiple.css b/skins/standard/show_multiple.css
index 5087538..655b86a 100644
--- a/skins/standard/show_multiple.css
+++ b/skins/standard/show_multiple.css
@@ -10,9 +10,9 @@ h1 {
/* bugfields is table of all fields and values */
.bugfields {
font-size: small;
- background: #eee;
+/* background: #eee;*/
padding: 5px;
- border: 1px solid silver;
+/* border: 1px solid silver;*/
width: 100%;
}
diff --git a/template/en/custom/account/auth/login-small.html.tmpl \
b/template/en/custom/account/auth/login-small.html.tmpl index 0b58432..fb03649 100644
--- a/template/en/custom/account/auth/login-small.html.tmpl
+++ b/template/en/custom/account/auth/login-small.html.tmpl
@@ -105,7 +105,7 @@
});
}
</script>
- <a href="#" onclick="return hide_mini_login_form('[% qs_suffix \
%]')">[x]</a><br/> + <a href="#" onclick="return hide_mini_login_form('[% \
qs_suffix %]')"><i class="icon-remove"></i></a><br/>
<a id="forgot_link[% qs_suffix %]" href="[% script_name FILTER html %]#forgot"
onclick="return show_forgot_form('[% qs_suffix %]')">Forgot Password</a>
</form>
diff --git a/template/en/custom/bug/show-multiple.html.tmpl \
b/template/en/custom/bug/show-multiple.html.tmpl new file mode 100644
index 0000000..06f7d99
--- /dev/null
+++ b/template/en/custom/bug/show-multiple.html.tmpl
@@ -0,0 +1,384 @@
+[%# 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): Terry Weissman <terry@mozilla.org>
+ # Gervase Markham <gerv@gerv.net>
+ # Toms Baugis <toms@myrealbox.com>
+ # Olav Vitters <olav@bkor.dhs.org>
+ # Max Kanat-Alexander <mkanat@bugzilla.org>
+ # Elliotte Martin <emartin@everythingsolved.com>
+ #%]
+
+[% PROCESS "global/field-descs.none.tmpl" %]
+
+[% PROCESS global/header.html.tmpl
+ title = "Full Text $terms.Bug Listing"
+ h1 = ""
+ style_urls = ["skins/standard/show_multiple.css",
+ "skins/standard/buglist.css"]
+ doc_section = "bug_page.html"
+%]
+[% PROCESS bug/time.html.tmpl %]
+[% IF bugs.first %]
+ [% ids = [] %]
+ [% FOREACH bug = bugs %]
+ [% PROCESS bug_display %]
+ [% ids.push(bug.bug_id) UNLESS bug.error %]
+ [% END %]
+ [% IF ids.size > 1 %]
+ <div class="bz_query_buttons">
+ <form method="post" action="buglist.cgi">
+ <input type="hidden" name="bug_id" value="[% ids.join(",") FILTER html %]">
+ <input type="submit" id="short_format" value="Short Format">
+ </form>
+ </div>
+ [% END %]
+[% ELSE %]
+ <p>
+ You'd have more luck if you gave me some [% terms.bug %] numbers.
+ </p>
+[% END %]
+
+
+[% PROCESS global/footer.html.tmpl %]
+
+
+[%###########################################################################%]
+[%# Block for an individual bug #%]
+[%###########################################################################%]
+
+[% BLOCK bug_display %]
+ <h1>
+ [% terms.Bug %]
+ <a href="show_bug.cgi?id=[% bug.bug_id FILTER html %]">[% bug.bug_id FILTER html \
%]</a> + [% IF Param("usebugaliases") AND bug.alias AND NOT bug.error %]
+ (<a href="show_bug.cgi?id=[% bug.alias FILTER uri %]">
+ [% bug.alias FILTER html %]</a>)
+ [% END %]
+ </h1>
+
+<div class="well">
+ <table class="bugfields">
+ [% IF bug.error %]
+ <tr>
+ <td class="error">
+ [% IF bug.error == "InvalidBugId" %]
+ '[%+ bug.bug_id FILTER html %]' is not a valid [% terms.bug %] number
+ [%- IF Param("usebugaliases") %] nor a known [% terms.bug %] alias[% END \
%]. + [% ELSIF bug.error == "NotPermitted" %]
+ You are not allowed to view this [% terms.bug %].
+ [% ELSIF bug.error == "NotFound" %]
+ This [% terms.bug %] cannot be found.
+ [% ELSE %]
+ [%+ bug.error FILTER html %]
+ [% END %]
+ </td>
+ </tr>
+ [% ELSE %]
+ [%# The rightcell block (also called by the row block) automatically shows
+ # the fields from rightcells %]
+ [% rightcells = ['reporter', 'assigned_to'] %]
+ [% IF Param('useqacontact') %]
+ [% rightcells.push('qa_contact') %]
+ [% END %]
+ [% rightcells.push('') %]
+ [% IF bug.cc %]
+ [% rightcells.push('cc') %]
+ [% END %]
+ [% IF bug.keywords %]
+ [% rightcells.push('keywords') %]
+ [% END %]
+
+ [%# Determine if the bug has a flag %]
+ [% FOREACH type = bug.flag_types %]
+ [% IF type.flags.size %]
+ [% rightcells.push('flags') %]
+ [% LAST %]
+ [% END %]
+ [% END %]
+
+ [% PROCESS row cell = "short_desc" fullrow = 1 %]
+
+ <tr>
+ <th>[% field_descs.product FILTER html %]:</th>
+ <td>
+ [% IF Param("useclassification") && bug.classification_id != 1 %]
+ [[% bug.classification FILTER html %]]
+ [% END %]
+ [% bug.product FILTER html %]
+ </td>
+
+ [% PROCESS rightcell %]
+ </tr>
+
+ [% PROCESS row cell = "component" %]
+
+ <tr>
+ <th>[% field_descs.bug_status FILTER html %]:</th>
+ <td>
+ [% display_value("bug_status", bug.bug_status) FILTER html %]
+ [%+ display_value("resolution", bug.resolution) FILTER html %]
+ </td>
+
+ [% PROCESS rightcell %]
+ </tr>
+
+ <tr>
+ <th>[% field_descs.bug_severity FILTER html %]:</th>
+ <td class="bz_[% bug.bug_severity FILTER css_class_quote -%]">
+ [% display_value("bug_severity", bug.bug_severity) FILTER html %]
+ </td>
+
+ [% PROCESS rightcell %]
+ </tr>
+
+ <tr>
+ <th>[% field_descs.priority FILTER html %]:</th>
+ <td class="bz_[% bug.priority FILTER css_class_quote -%]">
+ [% bug.priority FILTER html %]
+ </td>
+
+ [% PROCESS rightcell %]
+ </tr>
+
+ [% PROCESS row cell = "version" %]
+ [% PROCESS row cell = "target_milestone" IF Param('usetargetmilestone') %]
+ [% PROCESS row cell = "rep_platform" %]
+ [% PROCESS row cell = "op_sys" %]
+
+ [% IF bug.bug_file_loc %]
+ <tr>
+ <th>[% field_descs.bug_file_loc FILTER html %]:</th>
+ <td colspan="3">
+ [% IF is_safe_url(bug.bug_file_loc) %]
+ <a href="[% bug.bug_file_loc FILTER html %]">
+ [% bug.bug_file_loc FILTER html %]</a>
+ [% ELSE %]
+ [% bug.bug_file_loc FILTER html %]
+ [% END %]
+ </td>
+ </tr>
+ [% END %]
+
+ [% IF bug.see_also.size %]
+ <tr>
+ <th>[% field_descs.see_also FILTER html %]:</th>
+ <td colspan="3">
+ [% FOREACH see_also = bug.see_also %]
+ <a href="[% see_also.name FILTER html %]">[% see_also.name FILTER html \
%]</a> + [% "<br>" IF not loop.last() %]
+ [% END %]
+ </td>
+ </tr>
+ [% END %]
+
+ [% IF Param("usestatuswhiteboard") %]
+ [% PROCESS row cell = "status_whiteboard" fullrow = 1 %]
+ [% END %]
+
+ [% USE Bugzilla %]
+ [% field_counter = 0 %]
+ [% FOREACH field = Bugzilla.active_custom_fields %]
+ [% field_counter = field_counter + 1 %]
+ [%# Odd-numbered fields get an opening <tr> %]
+ [% '<tr>' IF field_counter % 2 %]
+ [% PROCESS bug/field.html.tmpl value=bug.${field.name} editable=0 %]
+ [%# Even-numbered fields get a closing <tr> %]
+ [% '</tr>' IF !(field_counter % 2) %]
+ [% IF extra_field_item %]
+ [% field_counter = field_counter + 1 %]
+ [% '<tr>' IF field_counter % 2 %]
+ <th>[% extra_field_item.header FILTER none %]</th>
+ <td>[% extra_field_item.data FILTER none %]</td>
+ [% '</tr>' IF !(field_counter % 2) %]
+ [% END %]
+ [% END %]
+ [%# And we have to finish the row if we ended on an odd number. %]
+ [% '<th></th><td></td></tr>' IF field_counter % 2 %]
+
+ [% IF (bug.dependson.size || bug.blocked.size) %]
+ [% PROCESS dependencies name = "dependson" %]
+ [% PROCESS dependencies name = "blocked" %]
+ [% END %]
+
+ [% IF user.is_timetracker %]
+ <tr>
+ <th>Time tracking:</th>
+ <td colspan="3">
+ <table class="timetracking">
+ <tr>
+ <th>[% field_descs.estimated_time FILTER html %]</th>
+ <th>[% field_descs.actual_time FILTER html %]</th>
+ <th>[% field_descs.work_time FILTER html %]</th>
+ <th>[% field_descs.remaining_time FILTER html %]</th>
+ <th>[% field_descs.percentage_complete FILTER html %]</th>
+ <th>Gain</th>
+ </tr>
+ <tr>
+ <td>
+ [% PROCESS formattimeunit time_unit = bug.estimated_time %]
+ </td>
+ <td>
+ [% PROCESS formattimeunit
+ time_unit=(bug.remaining_time + bug.actual_time) %]
+ </td>
+ <td>[% PROCESS formattimeunit time_unit = bug.actual_time %]</td>
+ <td>
+ [% PROCESS formattimeunit time_unit = bug.remaining_time %]
+ </td>
+ <td>
+ [% PROCESS calculatepercentage act = bug.actual_time
+ rem = bug.remaining_time %]
+ </td>
+ <td>
+ [% PROCESS formattimeunit
+ time_unit=bug.estimated_time -
+ (bug.actual_time + bug.remaining_time) %]
+ </td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ [% PROCESS row cell="deadline" %]
+ [% END %]
+
+ [% IF bug.attachments.size %]
+ <tr>
+ <th>Attachments:</th>
+ <td colspan="3">
+ [% IF bug.show_attachment_flags %]
+ <table>
+ <tr>
+ <th>Description</th>
+ <th>Flags</th>
+ </tr>
+ [% FOREACH attachment = bug.attachments %]
+ <tr>
+ <td>
+ <a href="attachment.cgi?id=[% attachment.id %]">
+ [% attachment.description FILTER html %]
+ </a>[% "<br>" IF not loop.last() %]
+ </td>
+ <td>
+ [% IF attachment.flags.size == 0 %]
+ <i>none</i>
+ [% ELSE %]
+ [% FOREACH flag = attachment.flags %]
+ [% flag.setter.nick FILTER html %]:
+ [%+ flag.type.name FILTER html FILTER no_break %][% \
flag.status %] + [% IF flag.status == "?" && flag.requestee %]
+ ([% flag.requestee.nick FILTER html %])
+ [% END %][% ", " IF not loop.last() %]
+ [% END %]
+ [% END %]
+ </td>
+ </tr>
+ [% END %]
+ </table>
+ [% ELSE %]
+ [% FOREACH attachment = bug.attachments %]
+ <a href="attachment.cgi?id=[% attachment.id %]">
+ [% attachment.description FILTER html %]
+ </a>[% "<br>" IF not loop.last() %]
+ [% END %]
+ [% END %]
+ </td>
+ </tr>
+ [% END %]
+ [% END %]
+
+ [% Hook.process("last_row", "bug/show-multiple.html.tmpl") %]
+
+ </table>
+</div>
+
+ [% PROCESS bug/comments.html.tmpl
+ comments = bug.comments %]
+
+[% END %]
+
+
+[%###########################################################################%]
+[%# Block for standard table rows #%]
+[%###########################################################################%]
+
+[% BLOCK row %]
+ <tr>
+ <th>[% field_descs.${cell} FILTER html %]:</th>
+ <td[% " colspan=3" IF fullrow %]>[% display_value(cell, bug.${cell}) FILTER html \
%]</td> + [% PROCESS rightcell IF !fullrow %]
+ </tr>
+ [% fullrow = 0 %]
+[% END %]
+
+
+[%############################################################################%]
+[%# Block for dependencies #%]
+[%############################################################################%]
+
+[% BLOCK dependencies %]
+ <tr>
+ <th>[% terms.Bug %] [%+ field_descs.${name} FILTER html %]:</th>
+ <td>
+ [% FOREACH depbug = bug.${name} %]
+ [% depbug FILTER bug_link(depbug) FILTER none %][% ", " IF not loop.last() \
%] + [% END %]
+ </td>
+
+ [% PROCESS rightcell %]
+ </tr>
+[% END %]
+
+[%############################################################################%]
+[%# Block for cells shown right of the table #%]
+[%############################################################################%]
+
+[% BLOCK rightcell %]
+ [% IF rightcells %]
+ [% name = rightcells.shift %]
+ [% IF name == "cc" %]
+ <th class="rightcell">[% field_descs.cc FILTER html %]:</th>
+ <td>
+ [% FOREACH c = bug.cc %]
+ [% c FILTER email FILTER html %][% ", " IF not loop.last() %]
+ [% END %]
+ [% ELSIF name == "reporter" || name == "assigned_to"
+ || name == "qa_contact" %]
+ <th class="rightcell">[% field_descs.${name} FILTER html %]:</th>
+ <td>[% bug.${name}.identity FILTER email FILTER html %]</td>
+ [% ELSIF name == "flags" %]
+ <th class="rightcell">Flags:</th>
+ <td>
+ [% FOREACH type = bug.flag_types %]
+ [% FOREACH flag = type.flags %]
+ [% flag.setter.nick FILTER html %]:
+ [%+ flag.type.name FILTER html FILTER no_break %][% flag.status %]
+ [%+ IF flag.status == "?" && flag.requestee %]
+ ([% flag.requestee.nick FILTER html %])
+ [% END %]<br>
+ [% END %]
+ [% END %]
+ </td>
+ [% ELSIF name != "" %]
+ <th class="rightcell">[% field_descs.${name} FILTER html %]:</th>
+ <td>[% display_value(name, bug.${name}) FILTER html %]</td>
+ [% ELSE %]
+ <td> </td>
+ <td> </td>
+ [% END %]
+ [% END %]
+[% END %]
diff --git a/template/en/custom/global/choose-product.html.tmpl \
b/template/en/custom/global/choose-product.html.tmpl index 942f836..1f46725 100644
--- a/template/en/custom/global/choose-product.html.tmpl
+++ b/template/en/custom/global/choose-product.html.tmpl
@@ -41,8 +41,7 @@
[% PROCESS global/header.html.tmpl %]
<h2>[% h2 FILTER html %]</h2>
-
-<table class="table-bordered table-striped">
+<table class="table-striped">
[% FOREACH c = classifications %]
[% IF c.object %]
diff --git a/template/en/custom/global/common-links.html.tmpl \
b/template/en/custom/global/common-links.html.tmpl index 13167dd..b9aae53 100644
--- a/template/en/custom/global/common-links.html.tmpl
+++ b/template/en/custom/global/common-links.html.tmpl
@@ -30,7 +30,7 @@
return false; } return true;">
<input class="txt" type="text" id="quicksearch[% qs_suffix FILTER html %]" \
name="quicksearch" title="Quick Search" value="[% quicksearch FILTER html %]">
- <input class="btn" type="submit" value="Search"
+ <input class="btn btn-primary" type="submit" value="Search"
id="find[% qs_suffix FILTER html %]">
<a href="page.cgi?id=quicksearch.html" title="Quicksearch Help"><i \
class="icon-info-sign icon-blue"></i></a> [%-# Work around FF bug: keep this on one \
line %]</form>
diff --git a/template/en/custom/global/confirm-action.html.tmpl \
b/template/en/custom/global/confirm-action.html.tmpl index 79e5a22..be845f9 100644
--- a/template/en/custom/global/confirm-action.html.tmpl
+++ b/template/en/custom/global/confirm-action.html.tmpl
@@ -55,7 +55,7 @@
[% PROCESS "global/hidden-fields.html.tmpl"
exclude="^(Bugzilla_login|Bugzilla_password|token)$" %]
<input type="hidden" name="token" value="[% token FILTER html %]">
- <input type="submit" id="confirm" value="Yes, Confirm Changes">
+ <input class="btn btn-primary" type="submit" id="confirm" value="Yes, Confirm \
Changes"> </form>
<p><a href="index.cgi">No, throw away these changes</a> (you will be redirected
diff --git a/template/en/custom/global/confirm-user-match.html.tmpl \
b/template/en/custom/global/confirm-user-match.html.tmpl index 5549b51..3352435 \
100644
--- a/template/en/custom/global/confirm-user-match.html.tmpl
+++ b/template/en/custom/global/confirm-user-match.html.tmpl
@@ -182,7 +182,7 @@
[% PROCESS "global/hidden-fields.html.tmpl" exclude = exclude %]
<p>
- <input type="submit" id="continue" value="Continue">
+ <input class="btn" type="submit" id="continue" value="Continue">
</p>
</form>
diff --git a/template/en/custom/global/user-error.html.tmpl \
b/template/en/custom/global/user-error.html.tmpl index a93394d..25cfb75 100644
--- a/template/en/custom/global/user-error.html.tmpl
+++ b/template/en/custom/global/user-error.html.tmpl
@@ -1760,17 +1760,13 @@
admindocslinks = admindocslinks
%]
-<table cellpadding="20">
- <tr>
- <td id="error_msg" class="alert alert-error">
+<div class="alert alert-error">
[% error_message FILTER none %]
- </td>
- </tr>
-</table>
+</div>
-<p>
+<div class="alert alert-info">
Please press <b>Back</b> and try again.
-</p>
+</div>
[%# If a saved search fails, people want the ability to edit or delete it.
# This is the best way of getting information about that possible saved
diff --git a/template/en/custom/list/list.html.tmpl \
b/template/en/custom/list/list.html.tmpl index 82c9c9d..aef668d 100644
--- a/template/en/custom/list/list.html.tmpl
+++ b/template/en/custom/list/list.html.tmpl
@@ -170,7 +170,7 @@
<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" class="btn \
btn-primary btn-small"> + <input type="submit" id="long_format" value="Long \
Format" class="btn btn-small"> </form>
<form method="post" action="show_bug.cgi" style="float:left; margin-left: \
10px;"> <input type="hidden" name="ctype" value="xml">
@@ -178,7 +178,7 @@
<input type="hidden" name="id" value="[% id FILTER html %]">
[% END %]
<input type="hidden" name="excludefield" value="attachmentdata">
- <input type="submit" value="XML" id="xml" class="btn btn-primary \
btn-small"> + <input type="submit" value="XML" id="xml" class="btn \
btn-small"> </form>
[% IF user.is_timetracker %]
@@ -248,7 +248,7 @@
<td valign="middle" class="bz_query_remember">
<form method="get" action="buglist.cgi" style="margin-top: -3px;">
- <input type="submit" id="remember" value="Remember search" class="btn \
btn-primary btn-mini"> as + <input type="submit" id="remember" \
value="Remember search" class="btn btn-mini"> as <input type="hidden" \
name="newquery"
value="[% urlquerypart FILTER html %][% "&order=$qorder" FILTER \
html IF order %]"> <input type="hidden" name="cmdtype" value="doit">
diff --git a/template/en/custom/request/queue.html.tmpl \
b/template/en/custom/request/queue.html.tmpl new file mode 100644
index 0000000..7881891
--- /dev/null
+++ b/template/en/custom/request/queue.html.tmpl
@@ -0,0 +1,267 @@
+[%# 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>
+ #%]
+
+[% PROCESS global/variables.none.tmpl %]
+
+[% USE Bugzilla %]
+[% cgi = Bugzilla.cgi %]
+
+[% PROCESS global/header.html.tmpl
+ title="Request Queue"
+ style = "
+ table.requests th { text-align: left; }
+ table#filtering th { text-align: right; }
+ "
+ onload="var f = document.request_form; selectProduct(f.product, f.component, null, \
null, 'Any');" + javascript_urls=["js/productform.js", "js/field.js"]
+ style_urls = ['skins/standard/buglist.css']
+ yui = ['autocomplete']
+%]
+
+<script type="text/javascript">
+ var useclassification = false; // No classification level in use
+ var first_load = true; // Is this the first time we load the page?
+ var last_sel = []; // Caches last selection
+ var cpts = new Array();
+ [% n = 1 %]
+ [% IF Param('useclassification') %]
+ [% FOREACH clas = user.get_selectable_classifications %]
+ [% FOREACH prod = user.get_selectable_products(clas.id) %]
+ [%+ PROCESS js_comp %]
+ [% END %]
+ [% END %]
+ [% ELSE %]
+ [% FOREACH prod = user.get_selectable_products %]
+ [%+ PROCESS js_comp %]
+ [% END %]
+ [% END %]
+</script>
+
+[% BLOCK js_comp %]
+ cpts['[% n %]'] = [
+ [%- FOREACH comp = prod.components %]'[% comp.name FILTER js %]'[% ", " UNLESS \
loop.last %] [%- END -%]]; + [% n = n+1 %]
+[% END %]
+
+<div class="alert alert-info">
+When you are logged in, only requests made by you or addressed to you
+are shown by default. You can change the criteria using the form below.
+When you are logged out, all pending requests that are not restricted
+to some group are shown by default.
+</div>
+
+<form class="form-inline" id="request_form" name="request_form" action="request.cgi" \
method="get"> + <input type="hidden" name="action" value="queue">
+
+ <div class="span4">
+ <label for="requester">Requester:</label>
+ [% INCLUDE global/userselect.html.tmpl
+ id => "requester"
+ name => "requester"
+ value => cgi.param('requester')
+ size => 20
+ emptyok => 1
+ field_title => "Requester's email address"
+ %]
+ </div>
+ <div class="row">
+ <div class="span4">
+ <label for="product">Product:</label>
+ <select name="product" onchange="selectProduct(this, this.form.component, \
null, null, 'Any');"> + <option value="">Any</option>
+ [% IF Param('useclassification') %]
+ [% FOREACH c = user.get_selectable_classifications %]
+ <optgroup label="[% c.name FILTER html %]">
+ [% FOREACH p = user.get_selectable_products(c.id) %]
+ <option value="[% p.name FILTER html %]"
+ [% " selected" IF cgi.param('product') == p.name %]>
+ [% p.name FILTER html %]
+ </option>
+ [% END %]
+ </optgroup>
+ [% END %]
+ [% ELSE %]
+ [% FOREACH p = user.get_selectable_products %]
+ <option value="[% p.name FILTER html %]"
+ [% " selected" IF cgi.param('product') == p.name %]>
+ [% p.name FILTER html %]
+ </option>
+ [% END %]
+ [% END %]
+ </select>
+ </div>
+ <div class="span4">
+ <label for="type">Flag:</label>
+ [% PROCESS "global/select-menu.html.tmpl"
+ name="type"
+ options=types
+ default=cgi.param('type') %]
+ </div>
+ </div>
+ <div class="row">
+ [%# We could let people see a "queue" of non-pending requests. %]
+ <!--
+ <div class="span4">
+ <label for="status">Status:</label>
+ [%# PROCESS "global/select-menu.html.tmpl"
+ name="status"
+ options=["all", "?", "+-", "+", "-"]
+ default=cgi.param('status') %]
+ </div>
+ -->
+ <div class="span4">
+ <label for="requestee">Requestee:</label>
+ [% INCLUDE global/userselect.html.tmpl
+ id => "requestee"
+ name => "requestee"
+ value => cgi.param('requestee')
+ size => 20
+ emptyok => 1
+ hyphenok => 1
+ field_title => "Requestee's email address or \"-\" (hyphen) for requests \
with no requestee" + %]
+ </div>
+ <div class="span4">
+ <label for="component">Component:</label>
+ <select name="component">
+ <option value="">Any</option>
+ [% FOREACH comp = components %]
+ <option value="[% comp FILTER html %]" [% "selected" IF \
cgi.param('component') == comp %]> + [% comp FILTER html %]</option>
+ [% END %]
+ </select>
+ </div>
+ <div class="span4">
+ <label for="requester">Group By:</label>
+ [% groups = {
+ "Requester" => 'requester' ,
+ "Requestee" => 'requestee',
+ "Flag" => 'type' ,
+ "Product/Component" => 'category'
+ } %]
+ [% PROCESS "global/select-menu.html.tmpl" name="group" options=groups \
default=cgi.param('group') %] + </div>
+ </div>
+ <div class="form-actions"><input class="btn btn-primary" type="submit" \
id="filter" value="Filter"></div> +
+</form>
+
+[% column_headers = {
+ "type" => "Flag" ,
+ "status" => "Status" ,
+ "bug" => "$terms.Bug" ,
+ "attachment" => "Attachment" ,
+ "requester" => "Requester" ,
+ "requestee" => "Requestee" ,
+ "created" => "Created" ,
+ "category" => "Product/Component" } %]
+
+[% DEFAULT display_columns = ["requester", "requestee", "type", "bug", "attachment", \
"created"] + group_field = "Requestee"
+ group_value = ""
+%]
+
+[% IF debug %]
+ <p>[% query FILTER html %]</p>
+[% END %]
+
+[% IF requests.size == 0 %]
+ <p>
+ No requests.
+ </p>
+[% ELSE %]
+ [% FOREACH request = requests %]
+ [% IF request.$group_field != group_value || loop.first %]
+ [% group_value = request.$group_field %]
+ [% PROCESS display_buglist UNLESS loop.first %]
+ [% PROCESS start_new_table %]
+ [% END %]
+ [% buglist.${request.bug_id} = 1 %]
+ <tr>
+ [% FOREACH column = display_columns %]
+ [% NEXT IF column == group_field || excluded_columns.contains(column) %]
+ <td>
+ [% PROCESS "display_$column" %]
+ [% Hook.process('after_column') %]
+ </td>
+ [% END %]
+ </tr>
+ [% END %]
+ [% PROCESS display_buglist %]
+[% END %]
+
+[% PROCESS global/footer.html.tmpl %]
+
+[% BLOCK start_new_table %]
+ [% buglist = {} %]
+
+ <h3>[% column_headers.$group_field %]:
+ [%+ (request.$group_field || "None") FILTER email FILTER html %]</h3>
+ <table class="requests" cellspacing="0" cellpadding="4" border="1">
+ <tr>
+ [% FOREACH column = display_columns %]
+ [% NEXT IF column == group_field || excluded_columns.contains(column) %]
+ <th>[% column_headers.$column %]</th>
+ [% END %]
+ </tr>
+[% END %]
+
+[% BLOCK display_type %]
+ [% request.type FILTER html %]
+[% END %]
+
+[% BLOCK display_status %]
+ [% request.status %]
+[% END %]
+
+[% BLOCK display_bug %]
+ <a href="show_bug.cgi?id=[% request.bug_id %]"
+ [%- ' class="bz_secure"' IF request.restricted %]>
+ [% request.bug_id %]: [%+ request.bug_summary FILTER html %]</a>
+[% END %]
+
+[% BLOCK display_attachment %]
+ [% IF request.attach_id %]
+ <a href="attachment.cgi?id=[% request.attach_id %]&action=edit">
+ [% request.attach_id %]: [%+ request.attach_summary FILTER html %]</a>
+ [% ELSE %]
+ N/A
+ [% END %]
+[% END %]
+
+[% BLOCK display_requestee %]
+ [% request.requestee FILTER email FILTER html %]
+[% END %]
+
+[% BLOCK display_requester %]
+ [% request.requester FILTER email FILTER html %]
+[% END %]
+
+[% BLOCK display_created %]
+ [% request.created FILTER time %]
+[% END %]
+
+[% BLOCK display_buglist %]
+ </table>
+ [% NEXT UNLESS buglist.keys.size %]
+ <a href="buglist.cgi?bug_id=
+ [%- buglist.keys.nsort.join(",") FILTER html %]">(view as
+ [%+ terms.bug %] list)</a>
+[% END %]
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic