diff --git a/lib/NGCP/Panel/Controller/Subscriber.pm b/lib/NGCP/Panel/Controller/Subscriber.pm index ce23553ca8..2668396d01 100644 --- a/lib/NGCP/Panel/Controller/Subscriber.pm +++ b/lib/NGCP/Panel/Controller/Subscriber.pm @@ -3404,6 +3404,34 @@ sub edit_reminder :Chained('base') :PathPart('preferences/reminder/edit') { ); } + +sub delete_reminder :Chained('base') :PathPart('preferences/reminder/delete') { + my ($self, $c, $attribute) = @_; + + $c->detach('/denied_page') + if(($c->user->roles eq "admin" || $c->user->roles eq "reseller") && $c->user->read_only); + + my $reminder = $c->stash->{subscriber}->provisioning_voip_subscriber->voip_reminder; + if($reminder){ + try { + $reminder->delete; + NGCP::Panel::Utils::Message::info( + c => $c, + desc => $c->loc('Successfully cleared reminder setting'), + ); + } catch($e) { + NGCP::Panel::Utils::Message::error( + c => $c, + error => $e, + desc => $c->loc('Failed to clear reminder setting.'), + ); + } + } + NGCP::Panel::Utils::Navigation::back_or($c, + $c->uri_for_action('/subscriber/preferences', [$c->req->captures->[0]])); +} + + sub _process_calls_rows { my ($c,$rs) = @_; my $owner = { diff --git a/share/templates/subscriber/preferences.tt b/share/templates/subscriber/preferences.tt index f58f677ce8..f4380fbf31 100644 --- a/share/templates/subscriber/preferences.tt +++ b/share/templates/subscriber/preferences.tt @@ -563,6 +563,11 @@ [% c.loc('Edit') %] + [% IF subscriber.provisioning_voip_subscriber.voip_reminder -%] + + [% c.loc('Delete') %] + + [% END -%] [% END -%]