diff options
-rw-r--r-- | Bugzilla/Field.pm | 18 | ||||
-rwxr-xr-x | page.cgi | 2 | ||||
-rw-r--r-- | skins/standard/page.css | 33 | ||||
-rw-r--r-- | template/en/default/bug/field-help.none.tmpl | 224 | ||||
-rw-r--r-- | template/en/default/global/help.html.tmpl | 5 | ||||
-rw-r--r-- | template/en/default/pages/fields.html.tmpl | 349 | ||||
-rw-r--r-- | template/en/default/search/search-advanced.html.tmpl | 2 | ||||
-rw-r--r-- | template/en/default/search/search-help.html.tmpl | 104 |
8 files changed, 430 insertions, 307 deletions
diff --git a/Bugzilla/Field.pm b/Bugzilla/Field.pm index c2ab6e11b..6b9ceb7c0 100644 --- a/Bugzilla/Field.pm +++ b/Bugzilla/Field.pm @@ -547,6 +547,24 @@ sub legal_values { =over +=item C<is_timetracking> + +True if this is a time-tracking field that should only be shown to users +in the C<timetrackinggroup>. + +=back + +=cut + +sub is_timetracking { + my ($self) = @_; + return grep($_ eq $self->name, TIMETRACKING_FIELDS) ? 1 : 0; +} + +=pod + +=over + =item C<visibility_field> What field controls this field's visibility? Returns a C<Bugzilla::Field> @@ -43,7 +43,7 @@ use Bugzilla::Search::Quicksearch; # For quicksearch.html. sub quicksearch_field_names { - my $fields = Bugzilla::Search::Quicksearch::FIELD_MAP; + my $fields = Bugzilla::Search::Quicksearch->FIELD_MAP; my %fields_reverse; # Put longer names before shorter names. my @nicknames = sort { length($b) <=> length($a) } (keys %$fields); diff --git a/skins/standard/page.css b/skins/standard/page.css index 47869bb58..da0c3be8d 100644 --- a/skins/standard/page.css +++ b/skins/standard/page.css @@ -68,3 +68,36 @@ width: 10em; } +/***************/ +/* fields.html */ +/***************/ + +table.field_value_explanation { + table-layout: fixed; + border-collapse: collapse; +} + +.field_value_explanation thead h2 { + margin: 0; +} + +.field_value_explanation .header_row td { + text-align: center; + font-size: 120%; + font-weight: bold; +} + +.field_value_explanation tbody td { + border: 1px solid black; + padding: 1em; +} + +.field_value_explanation dt, +.field_descriptions dt +{ + margin-top: 1em; +} + +.field_descriptions dt { + font-size: 120%; +} diff --git a/template/en/default/bug/field-help.none.tmpl b/template/en/default/bug/field-help.none.tmpl new file mode 100644 index 000000000..549a89002 --- /dev/null +++ b/template/en/default/bug/field-help.none.tmpl @@ -0,0 +1,224 @@ +[%# The contents of this file are subject to the Mozilla Public + # License Version 1.1 (the "License"); you may not use this file + # except in compliance with the License. You may obtain a copy of + # the License at http://www.mozilla.org/MPL/ + # + # Software distributed under the License is distributed on an "AS + # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or + # implied. See the License for the specific language governing + # rights and limitations under the License. + # + # The Original Code is the Bugzilla Bug Tracking System. + # + # The Initial Developer of the Original Code is Netscape Communications + # Corporation. Portions created by Netscape are + # Copyright (C) 1998 Netscape Communications Corporation. All + # Rights Reserved. + # + # Contributor(s): Gervase Markham <gerv@gerv.net> + # Max Kanat-Alexander <mkanat@bugzilla.org> + #%] + +[%# This file describes both bug fields and search fields. %] + +[% PROCESS "global/field-descs.none.tmpl" %] + +[% help_html = { + +# Note that all these keys here are in alphabetical order, though +# search-specific fields are at the bottom. + +############## +# Bug Fields # +############## + +alias => + "A short, unique name assigned to $terms.abug in order to assist with + looking it up and referring to it in other places in ${terms.Bugzilla}.", + +assigned_to => + "The person in charge of resolving the ${terms.bug}.", + +blocked => + "This $terms.bug must be resolved before the $terms.bugs listed in this + field can be resolved.", + +bug_file_loc => + "$terms.Bugs can have a URL associated with them - for example, a" + _ " pointer to a web site where the problem is seen.", + +bug_id => + "The numeric id of $terms.abug, unique within this entire installation" + _ " of ${terms.Bugzilla}.", + +bug_severity => + "How severe the $terms.bug is, or whether it's an enhancement.", + +bug_status => + "$terms.Abug may be in any of a number of states.", + +cc => + "Users who may not have a direct role to play on this $terms.bug, but who + are interested in its progress.", + +classification => + "$terms.Bugs are categorised into Classifications, Products and" + _ " Components. classifications is the top-level categorisation.", + +component => + "Components are second-level categories; each belongs to a" + _ " particular Product. Select a Product to narrow down this list.", + +creation_ts => + "When the $terms.bug was filed.", + +deadline => + "The date that this $terms.bug must be resolved by, entered in YYYY-MM-DD + format.", + +delta_ts => + "When this $terms.bug was last updated.", + +dependson => + "The $terms.bugs listed here must be resolved before this $terms.bug + can be resolved.", + +estimated_time => + "The amount of time that has been estimated it will take to resolve + this ${terms.bug}.", + +keywords => + "You can add keywords from a defined list to $terms.bugs, in order" + _ " to tag and group them.", + +longdesc => + "$terms.Bugs have comments added to them by $terms.Bugzilla users." + _ "You can search for some text in those comments.", + +op_sys => + "The operating system the $terms.bug was observed on.", + +percentage_complete => + "How close to 100% done this $terms.bug is, by comparing its + $field_descs.work_time to its ${field_descs.estimated_time}.", + +priority => + "Engineers prioritize their $terms.bugs using this field.", + +# Note that this has extra text added below if useclassification is on. +product => + "$terms.Bugs are categorised into Products and Components.", + +qa_contact => + "The person responsible for confirming this $terms.bug if it is" + _ " unconfirmed, and for verifying the fix once the $terms.bug" + _ " has been resolved.", + +remaining_time => + "The number of hours of work left on this $terms.bug, calculated by + subtracting the $field_descs.work_time from the + ${field_descs.estimated_time}.", + +rep_platform => + "The hardware platform the $terms.bug was observed on.", + +reporter => + "The person who filed this ${terms.bug}.", + +resolution => + "If $terms.abug is in a resolved state, then one of these reasons" + _ " will be given for its resolution.", + +see_also => + "This allows you to refer to $terms.bugs in other installations. + You can enter a URL to $terms.abug in the 'Add $terms.Bug URLs' + field to note that that $terms.bug is related to this one. You can + enter multiple URLs at once by separating them with a comma. + + <p>You should normally use this field to refer to $terms.bugs in + <em>other</em> installations. For $terms.bugs in this + installation, it is better to use the $field_descs.dependson and + $field_descs.blocked fields.</p>", + +short_desc => + "The $terms.bug summary is a short sentence which succinctly" + _ " describes what the $terms.bug is about.", + +status_whiteboard => + "Each $terms.bug has a free-form single line text entry box for" + _ " adding tags and status information.", + +target_milestone => + "The target_milestone field is used to define when the engineer" + _ " the $terms.bug is assigned to expects to fix it.", + +version => + "The version field defines the version of the software the" + _ " $terms.bug was found in.", + +votes => + "Some $terms.bugs can be voted for, and you can limit your search to" + _ " $terms.bugs with more than a certain number of votes.", + +work_time => + "The total amount of time spent on this $terms.bug so far.", + +########################## +# Search-specific fields # +########################## + +chfield => + "You can search for specific types of change - this field defines" + _" which field you are interested in changes for.", + +# Duplicated to chfieldto below, also. +chfieldfrom => + "Specify the start and end dates either in YYYY-MM-DD format + optionally followed by HH:mm, in 24 hour clock), or in relative + dates such as 1h, 2d, 3w, 4m, 5y, which respectively mean one hour, + two days, three weeks, four months, or five years ago. 0d is last + midnight, and 0h, 0w, 0m, 0y is the beginning of this hour, week, + month, or year.", + +chfieldvalue => + "The value the field defined above changed to during that time.", + +content => + "This is a field available in searches that does a Google-like + 'full-text' search on the $field_descs.short_desc and + $field_descs.longdesc fields.", + +# Duplicated to email2 below, also. +email1 => + "Every $terms.bug has people associated with it in different" + _ " roles. Here, you can search on what people are in what role.", + +} %] + +[% help_html.email2 = help_html.email1 %] +[% help_html.chfieldto = help_html.chfieldfrom %] +[% help_html.deadlinefrom = help_html.deadline %] +[% help_html.deadlineto = help_html.deadline %] + +[% help_all_note = BLOCK %] + <strong>Note:</strong> When searching, selecting the option "All" + only finds [% terms.bugs %] whose value for this field is literally + the word "All". +[% END %] +[% FOREACH all_field = ['op_sys', 'rep_platform'] %] + [% help_html.$all_field = help_html.$all_field _ ' ' _ help_all_note %] +[% END %] + +[% IF Param('useclassification') %] + [% help_html.product = help_html.product + _ " Select a Classification to narrow down this list." %] +[% END %] + +[% FOREACH help_field = bug_fields.keys %] + [% type_desc = BLOCK %] + The type of [% field_descs.${help_field} FILTER html %] search you + would like. + [% END %] + [% SET type_name = help_field _ '_type' %] + [% help_html.$type_name = type_desc %] +[% END %] diff --git a/template/en/default/global/help.html.tmpl b/template/en/default/global/help.html.tmpl index 36439bc07..c0ff819ce 100644 --- a/template/en/default/global/help.html.tmpl +++ b/template/en/default/global/help.html.tmpl @@ -23,8 +23,9 @@ [% IF cgi.param("help") %] <script type="text/javascript"> <!-- - [% FOREACH h = help_html %] - g_helpTexts["[% h.id FILTER js %]"] = "[%- h.html FILTER js -%]"; + [% FOREACH help_name = help_html.keys %] + g_helpTexts["[% help_name FILTER js %]"] = + "[%- help_html.$help_name FILTER js -%]"; [% END %] // --> </script> diff --git a/template/en/default/pages/fields.html.tmpl b/template/en/default/pages/fields.html.tmpl index 5be28cab7..184aef96f 100644 --- a/template/en/default/pages/fields.html.tmpl +++ b/template/en/default/pages/fields.html.tmpl @@ -20,128 +20,142 @@ #%] [% PROCESS "global/field-descs.none.tmpl" %] -[% INCLUDE global/header.html.tmpl title = "A $terms.Bug's Life Cycle" %] +[% PROCESS global/header.html.tmpl + title = "$terms.Bug Fields" + style_urls = ['skins/standard/page.css'] +%] -<p> -The <b>status</b> and <b>resolution</b> fields define and track the life -cycle of [% terms.abug %]. -</p> +<p>This page describes the various fields that you see + on [% terms.abug %].</p> -<a name="status"></a> -<a name="resolution"></a> - -<table border="1" cellpadding="4"> - <tr align="center" valign="top"> - <td width="50%"> - <h1>STATUS</h1> +<table class="field_value_explanation"> + <thead> + <tr> + <td> + <a name="bug_status"></a> + <h2>[% field_descs.bug_status FILTER upper FILTER html %]</h2> </td> <td> - <h1>RESOLUTION</h1> + <a name="resolution"></a> + <h2>[% field_descs.resolution FILTER upper FILTER html %]</h2> </td> </tr> - <tr valign="top"> - <td>The <b>status</b> field indicates the general health of a - [% terms.bug %]. Only certain status transitions are allowed.</td> + <tr> + <td>The [% field_descs.bug_status FILTER html %] field indicates the + current state of a [% terms.bug %]. Only certain status transitions + are allowed.</td> - <td>The <b>resolution</b> field indicates what happened to this - [%+ terms.bug %].</td> + <td>The [% field_descs.resolution FILTER html %] field indicates what + happened to this [%+ terms.bug %].</td> </tr> + </thead> - <tr valign="top"> + <tbody> + <tr class="header_row"> + <td colspan="2">Open [% terms.Bugs %]</td> + </tr> + <tr> <td> <dl> <dt> - <b>[% display_value("bug_status", "UNCONFIRMED") FILTER html %]</b> + [% display_value("bug_status", "UNCONFIRMED") FILTER html %] </dt> <dd> This [% terms.bug %] has recently been added to the database. - Nobody has validated that this [% terms.bug %] is true. Users + Nobody has confirmed that this [% terms.bug %] is valid. Users who have the "canconfirm" permission set may confirm - this [% terms.bug %], changing its state to [% display_value("bug_status", "NEW") FILTER html %]. Or, it may be - directly resolved and marked [% display_value("bug_status", "RESOLVED") FILTER html %]. + this [% terms.bug %], changing its state to + <b>[% display_value("bug_status", "NEW") FILTER html %]</b>. + Or, it may be directly resolved and marked + <b>[% display_value("bug_status", "RESOLVED") FILTER html %]</b>. </dd> <dt> - <b>[% display_value("bug_status", "NEW") FILTER html %]</b> + [% display_value("bug_status", "NEW") FILTER html %] </dt> <dd> - This [% terms.bug %] has recently been added to the assignee's - list of [% terms.bugs %] and must be processed. [% terms.Bugs %] in - this state may be accepted, and become <b>[% display_value("bug_status", "ASSIGNED") FILTER html %]</b>, passed - on to someone else, and remain <b>[% display_value("bug_status", "NEW") FILTER html %]</b>, or resolved and marked + This [% terms.bug %] is valid and has recently been filed. + [%+ terms.Bugs %] in this state become + <b>[% display_value("bug_status", "ASSIGNED") FILTER html %]</b> when + somebody is working on them, or become resolved and marked <b>[% display_value("bug_status", "RESOLVED") FILTER html %]</b>. </dd> <dt> - <b>[% display_value("bug_status", "ASSIGNED") FILTER html %]</b> + [% display_value("bug_status", "ASSIGNED") FILTER html %] </dt> <dd> - This [% terms.bug %] is not yet resolved, but is assigned to the - proper person. From here [% terms.bugs %] can be given to another - person and become <b>[% display_value("bug_status", "NEW") FILTER html %]</b>, or - resolved and become <b>[% display_value("bug_status", "RESOLVED") FILTER html %]</b>. + This [% terms.bug %] is not yet resolved, but is assigned to the + proper person who is working on the [% terms.bug %]. From here, + [%+ terms.bugs %] can be given to another person and become + <b>[% display_value("bug_status", "NEW") FILTER html %]</b>, or + resolved and become + <b>[% display_value("bug_status", "RESOLVED") FILTER html %]</b>. </dd> <dt> - <b>[% display_value("bug_status", "REOPENED") FILTER html %]</b> + [% display_value("bug_status", "REOPENED") FILTER html %] </dt> <dd> - This [% terms.bug %] was once resolved, but the resolution was - deemed incorrect. For example, a <b>[% display_value("resolution", "WORKSFORME") FILTER html %]</b> [% terms.bug %] is - <b>[% display_value("bug_status", "REOPENED") FILTER html %]</b> when more information shows up and - the [% terms.bug %] is now reproducible. From here [% terms.bugs %] are - either marked <b>[% display_value("bug_status", "ASSIGNED") FILTER html %]</b> or + This [% terms.bug %] was once resolved, but the resolution was + deemed incorrect. For example, a + <b>[% display_value("resolution", "WORKSFORME") FILTER html %]</b> + [%+ terms.bug %] is marked + <b>[% display_value("bug_status", "REOPENED") FILTER html %]</b> when + more information shows up and the [% terms.bug %] is now + reproducible. From here, [% terms.bugs %] are either marked + <b>[% display_value("bug_status", "ASSIGNED") FILTER html %]</b> or <b>[% display_value("bug_status", "RESOLVED") FILTER html %]</b>. </dd> </dl> </td> <td> - <dl> - <dd> - No resolution yet. All [% terms.bugs %] which are in one of - these "open" states have the resolution set to blank. All - other [% terms.bugs %] will be marked with one of the following - resolutions. - </dd> - </dl> + No resolution yet. All [% terms.bugs %] which are in one of + these "open" states have no resolution set. </td> </tr> - <tr valign="top"> + <tr class="header_row"> + <td colspan="2">Closed [% terms.Bugs %]</td> + </tr> + + <tr> <td> <dl> <dt> - <b>[% display_value("bug_status", "RESOLVED") FILTER html %]</b> + [% display_value("bug_status", "RESOLVED") FILTER html %] </dt> <dd> - A resolution has been taken, and it is awaiting verification by - QA. From here [% terms.bugs %] are either re-opened and become - <b>[% display_value("bug_status", "REOPENED") FILTER html %]</b>, are marked - <b>[% display_value("bug_status", "VERIFIED") FILTER html %]</b>, or are closed for - good and marked <b>[% display_value("bug_status", "CLOSED") FILTER html %]</b>. + A resolution has been performed, and it is awaiting verification by + QA. From here [% terms.bugs %] are either re-opened and become + <b>[% display_value("bug_status", "REOPENED") FILTER html %]</b>, are + marked <b>[% display_value("bug_status", "VERIFIED") FILTER html %]</b>, + or are closed for good and marked + <b>[% display_value("bug_status", "CLOSED") FILTER html %]</b>. </dd> <dt> - <b>[% display_value("bug_status", "VERIFIED") FILTER html %]</b> + [% display_value("bug_status", "VERIFIED") FILTER html %] </dt> <dd> - QA has looked at the [% terms.bug %] and the resolution and - agrees that the appropriate resolution has been taken. [% terms.Bugs %] remain - in this state until the product they were reported - against actually ships, at which point they become + QA has looked at the [% terms.bug %] and the resolution and + agrees that the appropriate resolution has been taken. + [%+ terms.Bugs %] remain in this state until the product they were + reported against actually ships, at which point they become <b>[% display_value("bug_status", "CLOSED") FILTER html %]</b>. </dd> <dt> - <b>[% display_value("bug_status", "CLOSED") FILTER html %]</b> + [% display_value("bug_status", "CLOSED") FILTER html %] </dt> <dd> - The [% terms.bug %] is considered dead, the resolution is correct. - Any zombie [% terms.bugs %] who choose to walk the earth again must - do so by becoming <b>[% display_value("bug_status", "REOPENED") FILTER html %]</b>. + The [% terms.bug %] is considered dead, the resolution is correct. + Any zombie [% terms.bugs %] who choose to walk the earth again must + do so by becoming + <b>[% display_value("bug_status", "REOPENED") FILTER html %]</b>. </dd> </dl> </td> @@ -149,7 +163,7 @@ cycle of [% terms.abug %]. <td> <dl> <dt> - <b>[% display_value("resolution", "FIXED") FILTER html %]</b> + [% display_value("resolution", "FIXED") FILTER html %] </dt> <dd> A fix for this [% terms.bug %] is checked into the tree and @@ -157,14 +171,14 @@ cycle of [% terms.abug %]. </dd> <dt> - <b>[% display_value("resolution", "INVALID") FILTER html %]</b> + [% display_value("resolution", "INVALID") FILTER html %] </dt> <dd> The problem described is not [% terms.abug %]. </dd> <dt> - <b>[% display_value("resolution", "WONTFIX") FILTER html %]</b> + [% display_value("resolution", "WONTFIX") FILTER html %] </dt> <dd> The problem described is [% terms.abug %] which will never be @@ -172,17 +186,18 @@ cycle of [% terms.abug %]. </dd> <dt> - <b>[% display_value("resolution", "DUPLICATE") FILTER html %]</b> + [% display_value("resolution", "DUPLICATE") FILTER html %] </dt> <dd> The problem is a duplicate of an existing [% terms.bug %]. - Marking [% terms.abug %] duplicate requires the [% terms.bug %]# - of the duplicating [% terms.bug %] and will at least put - that [% terms.bug %] number in the description field. + When [% terms.abug %] is marked as a + <b>[% display_value("resolution", "DUPLICATE") FILTER html %]</b>, + you will see which [% terms.bug %] it is a duplicate of, + next to the resolution. </dd> <dt> - <b>[% display_value("resolution", "WORKSFORME") FILTER html %]</b> + [% display_value("resolution", "WORKSFORME") FILTER html %] </dt> <dd> All attempts at reproducing this [% terms.bug %] were futile, @@ -191,141 +206,77 @@ cycle of [% terms.abug %]. the [% terms.bug %] can be reopened. </dd> - <dt> - <b>[% display_value("resolution", "MOVED") FILTER html %]</b> - </dt> - <dd> - The problem was specific to a related product - whose [% terms.bugs %] are tracked in - another [% terms.bug %] database. - The [% terms.bug %] has been moved to that database. - </dd> + [% IF Param('move-enabled') %] + <dt> + [% display_value("resolution", "MOVED") FILTER html %] + </dt> + <dd> + The problem was specific to a related product + whose [% terms.bugs %] are tracked in + another [% terms.bug %] database. + The [% terms.bug %] has been moved to that database. + </dd> + [% END %] </dl> </td> </tr> + </tbody> </table> -<h2><a name="importance">Importance</h2> -The importance of [% terms.abug %] is described as the combination of -its <a href="#priority">priority</a> and <a href="#bug_severity">severity</a>, -as described below. - -<h2><a name="priority">Priority</a></h2> -This field describes the importance and order in which [% terms.abug %] -should be fixed compared to other [% terms.bugs %]. This field is utilized -by the programmers/engineers to prioritize their work to be done. - -<h2><a name="bug_severity">Severity</a></h2> -This field describes the impact of [% terms.abug %]. - -<table> - <tr> - <th>[% display_value("bug_severity", "blocker") FILTER html %]</th> - - <td>Blocks development and/or testing work</td> - </tr> - - <tr> - <th>[% display_value("bug_severity", "critical") FILTER html %]</th> - - <td>crashes, loss of data, severe memory leak</td> - </tr> - - <tr> - <th>[% display_value("bug_severity", "major") FILTER html %]</th> - - <td>major loss of function</td> - </tr> - - <tr> - <th>[% display_value("bug_severity", "normal") FILTER html %]</th> - - <td>regular issue, some loss of functionality under specific circumstances</td> - </tr> - - - <tr> - <th>[% display_value("bug_severity", "minor") FILTER html %]</th> - - <td>minor loss of function, or other problem where easy - workaround is present</td> - </tr> - - <tr> - <th>[% display_value("bug_severity", "trivial") FILTER html %]</th> - - <td>cosmetic problem like misspelled words or misaligned - text</td> - </tr> - - <tr> - <th>[% display_value("bug_severity", "enhancement") FILTER html %]</th> - - <td>Request for enhancement</td> -</table> - -<h2><a name="rep_platform">Platform</a></h2> -This is the hardware platform against which the [% terms.bug %] was -reported. Legal platforms include: - -<ul> - <li>[% display_value("rep_platform", "All") FILTER html %] (happens on all platforms; cross-platform [% terms.bug %])</li> - - <li>[% display_value("rep_platform", "Macintosh") FILTER html %]</li> - - <li>[% display_value("rep_platform", "PC") FILTER html %]</li> -</ul> -<b>Note:</b> When searching, selecting the option -<em>[% display_value("rep_platform", "All") FILTER html %]</em> does not -select [% terms.bugs %] -assigned against any platform. It merely selects [% terms.bugs %] that are -marked as occurring on all platforms, i.e. are designated -<em>[% display_value("rep_platform", "All") FILTER html %]</em>. - -<h2><a name="op_sys">Operating System</a></h2> -This is the operating system against which the [% terms.bug %] was -reported. Legal operating systems include: +<h2>Other Fields</h2> -<ul> - <li>[% display_value("op_sys", "All") FILTER html %] (happens on all operating systems; cross-platform - [% terms.bug %])</li> +[% PROCESS "bug/field-help.none.tmpl" %] - <li>Windows</li> - - <li>Mac OS</li> - - <li>Linux</li> -</ul> -Sometimes the operating system implies the platform, but not -always. For example, Linux can run on PC and Macintosh and -others. - -<h2><a name="assigned_to">Assigned To</a></h2> - -<p> -This is the person in charge of resolving the [% terms.bug %]. Every time -this field changes, the status changes to <b>[% display_value("bug_status", "NEW") FILTER html %]</b> to make it -easy to see which new [% terms.bugs %] have appeared on a person's list.</p> - -<p> -The default status for queries is set to [% display_value("bug_status", "NEW") FILTER html %], -[%+ display_value("bug_status", "ASSIGNED") FILTER html %] and [% display_value("bug_status", "REOPENED") FILTER html %]. -When searching for [% terms.bugs %] that have been resolved or -verified, remember to set the status field appropriately. -</p> - -[% IF Param("use_see_also") %] - <h2><a name="see_also"></a>See Also</h2> - - <p>This allows you to refer to [% terms.bugs %] in other installations. - You can enter a URL to a [%+ terms.bug %] in the "Add [% terms.Bug %] URLs" - field to note that that [% terms.bug %] is related to this one. You can - enter multiple URLs at once by separating them with a comma.</p> +[% SET field_help_map = {} %] +[% FOREACH field = bug_fields.keys %] + [% SET field_desc = field_descs.$field %] + [% field_help_map.$field_desc = { help => help_html.$field, + field => field } %] +[% END %] - <p>You should normally use this field to refer to [% terms.bugs %] in - <em>other</em> installations. For [% terms.bugs %] in this - installation, it is better to use the "Depends On" and "Blocks" - fields.</p> +[%# These are fields that don't need to be documented, either because + # they have docs somewhere else in the UI, or they don't show up on bugs. + # %] +[% SET skip_fields = [ + 'days_elapsed', + 'everconfirmed', + 'reporter_accessible', + 'cclist_accessible', + 'bug_group', + 'commenter', + 'owner_idle_time', + 'bug_status', + 'resolution', +] %] + +<dl class="field_descriptions"> +[% FOREACH field_desc = field_help_map.keys.sort %] + [% SET field = field_help_map.${field_desc}.field %] + [% SET field_object = bug_fields.$field %] + + [% NEXT IF field_object.obsolete %] + [% NEXT IF !user.is_timetracker AND field_object.is_timetracking %] + + [% NEXT IF field == 'status_whiteboard' AND !Param('usestatuswhiteboard') %] + [% NEXT IF field == 'target_milestone' AND !Param('usetargetmilestone') %] + [% NEXT IF field == 'alias' AND !Param('usebugaliases') %] + + [%# For now we don't have help for attachment fields and so on. %] + [% NEXT IF field.match('\.') %] + + [% NEXT IF skip_fields.contains(field) %] + + <dt><a name="[% field FILTER html %]"></a>[% field_desc FILTER html %]</dt> + <dd> + [% SET help_text = field_help_map.${field_desc}.help %] + [% IF help_text %] + [% help_text FILTER none %] + [% ELSE %] + A custom [% field_types.${field_object.type} FILTER html %] field in + this installation of [% terms.Bugzilla %]. + [% END %] + </dd> [% END %] +</dl> -[% INCLUDE global/footer.html.tmpl %] +[% PROCESS global/footer.html.tmpl %] diff --git a/template/en/default/search/search-advanced.html.tmpl b/template/en/default/search/search-advanced.html.tmpl index cb0519a81..3a4252c2d 100644 --- a/template/en/default/search/search-advanced.html.tmpl +++ b/template/en/default/search/search-advanced.html.tmpl @@ -55,7 +55,7 @@ var queryform = "queryform" [% IF NOT cgi.param("help") %] document.write("<p><a href='query.cgi?help=1&format=advanced'>Give me some help<\/a> (reloads page).<\/p>"); [% ELSE %] - [% PROCESS "search/search-help.html.tmpl" %] + [% PROCESS "bug/field-help.none.tmpl" %] if (generateHelp()) document.write("<p>For help, mouse over the page elements.<\/p>"); else diff --git a/template/en/default/search/search-help.html.tmpl b/template/en/default/search/search-help.html.tmpl deleted file mode 100644 index 4dbf6652a..000000000 --- a/template/en/default/search/search-help.html.tmpl +++ /dev/null @@ -1,104 +0,0 @@ -[%# 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> - #%] - -[% help_html = [ -{ id => "short_desc_type", - html => "The type of summary search you would like" }, -{ id => "short_desc", - html => "The $terms.bug summary is a short sentence which succinctly - describes <br> what the $terms.bug is about." }, -{ id => "classification", - html => "$terms.Bugs are categorised into Classifications, Products and Components. classifications is the<br> - top-level categorisation." }, -{ id => "product", - html => Param('useclassification') ? - "$terms.Bugs are categorised into Products and Components. Select a Classification to narrow down this list" : - "$terms.Bugs are categorised into Products and Components. Product is - the<br>top-level categorisation." }, -{ id => "component", - html => "Components are second-level categories; each belongs to a<br> - particular Product. Select a Product to narrow down this list." }, -{ id => "version", - html => "The version field defines the version of the software the - $terms.bug<br>was found in." }, -{ id => "target_milestone", - html => "The target_milestone field is used to define when the engineer<br> - the $terms.bug is assigned to expects to fix it." }, -{ id => "longdesc", - html => "$terms.Bugs have comments added to them by $terms.Bugzilla users. - You can<br>search for some text in those comments." }, -{ id => "longdesc_type", - html => "The type of comment search you would like" }, -{ id => "bug_file_loc", - html => "$terms.Bugs can have a URL associated with them - for example, a - pointer<br>to a web site where the problem is seen." }, -{ id => "bug_file_loc_type", - html => "The type of URL search you would like" }, -{ id => "status_whiteboard", - html => "Each $terms.bug has a free-form single line text entry box for - adding<br>tags and status information." }, -{ id => "status_whiteboard_type", - html => "The type of whiteboard search you would like" }, -{ id => "keywords", - html => "You can add keywords from a defined list to $terms.bugs, in order - to<br>tag and group them." }, -{ id => "keywords_type", - html => "The type of keyword search you would like" }, -{ id => "bug_status", - html => "$terms.Abug may be in any of a number of states." }, -{ id => "resolution", - html => "If $terms.abug is in a resolved state, then one of these reasons - will<br>be given for its resolution." }, -{ id => "bug_severity", - html => "How severe the $terms.bug is, or whether it's an enhancement." }, -{ id => "priority", - html => "Engineers prioritize their $terms.bugs using this field." }, -{ id => "rep_platform", - html => "The hardware platform the $terms.bug was observed on." }, -{ id => "op_sys", - html => "The operating system the $terms.bug was observed on." }, -{ id => "email1", - html => "Every $terms.bug has people associated with it in different - roles.<br>Here, you can search on what people are in what role." }, -{ id => "email2", - html => "Every $terms.bug has people associated with it in different - roles.<br>Here, you can search on what people are in what role." }, -{ id => "bug_id", - html => "You can limit your search to a specific set of $terms.bugs ." }, -{ id => "chfield", - html => "You can search for specific types of change - this field define <br> - which field you are interested in changes for." }, -{ id => "chfieldfrom", - html => "Specify the start and end dates either in YYYY-MM-DD format<br> - (optionally followed by HH:mm, in 24 hour clock), or in relative<br> - dates such as 1h, 2d, 3w, 4m, 5y, which respectively mean one hour,<br> - two days, three weeks, four months, or five years ago. 0d is last<br> - midnight, and 0h, 0w, 0m, 0y is the beginning of this hour, week,<br> - month, or year." }, -{ id => "chfieldto", - html => "Specify the start and end dates either in YYYY-MM-DD format<br> - (optionally followed by HH:mm, in 24 hour clock), or in relative<br> - dates such as 1h, 2d, 3w, 4m, 5y, which respectively mean one hour,<br> - two days, three weeks, four months, or five years ago. 0d is last<br> - midnight, and 0h, 0w, 0m, 0y is the beginning of this hour, week,<br> - month, or year." }, -{ id => "chfieldvalue", - html => "The value the field defined above changed to during that time." }, -] %] |