summaryrefslogtreecommitdiffstats
path: root/template/en/default/pages/fields.html.tmpl
blob: 568245653194b3a115bfb92175809ff7fb1d4ba3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
[%# 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>
  #%]

[% PROCESS "global/field-descs.none.tmpl" %]
[% PROCESS global/header.html.tmpl 
  title = "$terms.Bug Fields" 
  style_urls = ['skins/standard/page.css']
%]

<p>This page describes the various fields that you see 
  on [% terms.abug %].</p>

<table class="field_value_explanation">
  <thead>
  <tr>
    <td id="bug_status">
      <h2>[% field_descs.bug_status FILTER upper FILTER html %]</h2>
    </td>

    <td id="resolution">
      <h2>[% field_descs.resolution FILTER upper FILTER html %]</h2>
    </td>
  </tr>

  <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 [% field_descs.resolution FILTER html %] field indicates what
      happened to this [%+ terms.bug %].</td>
  </tr>
  </thead>

  <tbody>
  <tr class="header_row">
    <td colspan="2">Open [% terms.Bugs %]</td>
  </tr>
  <tr>
    <td>
      <dl>
        <dt class="unconfirmed">
          [% display_value("bug_status", "UNCONFIRMED") FILTER html %]
        </dt>
        <dd class="unconfirmed">
          This [% terms.bug %] has recently been added to the database. 
          Nobody has validated that this [% terms.bug %] is true. 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 %].
        </dd>
        <dt>
          <b>[% display_value("bug_status", "NEW") FILTER html %]</b>
        </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
          <b>[% display_value("bug_status", "RESOLVED") FILTER html %]</b>.
        </dd>

        <dt>
          <b>[% display_value("bug_status", "ASSIGNED") FILTER html %]</b>
        </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>.
        </dd>

        <dt>
          <b>[% display_value("bug_status", "REOPENED") FILTER html %]</b>
        </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
          <b>[% display_value("bug_status", "RESOLVED") FILTER html %]</b>.
        </dd>
        
        [% Hook.process('open-status') %]
      </dl>
    </td>

    <td>
      No resolution yet. All [% terms.bugs %] which are in one of
      these "open" states have no resolution set.
    </td>
  </tr>

  <tr class="header_row">
    <td colspan="2">Closed [% terms.Bugs %]</td>
  </tr>

  <tr>
    <td>
      <dl>
        <dt class="resolved">
          [% display_value("bug_status", "RESOLVED") FILTER html %]
        </dt>
        <dd class="resolved">
          A resolution has been performed, and it is awaiting verification by
          QA. From here [% terms.bugs %] are either reopened and given some
          open status, or are verified by QA and marked
          <b>[% display_value("bug_status", "VERIFIED") FILTER html %]</b>.
        </dd>

        <dt class="verified">
          [% display_value("bug_status", "VERIFIED") FILTER html %]
        </dt>
        <dd class="verified">
          QA has looked at the [% terms.bug %] and the resolution and 
          agrees that the appropriate resolution has been taken.
          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>
        
        [% Hook.process('closed-status') %]
      </dl>
    </td>

    <td>
      <dl>
        <dt class="fixed">
          [% display_value("resolution", "FIXED") FILTER html %]
        </dt>
        <dd class="fixed">
          A fix for this [% terms.bug %] is checked into the tree and 
          tested.
        </dd>

        <dt class="invalid">
          [% display_value("resolution", "INVALID") FILTER html %]
        </dt>
        <dd class="invalid">
          The problem described is not [% terms.abug %].
        </dd>

        <dt class="wontfix">
          [% display_value("resolution", "WONTFIX") FILTER html %]
        </dt>
        <dd class="wontfix">
          The problem described is [% terms.abug %] which will never be 
          fixed.
        </dd>

        <dt class="duplicate">
         [% display_value("resolution", "DUPLICATE") FILTER html %]
        </dt>
        <dd class="duplicate">
          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.
        </dd>

        <dt class="worksforme">
          [% display_value("resolution", "WORKSFORME") FILTER html %]
        </dt>
        <dd class="worksforme">
          All attempts at reproducing this [% terms.bug %] were futile, 
          and reading the code produces no clues as to why the described
          behavior would occur. If more information appears later,
          the [% terms.bug %] can be reopened.
        </dd>
        
        [% Hook.process('resolution') %]
      </dl>
    </td>
  </tr>
  </tbody>
</table>

<h2>Other Fields</h2>

[% 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 %]

[%# 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 id="[% field FILTER html %]">[% field_desc FILTER html %]</dt>
    <dd>
      [% SET help_text = field_help_map.${field_desc}.help %]
      [% help_text FILTER none %]
    </dd>
[% END %]
</dl>

[% PROCESS global/footer.html.tmpl %]