зеркало из https://github.com/mozilla/pjs.git
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:
Родитель
281962f59d
Коммит
e1c5167083
|
@ -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};
|
||||
|
|
Загрузка…
Ссылка в новой задаче