From 94b607da55ba701e1488a2654a9452acb7ad729b Mon Sep 17 00:00:00 2001 From: "lpsolit%gmail.com" <> Date: Tue, 30 Aug 2005 23:39:05 +0000 Subject: Bug 306271: Group.pm needs a get_all_groups() routine - Patch by Frédéric Buclin r=joel a=myk MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Bugzilla/Group.pm | 26 +++++++++++++++++++++++-- editgroups.cgi | 24 ++--------------------- 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 + + 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 @@ [% group.name FILTER html %] [% group.description FILTER html %] - [% group.regexp FILTER html %]  + [% group.userregexp FILTER html %]  [% IF (group.isactive != 0) && (group.isbuggroup) %] -- cgit v1.2.3-24-g4f1b