diff options
Diffstat (limited to 'Bugzilla/Config')
-rw-r--r-- | Bugzilla/Config/Common.pm | 12 | ||||
-rw-r--r-- | Bugzilla/Config/GroupSecurity.pm | 26 |
2 files changed, 29 insertions, 9 deletions
diff --git a/Bugzilla/Config/Common.pm b/Bugzilla/Config/Common.pm index 3e6e22a57..416a87849 100644 --- a/Bugzilla/Config/Common.pm +++ b/Bugzilla/Config/Common.pm @@ -38,10 +38,11 @@ use Socket; use Bugzilla::Util; use Bugzilla::Constants; use Bugzilla::Field; +use Bugzilla::Group; use base qw(Exporter); @Bugzilla::Config::Common::EXPORT = - qw(check_multi check_numeric check_regexp check_url + qw(check_multi check_numeric check_regexp check_url check_group check_sslbase check_priority check_severity check_platform check_opsys check_shadowdb check_urlbase check_webdotbase check_netmask check_user_verify_class check_image_converter @@ -151,6 +152,15 @@ sub check_opsys { return ""; } +sub check_group { + my $group_name = shift; + my $group = new Bugzilla::Group({'name' => $group_name}); + unless (defined $group) { + return "Must be an existing group name"; + } + return ""; +} + sub check_shadowdb { my ($value) = (@_); $value = trim($value); diff --git a/Bugzilla/Config/GroupSecurity.pm b/Bugzilla/Config/GroupSecurity.pm index f1f1ac2a6..4e9e5f51c 100644 --- a/Bugzilla/Config/GroupSecurity.pm +++ b/Bugzilla/Config/GroupSecurity.pm @@ -34,11 +34,15 @@ package Bugzilla::Config::GroupSecurity; use strict; use Bugzilla::Config::Common; +use Bugzilla::Group; $Bugzilla::Config::GroupSecurity::sortkey = "07"; sub get_param_list { my $class = shift; + + my @group_names = map {$_->name} Bugzilla::Group::get_all_groups(); + my @param_list = ( { name => 'makeproductgroups', @@ -54,22 +58,28 @@ sub get_param_list { { name => 'chartgroup', - type => 't', - default => 'editbugs' + type => 's', + choices => \@group_names, + default => 'editbugs', + checker => \&check_group }, - + { name => 'insidergroup', - type => 't', - default => '' + type => 's', + choices => \@group_names, + default => '', + checker => \&check_group }, { name => 'timetrackinggroup', - type => 't', - default => 'editbugs' + type => 's', + choices => \@group_names, + default => 'editbugs', + checker => \&check_group }, - + { name => 'usevisibilitygroups', type => 'b', |