summaryrefslogtreecommitdiffstats
path: root/extensions/RequestNagger/Extension.pm
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/RequestNagger/Extension.pm')
-rw-r--r--extensions/RequestNagger/Extension.pm13
1 files changed, 9 insertions, 4 deletions
diff --git a/extensions/RequestNagger/Extension.pm b/extensions/RequestNagger/Extension.pm
index fa570edab..169f76b1e 100644
--- a/extensions/RequestNagger/Extension.pm
+++ b/extensions/RequestNagger/Extension.pm
@@ -14,6 +14,7 @@ use base qw(Bugzilla::Extension);
use Bugzilla::Constants;
use Bugzilla::Error;
+use Bugzilla::Extension::RequestNagger::Settings;
use Bugzilla::Flag;
use Bugzilla::Install::Filesystem;
use Bugzilla::User::Setting;
@@ -163,10 +164,6 @@ sub _defer_until {
$dbh->bz_commit_transaction();
}
-#
-# hooks
-#
-
sub object_end_of_update {
my ($self, $args) = @_;
if ($args->{object}->isa("Bugzilla::Flag") && exists $args->{changes}) {
@@ -198,6 +195,8 @@ sub user_preferences {
$user->id
) };
+ my $nag_settings = Bugzilla::Extension::RequestNagger::Settings->new($user->id);
+
if ($save) {
my $input = Bugzilla->input_params;
Bugzilla::User::match_field({ 'add_watching' => {'type' => 'multi'} });
@@ -247,10 +246,16 @@ sub user_preferences {
}
}
+ # watching settings
+ foreach my $field (Bugzilla::Extension::RequestNagger::Settings::FIELDS()) {
+ $nag_settings->set($field, $input->{$field});
+ }
+
$dbh->bz_commit_transaction();
}
$vars->{watching} = [ sort keys %watching ];
+ $vars->{settings} = $nag_settings;
my $handled = $args->{'handled'};
$$handled = 1;