diff options
author | lpsolit%gmail.com <> | 2007-09-11 03:44:40 +0000 |
---|---|---|
committer | lpsolit%gmail.com <> | 2007-09-11 03:44:40 +0000 |
commit | 6293108f111312ccc9dc7230f984d58a4503193d (patch) | |
tree | ef6ba6e26b5623e8fe17666ee1a205c3f4b68866 /process_bug.cgi | |
parent | Bug 395603: "invalid bug attribute remaining_time" is thrown when the timetra... (diff) | |
download | bugzilla-6293108f111312ccc9dc7230f984d58a4503193d.tar.gz bugzilla-6293108f111312ccc9dc7230f984d58a4503193d.tar.bz2 bugzilla-6293108f111312ccc9dc7230f984d58a4503193d.zip |
Bug 395717: Moving bugs crashes Bugzilla due to unlock tables - Patch by Frédéric Buclin <LpSolit@gmail.com> r/a=mkanat
Diffstat (limited to 'process_bug.cgi')
-rwxr-xr-x | process_bug.cgi | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/process_bug.cgi b/process_bug.cgi index d4bf213ad..5b490cc1b 100755 --- a/process_bug.cgi +++ b/process_bug.cgi @@ -479,13 +479,17 @@ if ($action eq Bugzilla->params->{'move-button-text'}) { $user->is_mover || ThrowUserError("auth_failure", {action => 'move', object => 'bugs'}); + my @multi_select_locks = map {'bug_' . $_->name . " WRITE"} + Bugzilla->get_fields({ custom => 1, type => FIELD_TYPE_MULTI_SELECT, + obsolete => 0 }); + $dbh->bz_lock_tables('bugs WRITE', 'bugs_activity WRITE', 'duplicates WRITE', 'longdescs WRITE', 'profiles READ', 'groups READ', 'bug_group_map READ', 'group_group_map READ', 'user_group_map READ', 'classifications READ', 'products READ', 'components READ', 'votes READ', 'cc READ', 'fielddefs READ', 'bug_status READ', - 'status_workflow READ', 'resolution READ'); + 'status_workflow READ', 'resolution READ', @multi_select_locks); # First update all moved bugs. foreach my $bug (@bug_objects) { |