blob: 876d95f925956d20e52ef72583c57ff3ae746219 [file] [log] [blame]
[%# 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.
#%]
[% title = BLOCK %]
Edit Group Controls for [% product.name FILTER html %]
[% END %]
[% PROCESS global/header.html.tmpl
title = title
style_urls = ['skins/standard/admin.css']
%]
[% display_headers = 1 %]
[% FOREACH group = product.group_controls(1).values.sort("name") %]
[% NEXT UNLESS group.group.isactive OR group.bug_count %]
[% IF display_headers %]
[% display_headers = 0 %]
<form method="post" action="editproducts.cgi">
<input type="hidden" name="action" value="updategroupcontrols">
<input type="hidden" name="product" value="[% product.name FILTER html %]">
<input type="hidden" name="token" value="[% token FILTER html %]">
<table id="admin_table">
<tr class="column_header">
<th>Group</th>
<th>Entry</th>
<th>MemberControl</th>
<th>OtherControl</th>
<th>Canedit</th>
<th>editcomponents</th>
<th>canconfirm</th>
<th>editbugs</th>
<th>[% terms.Bugs %]</th>
</tr>
[% END %]
[% IF !group.group.isactive %]
<tr class="disabled">
<td>[% group.group.name FILTER html %]</td>
<td class="center" colspan="7">Disabled</td>
<td>[% group.bug_count FILTER html %]</td>
</tr>
[% ELSE %]
<tr>
<td>[% group.group.name FILTER html %]</td>
<td>
<input type=checkbox value=1 name=entry_[% group.id %]
[% " checked='checked'" IF group.entry %]>
</td>
<td>
<select name="membercontrol_[% group.id %]">
<option value=[% constants.CONTROLMAPNA %]
[% " selected='selected'" IF group.membercontrol == constants.CONTROLMAPNA %]
>NA
</option>
<option value=[% constants.CONTROLMAPSHOWN %]
[% " selected='selected'" IF group.membercontrol == constants.CONTROLMAPSHOWN %]
>Shown
</option>
<option value=[% constants.CONTROLMAPDEFAULT %]
[% " selected='selected'" IF group.membercontrol == constants.CONTROLMAPDEFAULT %]
>Default
</option>
<option value=[% constants.CONTROLMAPMANDATORY %]
[% " selected='selected'" IF group.membercontrol == constants.CONTROLMAPMANDATORY %]
>Mandatory
</option>
</select>
</td>
<td>
<select name="othercontrol_[% group.id %]">
<option value=[% constants.CONTROLMAPNA %]
[% " selected='selected'" IF group.othercontrol == constants.CONTROLMAPNA %]
>NA
</option>
<option value=[% constants.CONTROLMAPSHOWN %]
[% " selected='selected'" IF group.othercontrol == constants.CONTROLMAPSHOWN %]
>Shown
</option>
<option value=[% constants.CONTROLMAPDEFAULT %]
[% " selected='selected'" IF group.othercontrol == constants.CONTROLMAPDEFAULT %]
>Default
</option>
<option value=[% constants.CONTROLMAPMANDATORY %]
[% " selected='selected'" IF group.othercontrol == constants.CONTROLMAPMANDATORY %]
>Mandatory
</option>
</select>
</td>
<td>
<input type=checkbox value=1 name=canedit_[% group.id %]
[% " checked='checked'" IF group.canedit %]>
</td>
<td>
<input type=checkbox value=1 name=editcomponents_[% group.id %]
[% " checked='checked'" IF group.editcomponents %]>
</td>
<td>
<input type=checkbox value=1 name=canconfirm_[% group.id %]
[% " checked='checked'" IF group.canconfirm %]>
</td>
<td>
<input type=checkbox value=1 name=editbugs_[% group.id %]
[% " checked='checked'" IF group.editbugs %]>
</td>
<td>[% group.bug_count || 0 FILTER html %]</td>
</tr>
[% END %]
[% END %]
[% IF display_headers %]
<p>No groups are available for products.
[% IF user.in_group('creategroups') %]
<a href="editgroups.cgi?action=add">Create a new group</a>
[% END %]
</p>
[% ELSE %]
</table>
<br>
<input type=submit name="submit" value="submit">
</form>
[% END %]
<p>
These settings control the relationship of the groups to this
product.
</p>
<p>
If any group has <b>Entry</b> selected, then this product will
restrict [% terms.bug %] entry to only those users who are members of
[%+ IF Param('or_groups') %]at least one of[% ELSE %]all[% END %] the groups
with entry selected.
</p>
<p>
If any group has <b>Canedit</b> selected, then this product
will be read-only for any users who are not members of
[%+ IF Param('or_groups') %]one[% ELSE %]all[% END %] of the groups with
Canedit selected. ONLY users who are members of
[%+ IF Param('or_groups') %]at least one of[% ELSE %]all[% END %] the canedit groups
will be able to edit. This is an additional restriction that further restricts what can be edited by a user.
</p>
<p>
The following settings control let you choose privileges on a <b>per-product basis</b>.
This is a convenient way to give privileges to some users for some products
only, without having to give them global privileges which would affect all
products:
</p>
<p>
Any group having <b>editcomponents</b> selected allows users who are
in this group to edit all aspects of this product, including components,
milestones and versions.
</p>
<p>
Any group having <b>canconfirm</b> selected allows users who are
in this group to confirm [% terms.bugs %] in this product.
</p>
<p>
Any group having <b>editbugs</b> selected allows users who are
in this group to edit all fields of [% terms.bugs %] in this product.
</p>
<p>
The <b>MemberControl</b> and <b>OtherControl</b> fields
indicate which [% terms.bugs %] will be placed in
this group according to the following definitions.
</p>
<table id="group_settings_desc">
<tr>
<th>
MemberControl
</th>
<th>
OtherControl
</th>
<th>
Interpretation
</th>
</tr>
<tr>
<td>
NA
</td>
<td>
NA
</td>
<td>
[% terms.Bugs %] in this product are never associated with this group.
</td>
</tr>
<tr>
<td>
Shown
</td>
<td>
NA
</td>
<td>
[% terms.Bugs %] in this product are permitted to be restricted to this
group. Users who are members of this group will be able to place [% terms.bugs %] in
this group.
</td>
</tr>
<tr>
<td>
Shown
</td>
<td>
Shown
</td>
<td>
[% terms.Bugs %] in this product can be placed in this group by anyone
with permission to edit the [% terms.bug %] even if they are not a member
of this group.
</td>
</tr>
<tr>
<td>
Shown
</td>
<td>
Default
</td>
<td>
[% terms.Bugs %] in this product can be placed in this group by anyone
with permission to edit the [% terms.bug %] even if they are not a member
of this group. Non-members place [% terms.bugs %] in this group by default.
</td>
</tr>
<tr>
<td>
Shown
</td>
<td>
Mandatory
</td>
<td>
[% terms.Bugs %] in this product are permitted to be restricted to this
group. Users who are members of this group will be able to place [% terms.bugs %]
in this group. Non-members will be forced to restrict [% terms.bugs %] to
this group when they initially enter [% terms.abug %] in this product.
</td>
</tr>
<tr>
<td>
Default
</td>
<td>
NA
</td>
<td>
[% terms.Bugs %] in this product are permitted to be restricted to this
group and are placed in this group by default. Users who are members of this
group will be able to place [% terms.bugs %] in this group.
</td>
</tr>
<tr>
<td>
Default
</td>
<td>
Default
</td>
<td>
[% terms.Bugs %] in this product are permitted to be restricted to this
group and are placed in this group by default. Users who are members of this group
will be able to place [% terms.bugs %] in this group. Non-members will be
able to restrict [% terms.bugs %] to this group on entry and will do so by default.
</td>
</tr>
<tr>
<td>
Default
</td>
<td>
Mandatory
</td>
<td>
[% terms.Bugs %] in this product are permitted to be restricted to this
group and are placed in this group by default. Users who are members of this group
will be able to place [% terms.bugs %] in this group. Non-members will be forced
to place [% terms.bugs %] in this group on entry.
</td>
</tr>
<tr>
<td>
Mandatory
</td>
<td>
Mandatory
</td>
<td>
[% terms.Bugs %] in this product are required to be restricted to this
group. Users are not given any option.
</td>
</tr>
</table>
<p>
Please note that the above table delineates the only allowable combinations
for the <b>MemberControl</b> and <b>OtherControl</b> field settings.
Attempting to submit a combination not listed there (e.g. Mandatory/NA,
Default/Shown, etc.) will produce an error message.
</p>
[% PROCESS global/footer.html.tmpl %]