diff options
-rw-r--r-- | Bugzilla/Group.pm | 26 | ||||
-rwxr-xr-x | editgroups.cgi | 24 | ||||
-rw-r--r-- | template/en/default/admin/groups/list.html.tmpl | 4 |
3 files changed, 28 insertions, 26 deletions
diff --git a/Bugzilla/Group.pm b/Bugzilla/Group.pm index 8f4c7885a..54fff489b 100644 --- a/Bugzilla/Group.pm +++ b/Bugzilla/Group.pm @@ -145,6 +145,19 @@ sub get_group_controls_by_product { return $groups; } +sub get_all_groups { + my $dbh = Bugzilla->dbh; + + my $group_ids = $dbh->selectcol_arrayref('SELECT id FROM groups + ORDER BY isbuggroup, name'); + + my @groups; + foreach my $gid (@$group_ids) { + push @groups, new Bugzilla::Group($gid); + } + return @groups; +} + 1; __END__ @@ -168,8 +181,8 @@ Bugzilla::Group - Bugzilla group class. my $is_active = $group->is_active; my $group_id = Bugzilla::Group::ValidateGroupName('admin', @users); - - my $grops = Bugzilla::Group::get_group_controls_by_product(1); + my $groups = Bugzilla::Group::get_group_controls_by_product(1); + my @groups = Bugzilla::get_all_groups(); =head1 DESCRIPTION @@ -221,6 +234,15 @@ Group.pm represents a Bugzilla Group object. Returns: A hash with group id as key and hash containing the group data as value. +=item C<get_all_groups()> + + Description: Returns all groups available, including both + system groups and bug groups. + + Params: none + + Returns: An array of group objects. + =back =cut diff --git a/editgroups.cgi b/editgroups.cgi index 62519fc54..f032da728 100755 --- a/editgroups.cgi +++ b/editgroups.cgi @@ -32,6 +32,7 @@ use lib "."; use Bugzilla; use Bugzilla::Constants; use Bugzilla::User; +use Bugzilla::Group; require "globals.pl"; my $cgi = Bugzilla->cgi; @@ -146,33 +147,12 @@ sub CheckGroupRegexp { # If no action is specified, get a list of all groups available. unless ($action) { - my @groups; - - my $group_list = - $dbh->selectall_arrayref('SELECT id, name, description, - userregexp, isactive, isbuggroup - FROM groups - ORDER BY isbuggroup, name'); - - foreach (@$group_list) { - my ($id, $name, $description, $regexp, $isactive, $isbuggroup) = @$_; - my $group = {}; - $group->{'id'} = $id; - $group->{'name'} = $name; - $group->{'description'} = $description; - $group->{'regexp'} = $regexp; - $group->{'isactive'} = $isactive; - $group->{'isbuggroup'} = $isbuggroup; - - push(@groups, $group); - } - + my @groups = Bugzilla::Group::get_all_groups(); $vars->{'groups'} = \@groups; print $cgi->header(); $template->process("admin/groups/list.html.tmpl", $vars) || ThrowTemplateError($template->error()); - exit; } diff --git a/template/en/default/admin/groups/list.html.tmpl b/template/en/default/admin/groups/list.html.tmpl index 9e6520244..c183e4aff 100644 --- a/template/en/default/admin/groups/list.html.tmpl +++ b/template/en/default/admin/groups/list.html.tmpl @@ -27,7 +27,7 @@ # - id: number. The ID of the group. # - name: string. The name of the group. # - description: string. The description of the group. - # - regexp: string. The user regexp for the given group. + # - userregexp: string. The user regexp for the given group. # - isactive: boolean int. Specifies if the group is active or not. # - isbuggroup: boolean int. Specifies if it can be used for bugs. #%] @@ -52,7 +52,7 @@ <tr> <td>[% group.name FILTER html %]</td> <td>[% group.description FILTER html %]</td> - <td>[% group.regexp FILTER html %] </td> + <td>[% group.userregexp FILTER html %] </td> <td align="center"> [% IF (group.isactive != 0) && (group.isbuggroup) %] |