diff options
author | David Lawrence <dkl@mozilla.com> | 2014-04-10 16:29:53 +0200 |
---|---|---|
committer | David Lawrence <dkl@mozilla.com> | 2014-04-10 16:29:53 +0200 |
commit | 94fd1545568688d8e2627c14dab6192942b6ed37 (patch) | |
tree | f4a679f16dd15b16cb03cb70edf7af0256a84b7e /extensions/TrackingFlags/lib/Admin.pm | |
parent | a2689d0747d489c5d6f1b073a829df7d69357bda (diff) | |
parent | ffad8c2a00a341fdea08187a836c4d4365b2556f (diff) | |
download | bugzilla-94fd1545568688d8e2627c14dab6192942b6ed37.tar.gz bugzilla-94fd1545568688d8e2627c14dab6192942b6ed37.tar.xz |
Merge branch '4.2' of ssh://git.mozilla.org/webtools/bmo/bugzilla into 4.2
Diffstat (limited to 'extensions/TrackingFlags/lib/Admin.pm')
-rw-r--r-- | extensions/TrackingFlags/lib/Admin.pm | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/extensions/TrackingFlags/lib/Admin.pm b/extensions/TrackingFlags/lib/Admin.pm index ef7672eaa..b72416819 100644 --- a/extensions/TrackingFlags/lib/Admin.pm +++ b/extensions/TrackingFlags/lib/Admin.pm @@ -19,6 +19,7 @@ use Bugzilla::Util qw(trim detaint_natural); use Bugzilla::Extension::TrackingFlags::Constants; use Bugzilla::Extension::TrackingFlags::Flag; +use Bugzilla::Extension::TrackingFlags::Flag::Bug; use Bugzilla::Extension::TrackingFlags::Flag::Value; use Bugzilla::Extension::TrackingFlags::Flag::Visibility; @@ -338,8 +339,16 @@ sub _update_db_values { if ($value->{id}) { my $value_obj = Bugzilla::Extension::TrackingFlags::Flag::Value->new($value->{id}) || ThrowCodeError('tracking_flags_invalid_item_id', { item => 'flag value', id => $flag->{id} }); - $value_obj->set_all($object_set); - $value_obj->update(); + my $old_value = $value_obj->value; + if ($object_set->{value} ne $old_value) { + $value_obj->set_all($object_set); + $value_obj->update(); + Bugzilla::Extension::TrackingFlags::Flag::Bug->update_all_values({ + value_obj => $value_obj, + old_value => $old_value, + new_value => $value_obj->value, + }); + } } else { $object_set->{tracking_flag_id} = $flag_obj->flag_id; Bugzilla::Extension::TrackingFlags::Flag::Value->create($object_set); |