Bug 324783: The chartgroup, insidergroup and timetrackinggroup groups in editparams.cgi should be listed in a dropdown menu - Patch by Fr�d�ric Buclin <LpSolit@gmail.com> r=Colin r=mkanat a=myk

This commit is contained in:
lpsolit%gmail.com 2006-06-21 01:06:00 +00:00
Родитель 281962f59d
Коммит e1c5167083
3 изменённых файлов: 30 добавлений и 11 удалений

Просмотреть файл

@ -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);

Просмотреть файл

@ -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',

Просмотреть файл

@ -25,7 +25,6 @@ use strict;
package Bugzilla::Group;
use Bugzilla::Config;
use Bugzilla::Util;
use Bugzilla::Error;
@ -113,7 +112,7 @@ sub ValidateGroupName {
my $dbh = Bugzilla->dbh;
my $query = "SELECT id FROM groups " .
"WHERE name = ?";
if (Param('usevisibilitygroups')) {
if (Bugzilla->params->{'usevisibilitygroups'}) {
my @visible = (-1);
foreach my $user (@users) {
$user && push @visible, @{$user->visible_groups_direct};