Commit f20886b9 authored by lpsolit%gmail.com's avatar lpsolit%gmail.com

Bug 299211: whine.pl fails if derive_groups is required - Patch by Marc Schumann…

Bug 299211: whine.pl fails if derive_groups is required - Patch by Marc Schumann <wurblzap@gmail.com> r=LpSolit a=justdave
parent 7459578f
......@@ -68,6 +68,8 @@ use base qw(Exporter);
COMMENT_COLS
DERIVE_GROUPS_TABLES_ALREADY_LOCKED
UNLOCK_ABORT
RELATIONSHIPS
......@@ -174,6 +176,10 @@ use constant DEFAULT_QUERY_NAME => '(Default query)';
# The column length for displayed (and wrapped) bug comments.
use constant COMMENT_COLS => 80;
# Used to indicate to User::new and User::new_from_login calls
# that the derive_groups tables are already locked
use constant DERIVE_GROUPS_TABLES_ALREADY_LOCKED => 1;
# used by Bugzilla::DB to indicate that tables are being unlocked
# because of error
use constant UNLOCK_ABORT => 1;
......
......@@ -74,8 +74,6 @@ use Bugzilla::Attachment;
use Bugzilla::BugMail;
use Bugzilla::Constants;
use constant TABLES_ALREADY_LOCKED => 1;
# Note that this line doesn't actually import these variables for some reason,
# so I have to use them as $::template and $::vars in the package code.
use vars qw($template $vars);
......@@ -865,7 +863,7 @@ sub notify {
my @new_cc_list;
foreach my $cc (split(/[, ]+/, $flag->{'type'}->{'cc_list'})) {
my $ccuser = Bugzilla::User->new_from_login($cc,
TABLES_ALREADY_LOCKED)
DERIVE_GROUPS_TABLES_ALREADY_LOCKED)
|| next;
next if $flag->{'target'}->{'bug'}->{'restricted'}
......
......@@ -228,9 +228,10 @@ sub get_next_event {
$dbh->bz_lock_tables('whine_schedules WRITE',
'whine_events READ',
'profiles READ',
'profiles WRITE',
'groups READ',
'user_group_map READ');
'group_group_map READ',
'user_group_map WRITE');
# Get the event ID for the first pending schedule
$sth_next_scheduled_event->execute;
......@@ -239,7 +240,8 @@ sub get_next_event {
return undef unless $fetched;
my ($eventid, $owner_id, $subject, $body) = @{$fetched};
my $owner = Bugzilla::User->new($owner_id);
my $owner = Bugzilla::User->new($owner_id,
DERIVE_GROUPS_TABLES_ALREADY_LOCKED);
my $whineatothers = $owner->in_group('bz_canusewhineatothers');
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment