diff options
author | lpsolit%gmail.com <> | 2005-07-08 01:33:45 +0000 |
---|---|---|
committer | lpsolit%gmail.com <> | 2005-07-08 01:33:45 +0000 |
commit | f20886b99e4b9c77baec231dc9a5fbdfe9faef59 (patch) | |
tree | fc28f529657e6160f59e634db50292f54422a5f4 | |
parent | Bug 242318: "blocked" field is ignored in post_bug.cgi if the "dependson" fie... (diff) | |
download | bugzilla-f20886b99e4b9c77baec231dc9a5fbdfe9faef59.tar.gz bugzilla-f20886b99e4b9c77baec231dc9a5fbdfe9faef59.tar.bz2 bugzilla-f20886b99e4b9c77baec231dc9a5fbdfe9faef59.zip |
Bug 299211: whine.pl fails if derive_groups is required - Patch by Marc Schumann <wurblzap@gmail.com> r=LpSolit a=justdave
-rw-r--r-- | Bugzilla/Constants.pm | 6 | ||||
-rw-r--r-- | Bugzilla/Flag.pm | 4 | ||||
-rwxr-xr-x | whine.pl | 8 |
3 files changed, 12 insertions, 6 deletions
diff --git a/Bugzilla/Constants.pm b/Bugzilla/Constants.pm index b745ad65f..a62629420 100644 --- a/Bugzilla/Constants.pm +++ b/Bugzilla/Constants.pm @@ -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; diff --git a/Bugzilla/Flag.pm b/Bugzilla/Flag.pm index 464ddffaf..f19369c24 100644 --- a/Bugzilla/Flag.pm +++ b/Bugzilla/Flag.pm @@ -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'); |