[%# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# This Source Code Form is "Incompatible With Secondary Licenses", as
# defined by the Mozilla Public License, v. 2.0.
#%]
[% PROCESS "global/field-descs.none.tmpl" %]
[% query_types = [
"allwordssubstr",
"anywordssubstr",
"substring",
"casesubstring",
"allwords",
"anywords",
"regexp",
"notregexp",
] %]
[%# If we resubmit to ourselves, we need to know if we are using a format. %]
[% thisformat = query_format != '' ? query_format : format %]
[%# *** Summary *** %]
[% INCLUDE "search/field.html.tmpl"
field = bug_fields.short_desc
types = query_types
value = default.short_desc.0
type_selected = default.short_desc_type.0
accesskey = "s"
focus = 1
%]
[% IF button_name %]
[% END %]
[%# *** Classification Product Component *** %]
[% value_controllers = {
'classification' => { 'products' => bug_fields.product },
'product' => { 'components' => bug_fields.component,
'versions' => bug_fields.version,
'milestones' => bug_fields.target_milestone },
} %]
[% Hook.process('before_selects_top') %]
[% IF Param('useclassification') %]
[% INCLUDE "search/field.html.tmpl"
field => bug_fields.classification
accesskey => "c"
value => default.classification
%]
[% END %]
[% INCLUDE "search/field.html.tmpl"
field => bug_fields.product
accesskey => "p"
value => default.product
%]
[% INCLUDE "search/field.html.tmpl"
field => bug_fields.component
accesskey => "m"
value => default.component
%]
[% INCLUDE "search/field.html.tmpl"
field => bug_fields.bug_status
accesskey => "a"
value => default.bug_status
%]
[% INCLUDE "search/field.html.tmpl"
field => bug_fields.resolution
accesskey => "r"
value => default.resolution
%]
[% Hook.process('after_selects_top') %]
▼
Detailed [% terms.Bug %] Information
Narrow results by the following fields:
[%+ field_descs.longdesc FILTER html %]s, [%+ field_descs.bug_file_loc FILTER html %],
[% IF Param('usestatuswhiteboard') %] [%+ field_descs.status_whiteboard FILTER html %], [%+ END %]
[% IF use_keywords %] [%+ field_descs.keywords FILTER html %], [%+ END %]
[% IF Param('timetrackinggroup') %] [%+ field_descs.deadline FILTER html %], [%+ END %]
[% terms.Bug %] Numbers, [%+ field_descs.version FILTER html %],
[% IF Param('usetargetmilestone') %] [%+ field_descs.target_milestone FILTER html %], [%+ END %]
[% field_descs.bug_severity FILTER html %], [%+ field_descs.priority FILTER html %], [%+ field_descs.rep_platform FILTER html %],
[%+ field_descs.op_sys FILTER html %]
[%# *** Comment URL Whiteboard Keywords *** %]
[% SET freetext_fields = [
{ field => bug_fields.longdesc, accesskey => 'c' },
{ field => bug_fields.bug_file_loc, accesskey => 'u' },
{ field => bug_fields.status_whiteboard, accesskey => 'w' },
{ field => bug_fields.keywords, accesskey => 'k',
qtypes => ['allwords', 'anywords', 'nowords', 'regexp', 'notregexp'] }
] %]
[% FOREACH field = custom_fields %]
[% freetext_fields.push({ field => field }) IF field.type == constants.FIELD_TYPE_FREETEXT or field.type == constants.FIELD_TYPE_TEXTAREA %]
[% END %]
[% Hook.process('before_freetext_fields') %]
[%# loop through a bunch of free text fields and print out their text stuff %]
[% FOREACH field_container = freetext_fields %]
[% NEXT IF field_container.field.name == 'status_whiteboard'
AND NOT Param('usestatuswhiteboard')
%]
[% NEXT IF field_container.field.name == 'keywords'
AND NOT use_keywords
%]
[% type = field_container.field.name _ "_type" %]
[% possible_values = field_container.field.name == 'keywords' ? all_keywords : [] %]
[% INCLUDE "search/field.html.tmpl"
field => field_container.field
types => field_container.qtypes || query_types
accesskey => field_container.accesskey
value => default.${field_container.field.name}.0
type_selected => default.$type.0
%]
[% END %]
[% IF Param('timetrackinggroup') %]
[% INCLUDE "search/field.html.tmpl"
field = bug_fields.deadline
accesskey = "l"
value = [ default.deadlinefrom.0, default.deadlineto.0 ]
%]
[% END %]
(comma-separated list)
should be
the results
[% Hook.process('after_freetext_fields') %]
[%# *** Status Resolution Severity Priority Hardware OS *** %]
[% Hook.process('before_selects_bottom') %]
[% fake_version_field = { name => bug_fields.version.name,
type => constants.FIELD_TYPE_SINGLE_SELECT }%]
[% INCLUDE "search/field.html.tmpl"
field => fake_version_field
value => default.version
%]
[% IF Param('usetargetmilestone') %]
[% fake_target_milestone_field = { name => bug_fields.target_milestone.name ,
type => constants.FIELD_TYPE_SINGLE_SELECT } %]
[% INCLUDE "search/field.html.tmpl"
field => fake_target_milestone_field
value => default.target_milestone
%]
[% END %]
[% INCLUDE "search/field.html.tmpl"
field => bug_fields.bug_severity
accesskey=> "v"
value => default.bug_severity
%]
[% INCLUDE "search/field.html.tmpl"
field => bug_fields.priority
accesskey => "i"
value => default.priority
%]
[% INCLUDE "search/field.html.tmpl"
field => bug_fields.rep_platform
accesskey =>"h"
value => default.rep_platform
%]
[% INCLUDE "search/field.html.tmpl"
field => bug_fields.op_sys
accesskey =>"o"
value => default.op_sys
%]
[% FOREACH field = custom_fields %]
[% IF field.type == constants.FIELD_TYPE_SINGLE_SELECT or
field.type == constants.FIELD_TYPE_MULTI_SELECT %]
[% INCLUDE "search/field.html.tmpl"
field => field
value => default.${field.name}
%]
[% END %]
[% END %]
[% Hook.process('after_selects_bottom') %]
[%# *** Email Numbering *** %]
▼
Search By PeopleNarrow results to a role (i.e. [% field_descs.assigned_to FILTER html %],
[%+ field_descs.reporter FILTER html %], [% field_descs.commenter FILTER html %],
etc.) a person has on [% terms.abug %]
[% FOREACH n = [1, 2, 3] %]
Any of:
[% PROCESS role_types field = { count => n, name => "emailassigned_to",
label=> "the ${terms.Bug} ${field_descs.assigned_to}" } %]
[% PROCESS role_types field = { count => n, name => "emailreporter",
label=> "the ${field_descs.reporter}" } %]
[% IF Param('useqacontact') %]
[% PROCESS role_types field = { count => n, name => "emailqa_contact",
label=> "the ${field_descs.qa_contact}" } %]
[% END %]
[% PROCESS role_types field = { count => n, name => "emailcc",
label=> "a ${field_descs.cc} list member" } %]
[% PROCESS role_types field = { count => n, name => "emaillongdesc",
label=> " a ${field_descs.commenter}" } %]
[% END %]
[% Hook.process('email_numbering_end') %]
[%# Create array, so we can sort it by description #%]
[% chfields = [] %]
[% FOREACH field = chfield %]
[% chfields.push({value => field, desc => (field_descs.$field || field) }) %]
[% END %]
and
(YYYY-MM-DD or relative dates)
[%############################################################################%]
[%# Block for email role type use to select which email to search through #%]
[%############################################################################%]
[% BLOCK role_types %]