summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlpsolit%gmail.com <>2005-08-31 01:47:25 +0200
committerlpsolit%gmail.com <>2005-08-31 01:47:25 +0200
commit29a562e5c22fd8437610edb3ceafc8c93ccfd610 (patch)
tree18fe30397801f4a9a2e111d6abba55a98ff2da1e
parent94b607da55ba701e1488a2654a9452acb7ad729b (diff)
downloadbugzilla-29a562e5c22fd8437610edb3ceafc8c93ccfd610.tar.gz
bugzilla-29a562e5c22fd8437610edb3ceafc8c93ccfd610.tar.xz
Bug 275608: The group selection when editing flag types should be a listbox with (no group) meaning no restriction - Patch by Frédéric Buclin <LpSolit@gmail.com> r=GavinS a=myk
-rwxr-xr-xeditflagtypes.cgi8
-rw-r--r--template/en/default/admin/flag-type/edit.html.tmpl24
-rw-r--r--template/en/default/filterexceptions.pl1
3 files changed, 27 insertions, 6 deletions
diff --git a/editflagtypes.cgi b/editflagtypes.cgi
index a7c1a5541..ed3743a43 100755
--- a/editflagtypes.cgi
+++ b/editflagtypes.cgi
@@ -36,6 +36,7 @@ use Bugzilla;
use Bugzilla::Constants;
use Bugzilla::Flag;
use Bugzilla::FlagType;
+use Bugzilla::Group;
use Bugzilla::User;
use Bugzilla::Util;
@@ -153,7 +154,9 @@ sub edit {
$vars->{'type'} = { 'target_type' => scalar $cgi->param('target_type'),
'inclusions' => \%inclusions };
}
-
+ # Get a list of groups available to restrict this flag type against.
+ my @groups = Bugzilla::Group::get_all_groups();
+ $vars->{'groups'} = \@groups;
# Return the appropriate HTTP response headers.
print $cgi->header();
@@ -203,7 +206,8 @@ sub processCategoryChange {
$vars->{'products'} = \@::legal_product;
$vars->{'components'} = \@::legal_components;
$vars->{'components_by_product'} = \%::components;
-
+ my @groups = Bugzilla::Group::get_all_groups();
+ $vars->{'groups'} = \@groups;
$vars->{'action'} = $cgi->param('action');
my $type = {};
foreach my $key ($cgi->param()) { $type->{$key} = $cgi->param($key) }
diff --git a/template/en/default/admin/flag-type/edit.html.tmpl b/template/en/default/admin/flag-type/edit.html.tmpl
index 8491a1e7f..6016fcfae 100644
--- a/template/en/default/admin/flag-type/edit.html.tmpl
+++ b/template/en/default/admin/flag-type/edit.html.tmpl
@@ -195,8 +195,8 @@
<th>Grant Group:</th>
<td>
the group allowed to grant/deny flags of this type
- (to allow all users to grant/deny these flags, leave this empty)<br>
- <input type="text" name="grant_gid" value="[% type.grant_gid FILTER html %]" size="50" maxlength="255">
+ (to allow all users to grant/deny these flags, select no group)<br>
+ [% PROCESS select selname = "grant_gid" %]
</td>
</tr>
@@ -204,9 +204,9 @@
<th>Request Group:</th>
<td>
if flags of this type are requestable, the group allowed to request them
- (to allow all users to request these flags, leave this empty)<br>
+ (to allow all users to request these flags, select no group)<br>
Note that the request group alone has no effect if the grant group is not defined!<br>
- <input type="text" name="request_gid" value="[% type.request_gid FILTER html %]" size="50" maxlength="255">
+ [% PROCESS select selname = "request_gid" %]
</td>
</tr>
@@ -225,3 +225,19 @@
</form>
[% PROCESS global/footer.html.tmpl %]
+
+
+[%############################################################################%]
+[%# Block for SELECT fields #%]
+[%############################################################################%]
+
+[% BLOCK select %]
+ <select name="[% selname %]" id="[% selname %]">
+ <option value="">(no group)</option>
+ [% FOREACH group = groups %]
+ <option value="[% group.name FILTER html %]"
+ [% " selected" IF type.${selname} == group.name %]>[% group.name FILTER html %]
+ </option>
+ [% END %]
+ </select>
+[% END %]
diff --git a/template/en/default/filterexceptions.pl b/template/en/default/filterexceptions.pl
index 8ec9a3f3f..5d70380ca 100644
--- a/template/en/default/filterexceptions.pl
+++ b/template/en/default/filterexceptions.pl
@@ -563,6 +563,7 @@
'type.sortkey || 1',
'typeLabelLowerPlural',
'typeLabelLowerSingular',
+ 'selname',
],
'admin/flag-type/list.html.tmpl' => [