1
[%# 1.0@bugzilla.org %]
2
[%# The contents of this file are subject to the Mozilla Public
3
# License Version 1.1 (the "License"); you may not use this file
4
# except in compliance with the License. You may obtain a copy of
5
# the License at http://www.mozilla.org/MPL/
7
# Software distributed under the License is distributed on an "AS
8
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
9
# implied. See the License for the specific language governing
10
# rights and limitations under the License.
12
# The Original Code is the Bugzilla Bug Tracking System.
14
# The Initial Developer of the Original Code is Netscape Communications
15
# Corporation. Portions created by Netscape are
16
# Copyright (C) 1998 Netscape Communications Corporation. All
19
# Contributor(s): Myk Melez <myk@mozilla.org>
20
# Mark Bickford <markhb@maine.rr.com>
23
[% PROCESS global/variables.none.tmpl %]
25
[% PROCESS "global/js-products.html.tmpl" %]
27
[% IF type.target_type == "bug" %]
28
[% title = BLOCK %]Create Flag Type for [% terms.Bugs %][% END %]
29
[% typeLabelLowerPlural = BLOCK %][% terms.bugs %][% END %]
30
[% typeLabelLowerSingular = BLOCK %][% terms.bug %][% END %]
32
[% title = "Create Flag Type for Attachments" %]
33
[% typeLabelLowerPlural = BLOCK %]attachments[% END %]
34
[% typeLabelLowerSingular = BLOCK %]attachment[% END %]
37
[% IF last_action == "copy" %]
38
[% title = BLOCK %]Create Flag Type Based on [% type.name FILTER html %][% END %]
39
[% ELSIF last_action == "edit" %]
40
[% title = BLOCK %]Edit Flag Type [% type.name FILTER html %][% END %]
43
[% PROCESS global/header.html.tmpl
46
table#form th { text-align: right; vertical-align: baseline; white-space: nowrap; }
47
table#form td { text-align: left; vertical-align: baseline; }
49
onload="selectProduct(document.forms[0], 'product', 'component', '__Any__');"
50
javascript_urls=["productmenu.js"]
53
<form method="post" action="editflagtypes.cgi">
54
<input type="hidden" name="action" value="[% action %]">
55
<input type="hidden" name="id" value="[% type.id %]">
56
<input type="hidden" name="token" value="[% token FILTER html %]">
57
<input type="hidden" name="target_type" value="[% type.target_type %]">
58
[% FOREACH category = type.inclusions %]
59
<input type="hidden" name="inclusions" value="[% category.value FILTER html %]">
61
[% FOREACH category = type.exclusions %]
62
<input type="hidden" name="exclusions" value="[% category.value FILTER html %]">
65
[%# Add a hidden button at the top of the form so that the user pressing "return"
66
# really submit the form, as expected. %]
67
<input type="submit" id="commit" value="Submit" style="display: none;">
69
<table id="form" cellspacing="0" cellpadding="4" border="0">
73
a short name identifying this type<br>
74
<input type="text" name="name" value="[% type.name FILTER html %]"
75
size="50" maxlength="50">
82
a comprehensive description of this type<br>
83
[% INCLUDE global/textarea.html.tmpl
87
defaultcontent = type.description
96
the products/components to which [% typeLabelLowerPlural %] must
97
(inclusions) or must not (exclusions) belong in order for users
98
to be able to set flags of this type for them
101
<td style="vertical-align: top;">
102
<b>Product/Component:</b><br>
103
<select name="product" onchange="selectProduct(this.form, 'product', 'component', '__Any__');">
104
<option value="">__Any__</option>
105
[% FOREACH prod = products %]
106
<option value="[% prod.name FILTER html %]"
107
[% "selected" IF type.product.name == prod.name %]>
108
[% prod.name FILTER html %]</option>
111
<select name="component">
112
<option value="">__Any__</option>
113
[% FOREACH comp = components %]
114
<option value="[% comp FILTER html %]"
115
[% "selected" IF type.component.name == comp %]>
116
[% comp FILTER html %]</option>
119
<input type="submit" name="categoryAction-include" value="Include">
120
<input type="submit" name="categoryAction-exclude" value="Exclude">
122
<td style="vertical-align: top;">
123
<b>Inclusions:</b><br>
124
[% PROCESS "global/select-menu.html.tmpl" name="inclusion_to_remove" multiple="1" size="7" options=type.inclusions %]<br>
125
<input type="submit" name="categoryAction-removeInclusion" value="Remove Inclusion">
127
<td style="vertical-align: top;">
128
<b>Exclusions:</b><br>
129
[% PROCESS "global/select-menu.html.tmpl" name="exclusion_to_remove" multiple="1" size="7" options=type.exclusions %]<br>
130
<input type="submit" name="categoryAction-removeExclusion" value="Remove Exclusion">
140
a number between 1 and 32767 by which this type will be sorted
141
when displayed to users in a list; ignore if you don't care
142
what order the types appear in or if you want them to appear
143
in alphabetical order<br>
144
<input type="text" name="sortkey" value="[% type.sortkey || 1 %]" size="5" maxlength="5">
151
<input type="checkbox" name="is_active" [% "checked" IF type.is_active || !type.is_active.defined %]>
152
active (flags of this type appear in the UI and can be set)
159
<input type="checkbox" name="is_requestable" [% "checked" IF type.is_requestable || !type.is_requestable.defined %]>
160
requestable (users can ask for flags of this type to be set)
167
if requestable, who should get carbon copied on email notification of requests.
168
This is a comma-separated list of full e-mail addresses which do not
169
need to be [% terms.Bugzilla %] logins.
170
[% IF Param('emailsuffix') %]
171
Note that the configured emailsuffix
172
<kbd>[% Param('emailsuffix') %]</kbd> will <em>not</em> be appended
173
to these addresses, so you should add it explicitly if so desired.
175
<input type="text" name="cc_list" value="[% type.cc_list FILTER html %]" size="80" maxlength="200">
182
<input type="checkbox" name="is_requesteeble" [% "checked" IF type.is_requesteeble || !type.is_requesteeble.defined %]>
183
specifically requestable (users can ask specific other users to set flags of this type as opposed to just asking the wind)
190
<input type="checkbox" name="is_multiplicable" [% "checked" IF type.is_multiplicable || !type.is_multiplicable.defined %]>
191
multiplicable (multiple flags of this type can be set on the same [% typeLabelLowerSingular %])
196
<th>Grant Group:</th>
198
the group allowed to grant/deny flags of this type
199
(to allow all users to grant/deny these flags, select no group)<br>
200
[% PROCESS select selname = "grant_group" %]
205
<th>Request Group:</th>
207
if flags of this type are requestable, the group allowed to request them
208
(to allow all users to request these flags, select no group)<br>
209
Note that the request group alone has no effect if the grant group is not defined!<br>
210
[% PROCESS select selname = "request_group" %]
217
<input type="submit" id="save" value="
218
[%- IF (last_action == "enter" || last_action == "copy") %]Create
219
[%- ELSE %]Save Changes
228
[% PROCESS global/footer.html.tmpl %]
231
[%############################################################################%]
232
[%# Block for SELECT fields #%]
233
[%############################################################################%]
236
<select name="[% selname %]" id="[% selname %]">
237
<option value="">(no group)</option>
238
[% FOREACH group = groups %]
239
<option value="[% group.name FILTER html %]"
240
[% " selected" IF (type.${selname} && type.${selname}.name == group.name) %]>
241
[%- group.name FILTER html %]