diff options
author | Frédéric Buclin <LpSolit@gmail.com> | 2011-07-04 22:43:06 +0200 |
---|---|---|
committer | Frédéric Buclin <LpSolit@gmail.com> | 2011-07-04 22:43:06 +0200 |
commit | 77a3c5bc2fe22cf744ba74144532459a46ac5571 (patch) | |
tree | 95aa96d887e69288f924255da4bbce1476b5e8ac /editflagtypes.cgi | |
parent | 846ac8ad0ad2668219c10d5805185bed7459ad47 (diff) | |
download | bugs-77a3c5bc2fe22cf744ba74144532459a46ac5571.tar bugs-77a3c5bc2fe22cf744ba74144532459a46ac5571.tar.gz bugs-77a3c5bc2fe22cf744ba74144532459a46ac5571.tar.bz2 bugs-77a3c5bc2fe22cf744ba74144532459a46ac5571.tar.xz bugs-77a3c5bc2fe22cf744ba74144532459a46ac5571.zip |
Bug 616679: A user with local editcomponents privs should be able to set the grant and request groups to groups the user belongs to only
a=LpSolit
Diffstat (limited to 'editflagtypes.cgi')
-rwxr-xr-x | editflagtypes.cgi | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/editflagtypes.cgi b/editflagtypes.cgi index 4d11eecdb..d78942c07 100755 --- a/editflagtypes.cgi +++ b/editflagtypes.cgi @@ -122,7 +122,7 @@ if (my ($category_action) = grep { $_ =~ /^categoryAction-(?:\w+)$/ } $cgi->para } } - $vars->{'groups'} = [Bugzilla::Group->get_all]; + $vars->{'groups'} = get_settable_groups(); $vars->{'action'} = $action; my $type = {}; @@ -226,7 +226,7 @@ if ($action eq 'enter') { if $user->in_group('editcomponents'); $vars->{'can_fully_edit'} = 1; # Get a list of groups available to restrict this flag type against. - $vars->{'groups'} = [Bugzilla::Group->get_all]; + $vars->{'groups'} = get_settable_groups(); $template->process("admin/flag-type/edit.html.tmpl", $vars) || ThrowTemplateError($template->error()); @@ -258,7 +258,7 @@ if ($action eq 'edit' || $action eq 'copy') { } # Get a list of groups available to restrict this flag type against. - $vars->{'groups'} = [Bugzilla::Group->get_all]; + $vars->{'groups'} = get_settable_groups(); $template->process("admin/flag-type/edit.html.tmpl", $vars) || ThrowTemplateError($template->error()); @@ -490,6 +490,12 @@ sub get_editable_flagtypes { return $flagtypes; } +sub get_settable_groups { + my $user = Bugzilla->user; + my $groups = $user->in_group('editcomponents') ? [Bugzilla::Group->get_all] : $user->groups; + return $groups; +} + sub filter_group { my ($flag_types, $gid) = @_; return $flag_types unless $gid; |