diff options
author | lpsolit%gmail.com <> | 2008-01-04 01:48:23 +0100 |
---|---|---|
committer | lpsolit%gmail.com <> | 2008-01-04 01:48:23 +0100 |
commit | 14d8113353b88817bee723c040769ed183e4f71e (patch) | |
tree | bd56b3a2de1554a1b467f6bdaca97590e8261636 | |
parent | bc799da184c1dca11311333ce895ed5a0b16f473 (diff) | |
download | bugzilla-14d8113353b88817bee723c040769ed183e4f71e.tar.gz bugzilla-14d8113353b88817bee723c040769ed183e4f71e.tar.xz |
Bug 410660: Updating a bug fails if there is a multi-select custom field - Patch by Ronaldo Maia <romaia@async.com.br> r/a=LpSolit
-rwxr-xr-x | Bugzilla/Bug.pm | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/Bugzilla/Bug.pm b/Bugzilla/Bug.pm index 5244a21b3..bfd110ad0 100755 --- a/Bugzilla/Bug.pm +++ b/Bugzilla/Bug.pm @@ -1406,8 +1406,15 @@ sub _set_global_validator { my ($self, $value, $field) = @_; my $current = $self->$field; my $privs; - $current = $current->id if ref $current && $current->isa('Bugzilla::Object'); - $value = $value->id if ref $value && $value->isa('Bugzilla::Object'); + + if (ref $current && ref($current) ne 'ARRAY' + && $current->isa('Bugzilla::Object')) { + $current = $current->id ; + } + if (ref $value && ref($value) ne 'ARRAY' + && $value->isa('Bugzilla::Object')) { + $value = $value->id ; + } my $can = $self->check_can_change_field($field, $current, $value, \$privs); if (!$can) { if ($field eq 'assigned_to' || $field eq 'qa_contact') { |