From e490b45d57aee2aacd171a4a9b586111a8c88f53 Mon Sep 17 00:00:00 2001 From: "travis%sedsystems.ca" <> Date: Wed, 16 Mar 2005 06:10:13 +0000 Subject: Bug 283581 : Move UserInGroup out of globals.pl Patch by Colin Ogilvie r=mkanat a=justdave --- Bugzilla/Attachment.pm | 3 ++- Bugzilla/DB.pm | 3 ++- Bugzilla/Search.pm | 10 +++++----- Bugzilla/Series.pm | 2 +- Bugzilla/Template.pm | 3 ++- Bugzilla/User.pm | 13 +++++++++++-- CGI.pl | 1 + buglist.cgi | 1 + chart.cgi | 1 + colchange.cgi | 1 + describekeywords.cgi | 1 + doeditparams.cgi | 1 + editflagtypes.cgi | 1 + editgroups.cgi | 1 + editkeywords.cgi | 1 + editmilestones.cgi | 1 + editparams.cgi | 1 + editproducts.cgi | 2 +- editsettings.cgi | 1 + editversions.cgi | 1 + enter_bug.cgi | 1 + globals.pl | 8 -------- query.cgi | 1 + sanitycheck.cgi | 1 + show_bug.cgi | 1 + showdependencytree.cgi | 1 + summarize_time.cgi | 2 +- 27 files changed, 43 insertions(+), 21 deletions(-) diff --git a/Bugzilla/Attachment.pm b/Bugzilla/Attachment.pm index 8be92dcf2..1a1246d86 100644 --- a/Bugzilla/Attachment.pm +++ b/Bugzilla/Attachment.pm @@ -34,6 +34,7 @@ package Bugzilla::Attachment; # Use the Flag module to handle flags. use Bugzilla::Flag; use Bugzilla::Config qw(:locations); +use Bugzilla::User; ############################################################################ # Functions @@ -69,7 +70,7 @@ sub query my $dbh = Bugzilla->dbh; - my $in_editbugs = &::UserInGroup("editbugs"); + my $in_editbugs = UserInGroup("editbugs"); &::SendSQL("SELECT product_id FROM bugs WHERE bug_id = $bugid"); diff --git a/Bugzilla/DB.pm b/Bugzilla/DB.pm index 6e0903a76..098d10ba1 100644 --- a/Bugzilla/DB.pm +++ b/Bugzilla/DB.pm @@ -49,6 +49,7 @@ use Bugzilla::Config qw(:DEFAULT :db); use Bugzilla::Util; use Bugzilla::Error; use Bugzilla::DB::Schema; +use Bugzilla::User; # All this code is backwards compat fu. As such, its a bit ugly. Note the # circular dependencies on Bugzilla.pm @@ -261,7 +262,7 @@ sub bz_get_field_defs { my ($self) = @_; my $extra = ""; - if (!&::UserInGroup(Param('timetrackinggroup'))) { + if (!UserInGroup(Param('timetrackinggroup'))) { $extra = "AND name NOT IN ('estimated_time', 'remaining_time', " . "'work_time', 'percentage_complete', 'deadline')"; } diff --git a/Bugzilla/Search.pm b/Bugzilla/Search.pm index e38aed7bf..af8df0ab2 100644 --- a/Bugzilla/Search.pm +++ b/Bugzilla/Search.pm @@ -562,7 +562,7 @@ sub init { my $table = "longdescs_$chartid"; my $extra = ""; if (Param("insidergroup") - && !&::UserInGroup(Param("insidergroup"))) + && !UserInGroup(Param("insidergroup"))) { $extra = "AND $table.isprivate < 1"; } @@ -625,7 +625,7 @@ sub init { } my $table = "longdescs_$chartseq"; my $extra = ""; - if (Param("insidergroup") && !&::UserInGroup(Param("insidergroup"))) { + if (Param("insidergroup") && !UserInGroup(Param("insidergroup"))) { $extra = "AND $table.isprivate < 1"; } push(@supptables, "LEFT JOIN longdescs AS $table " . @@ -643,7 +643,7 @@ sub init { } my $table = "longdescs_$chartseq"; my $extra = ""; - if (Param("insidergroup") && !&::UserInGroup(Param("insidergroup"))) { + if (Param("insidergroup") && !UserInGroup(Param("insidergroup"))) { $extra = "AND $table.isprivate < 1"; } if ($list) { @@ -664,7 +664,7 @@ sub init { "^long_?desc," => sub { my $table = "longdescs_$chartid"; my $extra = ""; - if (Param("insidergroup") && !&::UserInGroup(Param("insidergroup"))) { + if (Param("insidergroup") && !UserInGroup(Param("insidergroup"))) { $extra = "AND $table.isprivate < 1"; } push(@supptables, "INNER JOIN longdescs AS $table " . @@ -740,7 +740,7 @@ sub init { "^attachments\..*," => sub { my $table = "attachments_$chartid"; my $extra = ""; - if (Param("insidergroup") && !&::UserInGroup(Param("insidergroup"))) { + if (Param("insidergroup") && !UserInGroup(Param("insidergroup"))) { $extra = "AND $table.isprivate = 0"; } push(@supptables, "INNER JOIN attachments AS $table " . diff --git a/Bugzilla/Series.pm b/Bugzilla/Series.pm index 53e6fbabf..3d4f301b9 100644 --- a/Bugzilla/Series.pm +++ b/Bugzilla/Series.pm @@ -163,7 +163,7 @@ sub initFromCGI { # Change 'admin' here and in series.html.tmpl, or remove the check # completely, if you want to change who can make series public. - $self->{'public'} = 0 unless &::UserInGroup('admin'); + $self->{'public'} = 0 unless UserInGroup('admin'); } sub writeToDatabase { diff --git a/Bugzilla/Template.pm b/Bugzilla/Template.pm index aea32a2b3..3e37ed5e7 100644 --- a/Bugzilla/Template.pm +++ b/Bugzilla/Template.pm @@ -32,6 +32,7 @@ use strict; use Bugzilla::Config qw(:DEFAULT $templatedir $datadir); use Bugzilla::Util; +use Bugzilla::User; # for time2str - replace by TT Date plugin?? use Date::Format (); @@ -406,7 +407,7 @@ sub create { 'user' => sub { return Bugzilla->user; }, # UserInGroup. Deprecated - use the user.* functions instead - 'UserInGroup' => \&::UserInGroup, + 'UserInGroup' => \&Bugzilla::User::UserInGroup, # SendBugMail - sends mail about a bug, using Bugzilla::BugMail.pm 'SendBugMail' => sub { diff --git a/Bugzilla/User.pm b/Bugzilla/User.pm index 63b2f6848..fabffa621 100644 --- a/Bugzilla/User.pm +++ b/Bugzilla/User.pm @@ -45,6 +45,7 @@ use Bugzilla::Auth; use base qw(Exporter); @Bugzilla::User::EXPORT = qw(insert_new_user is_available_username login_to_id + UserInGroup ); ################################################################################ @@ -1058,6 +1059,10 @@ sub login_to_id ($) { } } +sub UserInGroup ($) { + return defined Bugzilla->user->groups->{$_[0]} ? 1 : 0; +} + 1; __END__ @@ -1335,8 +1340,6 @@ Params: $username (scalar, string) - The full login name of the username can change his username to $username. (That is, this function will return a boolean true value). -=back - =item C Takes a login name of a Bugzilla user and changes that into a numeric @@ -1351,6 +1354,12 @@ of a user, but you don't want the full weight of Bugzilla::User. However, consider using a Bugzilla::User object instead of this function if you need more information about the user than just their ID. +=item C + +Takes a name of a group, and returns 1 if a user is in the group, 0 otherwise. + +=back + =head1 SEE ALSO L diff --git a/CGI.pl b/CGI.pl index 31ed48e3d..d1c738ff9 100644 --- a/CGI.pl +++ b/CGI.pl @@ -46,6 +46,7 @@ use Bugzilla::Constants; use Bugzilla::Error; use Bugzilla::BugMail; use Bugzilla::Bug; +use Bugzilla::User; # Shut up misguided -w warnings about "used only once". For some reason, # "use vars" chokes on me when I try it here. diff --git a/buglist.cgi b/buglist.cgi index 972717731..c401c43c2 100755 --- a/buglist.cgi +++ b/buglist.cgi @@ -39,6 +39,7 @@ use vars qw($template $vars); use Bugzilla; use Bugzilla::Search; use Bugzilla::Constants; +use Bugzilla::User; # Include the Bugzilla CGI and general utility library. require "CGI.pl"; diff --git a/chart.cgi b/chart.cgi index 8b0d3971e..321c867fe 100755 --- a/chart.cgi +++ b/chart.cgi @@ -48,6 +48,7 @@ require "CGI.pl"; use Bugzilla::Constants; use Bugzilla::Chart; use Bugzilla::Series; +use Bugzilla::User; use vars qw($cgi $template $vars); diff --git a/colchange.cgi b/colchange.cgi index d84ee5404..11caca423 100755 --- a/colchange.cgi +++ b/colchange.cgi @@ -34,6 +34,7 @@ use vars qw( use Bugzilla; use Bugzilla::Constants; +use Bugzilla::User; require "CGI.pl"; Bugzilla->login(); diff --git a/describekeywords.cgi b/describekeywords.cgi index 8597e6791..dd25c40d6 100755 --- a/describekeywords.cgi +++ b/describekeywords.cgi @@ -25,6 +25,7 @@ use strict; use lib "."; use Bugzilla; +use Bugzilla::User; require "CGI.pl"; diff --git a/doeditparams.cgi b/doeditparams.cgi index 099b98404..028f28a60 100755 --- a/doeditparams.cgi +++ b/doeditparams.cgi @@ -28,6 +28,7 @@ use lib qw(.); use Bugzilla; use Bugzilla::Constants; use Bugzilla::Config qw(:DEFAULT :admin $datadir); +use Bugzilla::User; require "CGI.pl"; diff --git a/editflagtypes.cgi b/editflagtypes.cgi index 9c14219d2..7936823dc 100755 --- a/editflagtypes.cgi +++ b/editflagtypes.cgi @@ -36,6 +36,7 @@ use Bugzilla; use Bugzilla::Constants; use Bugzilla::Flag; use Bugzilla::FlagType; +use Bugzilla::User; use vars qw( $template $vars ); diff --git a/editgroups.cgi b/editgroups.cgi index abef251f4..c352908bb 100755 --- a/editgroups.cgi +++ b/editgroups.cgi @@ -31,6 +31,7 @@ use lib "."; use Bugzilla; use Bugzilla::Constants; +use Bugzilla::User; require "CGI.pl"; my $cgi = Bugzilla->cgi; diff --git a/editkeywords.cgi b/editkeywords.cgi index 4f4cf4bd5..f5fcf6a57 100755 --- a/editkeywords.cgi +++ b/editkeywords.cgi @@ -27,6 +27,7 @@ require "CGI.pl"; use Bugzilla::Constants; use Bugzilla::Config qw(:DEFAULT $datadir); +use Bugzilla::User; my $cgi = Bugzilla->cgi; diff --git a/editmilestones.cgi b/editmilestones.cgi index 85bcae8d3..e62dcc4cb 100755 --- a/editmilestones.cgi +++ b/editmilestones.cgi @@ -23,6 +23,7 @@ require "globals.pl"; use Bugzilla::Constants; use Bugzilla::Config qw(:DEFAULT $datadir); +use Bugzilla::User; use vars qw($template $vars); diff --git a/editparams.cgi b/editparams.cgi index 5d7ff9178..620ae6bae 100755 --- a/editparams.cgi +++ b/editparams.cgi @@ -27,6 +27,7 @@ use lib "."; use Bugzilla::Constants; use Bugzilla::Config qw(:DEFAULT :admin); +use Bugzilla::User; require "CGI.pl"; diff --git a/editproducts.cgi b/editproducts.cgi index de0c874e2..aff79871c 100755 --- a/editproducts.cgi +++ b/editproducts.cgi @@ -35,7 +35,7 @@ use Bugzilla::Constants; require "CGI.pl"; require "globals.pl"; use Bugzilla::Series; - +use Bugzilla::User; use Bugzilla::Config qw(:DEFAULT $datadir); # Shut up misguided -w warnings about "used only once". "use vars" just diff --git a/editsettings.cgi b/editsettings.cgi index 7ce05b2a2..b5e810ba9 100755 --- a/editsettings.cgi +++ b/editsettings.cgi @@ -21,6 +21,7 @@ use lib qw(.); use Bugzilla; use Bugzilla::Constants; +use Bugzilla::User; use Bugzilla::User::Setting; require "CGI.pl"; diff --git a/editversions.cgi b/editversions.cgi index 7faea7c8d..86c82beea 100755 --- a/editversions.cgi +++ b/editversions.cgi @@ -35,6 +35,7 @@ require "globals.pl"; use Bugzilla::Constants; use Bugzilla::Config qw(:DEFAULT $datadir); +use Bugzilla::User; use vars qw($template $vars); diff --git a/enter_bug.cgi b/enter_bug.cgi index e2cd7f295..a242c1883 100755 --- a/enter_bug.cgi +++ b/enter_bug.cgi @@ -40,6 +40,7 @@ use lib qw(.); use Bugzilla; use Bugzilla::Constants; use Bugzilla::Bug; +use Bugzilla::User; require "CGI.pl"; use vars qw( diff --git a/globals.pl b/globals.pl index ec7d39693..ec8c52d4d 100644 --- a/globals.pl +++ b/globals.pl @@ -966,14 +966,6 @@ sub get_legal_field_values { return @$result_ref; } -sub UserInGroup { - if ($_[1]) { - die "UserInGroup no longer takes a second parameter."; - } - - return defined Bugzilla->user->groups->{$_[0]}; -} - sub BugInGroupId { my ($bugid, $groupid) = (@_); PushGlobalSQLState(); diff --git a/query.cgi b/query.cgi index ef02bbbca..625117139 100755 --- a/query.cgi +++ b/query.cgi @@ -32,6 +32,7 @@ require "CGI.pl"; use Bugzilla::Constants; use Bugzilla::Search; +use Bugzilla::User; use vars qw( @CheckOptionValues diff --git a/sanitycheck.cgi b/sanitycheck.cgi index c3c415312..6f85e6cfd 100755 --- a/sanitycheck.cgi +++ b/sanitycheck.cgi @@ -28,6 +28,7 @@ use lib qw(.); require "CGI.pl"; use Bugzilla::Constants; +use Bugzilla::User; ########################################################################### # General subs diff --git a/show_bug.cgi b/show_bug.cgi index 03cf6f60d..e855b442f 100755 --- a/show_bug.cgi +++ b/show_bug.cgi @@ -26,6 +26,7 @@ use lib qw(.); use Bugzilla; use Bugzilla::Constants; +use Bugzilla::User; require "CGI.pl"; diff --git a/showdependencytree.cgi b/showdependencytree.cgi index f1a495a6d..b373563c1 100755 --- a/showdependencytree.cgi +++ b/showdependencytree.cgi @@ -27,6 +27,7 @@ use strict; use lib qw(.); require "CGI.pl"; +use Bugzilla::User; # Use global template variables. use vars qw($template $vars); diff --git a/summarize_time.cgi b/summarize_time.cgi index 94b7e83f8..8992918cc 100755 --- a/summarize_time.cgi +++ b/summarize_time.cgi @@ -26,7 +26,7 @@ use Date::Format; # strftime use Bugzilla::Bug; # EmitDependList use Bugzilla::Util; # trim use Bugzilla::Constants; # LOGIN_* - +use Bugzilla::User; # UserInGroup require "CGI.pl"; GetVersionTable(); -- cgit v1.2.3-24-g4f1b