From 65a7666c8558b856b4eb683bd74fe98fc0b395fe Mon Sep 17 00:00:00 2001 From: Andreas Granig Date: Thu, 23 Feb 2012 17:10:08 +0000 Subject: [PATCH] Implement adding a permanent location entry. --- lib/admin/Controller/subscriber.pm | 36 ++++++++++++++++++++++++++++++ root/tt/subscriber_detail.tt | 22 +++++++++++++----- 2 files changed, 52 insertions(+), 6 deletions(-) diff --git a/lib/admin/Controller/subscriber.pm b/lib/admin/Controller/subscriber.pm index 789006c..b6724a8 100644 --- a/lib/admin/Controller/subscriber.pm +++ b/lib/admin/Controller/subscriber.pm @@ -558,6 +558,42 @@ sub expire : Local { { $c->session->{messages}{contmsg} = 'Server.Voip.RemovedRegisteredContact'; $c->response->redirect("/subscriber/detail?subscriber_id=$subscriber_id#activeregs"); + return; + } + + $c->response->redirect("/subscriber/detail?subscriber_id=$subscriber_id"); +} + +sub add_permanent_contact : Local { + my ( $self, $c ) = @_; + + my $subscriber; + + my $subscriber_id = $c->request->params->{subscriber_id}; + my $contact = $c->request->params->{contact}; + + unless($contact =~ /^sip\:[a-zA-Z0-9\-\_\.\!\~\*\'\(\)\%]+\@[a-zA-Z0-9\-\.\[\]\:]+(\:\d{1,5})?$/) { + $c->session->{messages}{conterr} = 'Client.Syntax.MalformedUri'; + $c->response->redirect("/subscriber/detail?subscriber_id=$subscriber_id#activeregs"); + return; + } + + return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_by_id', + { subscriber_id => $subscriber_id }, + \$subscriber + ); + + if($c->model('Provisioning')->call_prov( $c, 'voip', 'add_subscriber_registered_device', + { username => $$subscriber{username}, + domain => $$subscriber{domain}, + contact => $contact, + }, + undef + )) + { + $c->session->{messages}{contmsg} = 'Server.Voip.AddedRegisteredContact'; + $c->response->redirect("/subscriber/detail?subscriber_id=$subscriber_id#activeregs"); + return; } $c->response->redirect("/subscriber/detail?subscriber_id=$subscriber_id"); diff --git a/root/tt/subscriber_detail.tt b/root/tt/subscriber_detail.tt index b5181c9..e7fbebb 100644 --- a/root/tt/subscriber_detail.tt +++ b/root/tt/subscriber_detail.tt @@ -237,10 +237,11 @@

Active Device Registrations

[% IF messages.contmsg %]
[% messages.contmsg %]
[% END %] + [% IF messages.conterr %]
[% messages.conterr %]
[% END %] +

Active Peer Registration