diff --git a/lib/NGCP/Panel/Controller/API/Reminders.pm b/lib/NGCP/Panel/Controller/API/Reminders.pm index 6640bb4ba4..922b66cc7c 100644 --- a/lib/NGCP/Panel/Controller/API/Reminders.pm +++ b/lib/NGCP/Panel/Controller/API/Reminders.pm @@ -42,6 +42,19 @@ sub query_params { }, }, }, + { + param => 'active', + description => 'Filter for active or inactive reminders (0|1)', + query => { + first => sub { + my $q = shift; + return { active => !!$q }; + }, + second => sub { + return { }; + }, + }, + }, ]; } diff --git a/lib/NGCP/Panel/Controller/Subscriber.pm b/lib/NGCP/Panel/Controller/Subscriber.pm index 512d0b1b80..91f47df48d 100644 --- a/lib/NGCP/Panel/Controller/Subscriber.pm +++ b/lib/NGCP/Panel/Controller/Subscriber.pm @@ -3452,12 +3452,14 @@ sub edit_reminder :Chained('base') :PathPart('preferences/reminder/edit') { my $params = {}; if(!$posted && $reminder) { - $params = { 'time' => $reminder->column_time, recur => $reminder->recur}; + $params = { 'time' => $reminder->column_time, recur => $reminder->recur, active => $reminder->active}; } my $form = NGCP::Panel::Form::Reminder->new; $form->process( - params => $posted ? $c->req->params : $params + posted => $posted, + params => $c->req->params, + item => $params, ); NGCP::Panel::Utils::Navigation::check_form_buttons( c => $c, @@ -3476,12 +3478,14 @@ sub edit_reminder :Chained('base') :PathPart('preferences/reminder/edit') { $reminder->update({ time => $t, recur => $form->field('recur')->value, + active => $form->values->{active}, }); } else { $c->model('DB')->resultset('voip_reminder')->create({ subscriber_id => $c->stash->{subscriber}->provisioning_voip_subscriber->id, time => $t, recur => $form->field('recur')->value, + active => $form->values->{active}, }); } } elsif($reminder) { diff --git a/lib/NGCP/Panel/Form/Reminder.pm b/lib/NGCP/Panel/Form/Reminder.pm index fc52c72313..1ad7428cc9 100644 --- a/lib/NGCP/Panel/Form/Reminder.pm +++ b/lib/NGCP/Panel/Form/Reminder.pm @@ -35,6 +35,16 @@ has_field 'recur' => ( }, ); +has_field 'active' => ( + type => 'Boolean', + #required => 1, + default => 1, + element_attr => { + rel => ['tooltip'], + title => ['Enables or disables the reminder. When Repeat is set to once, reminder is also disabled after triggering once.'], + }, +); + has_field 'save' => ( type => 'Submit', value => 'Save', @@ -45,7 +55,7 @@ has_field 'save' => ( has_block 'fields' => ( tag => 'div', class => [qw/modal-body/], - render_list => [qw/time recur/], + render_list => [qw/time recur active/], ); has_block 'actions' => ( diff --git a/lib/NGCP/Panel/Form/Reminder/API.pm b/lib/NGCP/Panel/Form/Reminder/API.pm index ea05369ab9..8420f8a338 100644 --- a/lib/NGCP/Panel/Form/Reminder/API.pm +++ b/lib/NGCP/Panel/Form/Reminder/API.pm @@ -15,7 +15,7 @@ has_field 'subscriber_id' => ( has_block 'fields' => ( tag => 'div', class => [qw/modal-body/], - render_list => [qw/time recur subscriber_id/], + render_list => [qw/time recur active subscriber_id/], ); 1; diff --git a/share/templates/subscriber/preferences.tt b/share/templates/subscriber/preferences.tt index ec260430ab..10d95684b9 100644 --- a/share/templates/subscriber/preferences.tt +++ b/share/templates/subscriber/preferences.tt @@ -659,6 +659,7 @@ $( document ).ready(function() {