diff options
author | lpsolit%gmail.com <> | 2007-09-11 05:44:40 +0200 |
---|---|---|
committer | lpsolit%gmail.com <> | 2007-09-11 05:44:40 +0200 |
commit | 6293108f111312ccc9dc7230f984d58a4503193d (patch) | |
tree | ef6ba6e26b5623e8fe17666ee1a205c3f4b68866 | |
parent | e47ccbd86eed5fb84be7c3d0c3741d11703159c8 (diff) | |
download | bugzilla-6293108f111312ccc9dc7230f984d58a4503193d.tar.gz bugzilla-6293108f111312ccc9dc7230f984d58a4503193d.tar.xz |
Bug 395717: Moving bugs crashes Bugzilla due to unlock tables - Patch by Frédéric Buclin <LpSolit@gmail.com> r/a=mkanat
-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) { |