diff --git a/lib/admin/Controller/subscriber.pm b/lib/admin/Controller/subscriber.pm index 3f956e1..b7c4613 100644 --- a/lib/admin/Controller/subscriber.pm +++ b/lib/admin/Controller/subscriber.pm @@ -119,35 +119,35 @@ sub detail : Local { $c->stash->{template} = 'tt/subscriber_detail.tt'; my $is_new = $c->request->params->{new}; - my $preferences; + my ($preferences, $subscriber); unless($is_new) { my $subscriber_id = $c->request->params->{subscriber_id}; return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_by_id', { subscriber_id => $subscriber_id }, - \$c->session->{subscriber} + \$subscriber ); return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_preferences', - { username => $c->session->{subscriber}{username}, - domain => $c->session->{subscriber}{domain}, + { username => $$subscriber{username}, + domain => $$subscriber{domain}, }, \$preferences ); my $regcon; return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_registered_devices', - { username => $c->session->{subscriber}{username}, - domain => $c->session->{subscriber}{domain}, + { username => $$subscriber{username}, + domain => $$subscriber{domain}, }, \$regcon ); - $c->session->{subscriber}{registered_contacts} = $regcon if eval { @$regcon }; + $$subscriber{registered_contacts} = $regcon if eval { @$regcon }; my $regpeer; return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_registered_peer', - { username => $c->session->{subscriber}{username}, - domain => $c->session->{subscriber}{domain}, + { username => $$subscriber{username}, + domain => $$subscriber{domain}, }, \$regpeer ); @@ -157,11 +157,11 @@ sub detail : Local { $$regpeer{contacts} =~ s/>/\>/g; $$regpeer{contacts_short} =~ s//\>/g; - $c->session->{subscriber}{registered_peer} = $regpeer; + $$subscriber{registered_peer} = $regpeer; } - eval { $c->session->{subscriber}{aliases} = [ sort @{$c->session->{subscriber}{aliases}} ] }; - $c->stash->{subscriber} = $c->session->{subscriber}; + eval { $$subscriber{aliases} = [ sort @{$$subscriber{aliases}} ] }; + $c->stash->{subscriber} = $subscriber; $c->stash->{subscriber}{subscriber_id} = $subscriber_id; $c->stash->{subscriber}{is_locked} = $c->model('Provisioning')->localize($c, $c->view($c->config->{view})-> config->{VARIABLES}{site_config}{language}, @@ -211,26 +211,27 @@ sub update_subscriber : Local { my ( $self, $c ) = @_; my (%settings, %messages); + my $subscriber; my $subscriber_id = $c->request->params->{subscriber_id}; if($subscriber_id) { return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_by_id', { subscriber_id => $subscriber_id }, - \$c->session->{subscriber} + \$subscriber ); } else { my $checkresult; - $c->session->{subscriber}{account_id} = $c->request->params->{account_id}; + $$subscriber{account_id} = $c->request->params->{account_id}; - $c->session->{subscriber}{username} = $c->request->params->{username}; + $$subscriber{username} = $c->request->params->{username}; return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'check_username', - $c->session->{subscriber}{username}, \$checkresult + $$subscriber{username}, \$checkresult ); $messages{username} = 'Client.Syntax.MalformedUsername' unless($checkresult); - $c->session->{subscriber}{domain} = $c->request->params->{domain}; + $$subscriber{domain} = $c->request->params->{domain}; return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'check_domain', - $c->session->{subscriber}{domain}, \$checkresult + $$subscriber{domain}, \$checkresult ); $messages{domain} = 'Client.Syntax.MalformedDomain' unless($checkresult); } @@ -264,7 +265,7 @@ sub update_subscriber : Local { ); $messages{webusername} = 'Client.Syntax.MalformedUsername' unless($checkresult); } else { - $settings{webusername} = $c->session->{subscriber}{username}; + $settings{webusername} = $$subscriber{username}; } @@ -301,9 +302,9 @@ sub update_subscriber : Local { if($c->model('Provisioning')->call_prov( $c, 'billing', ($subscriber_id ? 'update_voip_account_subscriber' : 'add_voip_account_subscriber'), - { id => $c->session->{subscriber}{account_id}, - subscriber => { username => $c->session->{subscriber}{username}, - domain => $c->session->{subscriber}{domain}, + { id => $$subscriber{account_id}, + subscriber => { username => $$subscriber{username}, + domain => $$subscriber{domain}, %settings }, }, @@ -315,12 +316,12 @@ sub update_subscriber : Local { $c->response->redirect("/subscriber/detail?subscriber_id=$subscriber_id"); } else { return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber', - { username => $c->session->{subscriber}{username}, - domain => $c->session->{subscriber}{domain}, + { username => $$subscriber{username}, + domain => $$subscriber{domain}, }, - \$c->session->{subscriber} + \$subscriber ); - $c->response->redirect("/subscriber/detail?subscriber_id=". $c->session->{subscriber}{subscriber_id}); + $c->response->redirect("/subscriber/detail?subscriber_id=". $$subscriber{subscriber_id}); } return; } @@ -333,8 +334,8 @@ sub update_subscriber : Local { if($subscriber_id) { $c->response->redirect("/subscriber/detail?subscriber_id=$subscriber_id&edit_subscriber=1"); } else { - $c->session->{restore_subscriber_input}{username} = $c->session->{subscriber}{username}; - $c->response->redirect("/subscriber/detail?account_id=". $c->session->{subscriber}{account_id} ."&new=1"); + $c->session->{restore_subscriber_input}{username} = $$subscriber{username}; + $c->response->redirect("/subscriber/detail?account_id=". $$subscriber{account_id} ."&new=1"); } return; } @@ -344,26 +345,27 @@ sub edit_aliases : Local { $c->stash->{template} = 'tt/subscriber_edit_aliases.tt'; my %messages; + my $subscriber; my $subscriber_id = $c->request->params->{subscriber_id}; return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_by_id', { subscriber_id => $subscriber_id }, - \$c->session->{subscriber} + \$subscriber ); return unless $c->model('Provisioning')->call_prov( $c, 'billing', 'get_voip_account_subscriber', - { id => $c->session->{subscriber}{account_id}, - username => $c->session->{subscriber}{username}, - domain => $c->session->{subscriber}{domain}, + { id => $$subscriber{account_id}, + username => $$subscriber{username}, + domain => $$subscriber{domain}, }, - \$c->session->{subscriber} + \$subscriber ); eval { - $c->session->{subscriber}{alias_numbers} = + $$subscriber{alias_numbers} = [ sort { $$a{cc}.$$a{ac}.$$a{sn} cmp $$b{cc}.$$b{ac}.$$b{sn} } - @{$c->session->{subscriber}{alias_numbers}} ]; + @{$$subscriber{alias_numbers}} ]; }; - $c->stash->{subscriber} = $c->session->{subscriber}; + $c->stash->{subscriber} = $subscriber; $c->stash->{subscriber_id} = $subscriber_id; if(defined $c->session->{aliasadd}) { @@ -378,19 +380,20 @@ sub do_edit_aliases : Local { my ( $self, $c ) = @_; my %messages; + my $subscriber; my $subscriber_id = $c->request->params->{subscriber_id}; return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_by_id', { subscriber_id => $subscriber_id }, - \$c->session->{subscriber} + \$subscriber ); - my $acid = $c->session->{subscriber}{account_id}; + my $acid = $$subscriber{account_id}; return unless $c->model('Provisioning')->call_prov( $c, 'billing', 'get_voip_account_subscriber', { id => $acid, - username => $c->session->{subscriber}{username}, - domain => $c->session->{subscriber}{domain}, + username => $$subscriber{username}, + domain => $$subscriber{domain}, }, - \$c->session->{subscriber} + \$subscriber ); # delete button next to entries in alias list @@ -401,9 +404,9 @@ sub do_edit_aliases : Local { my $cc = $c->request->params->{alias_del_cc}; my $ac = $c->request->params->{alias_del_ac}; my $sn = $c->request->params->{alias_del_sn}; - my $aliaslist = $c->session->{subscriber}{alias_numbers}; + my $aliaslist = $$subscriber{alias_numbers}; if(defined $aliaslist) { - $c->session->{subscriber}{alias_numbers} = [ grep { $$_{cc} ne $cc or $$_{ac} ne $ac or $$_{sn} ne $sn } @$aliaslist ]; + $$subscriber{alias_numbers} = [ grep { $$_{cc} ne $cc or $$_{ac} ne $ac or $$_{sn} ne $sn } @$aliaslist ]; } } @@ -434,9 +437,9 @@ sub do_edit_aliases : Local { unless $checkresult; unless(keys %messages) { - my $aliaslist = $c->session->{subscriber}{alias_numbers}; + my $aliaslist = $$subscriber{alias_numbers}; $aliaslist = [] unless defined $aliaslist; - $c->session->{subscriber}{alias_numbers} = [ @$aliaslist, { cc => $cc, ac => $ac, sn => $sn } ]; + $$subscriber{alias_numbers} = [ @$aliaslist, { cc => $cc, ac => $ac, sn => $sn } ]; } else { $c->session->{aliasadd} = { cc => $cc, ac => $ac, sn => $sn }; } @@ -445,9 +448,9 @@ sub do_edit_aliases : Local { unless(keys %messages) { $c->model('Provisioning')->call_prov( $c, 'billing', 'update_voip_account_subscriber', { id => $acid, - subscriber => { username => $c->session->{subscriber}{username}, - domain => $c->session->{subscriber}{domain}, - alias_numbers => $c->session->{subscriber}{alias_numbers}, + subscriber => { username => $$subscriber{username}, + domain => $$subscriber{domain}, + alias_numbers => $$subscriber{alias_numbers}, }, }, undef @@ -470,17 +473,19 @@ Locks a subscriber. sub lock : Local { my ( $self, $c ) = @_; + my $subscriber; + my $subscriber_id = $c->request->params->{subscriber_id}; return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_by_id', { subscriber_id => $subscriber_id }, - \$c->session->{subscriber} + \$subscriber ); my $lock = $c->request->params->{lock}; $c->model('Provisioning')->call_prov( $c, 'billing', 'lock_voip_account_subscriber', - { id => $c->session->{subscriber}{account_id}, - username => $c->session->{subscriber}{username}, - domain => $c->session->{subscriber}{domain}, + { id => $$subscriber{account_id}, + username => $$subscriber{username}, + domain => $$subscriber{domain}, lock => $lock, }, undef @@ -499,17 +504,18 @@ sub terminate : Local { my ( $self, $c ) = @_; my %messages; + my $subscriber; my $subscriber_id = $c->request->params->{subscriber_id}; return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_by_id', { subscriber_id => $subscriber_id }, - \$c->session->{subscriber} + \$subscriber ); if($c->model('Provisioning')->call_prov( $c, 'billing', 'terminate_voip_account_subscriber', - { id => $c->session->{subscriber}{account_id}, - username => $c->session->{subscriber}{username}, - domain => $c->session->{subscriber}{domain}, + { id => $$subscriber{account_id}, + username => $$subscriber{username}, + domain => $$subscriber{domain}, }, undef)) { @@ -527,17 +533,19 @@ sub terminate : Local { sub expire : Local { my ( $self, $c ) = @_; + my $subscriber; + my $subscriber_id = $c->request->params->{subscriber_id}; my $contact_id = $c->request->params->{contact_id}; return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_by_id', { subscriber_id => $subscriber_id }, - \$c->session->{subscriber} + \$subscriber ); if($c->model('Provisioning')->call_prov( $c, 'voip', 'delete_subscriber_registered_device', - { username => $c->session->{subscriber}{username}, - domain => $c->session->{subscriber}{domain}, + { username => $$subscriber{username}, + domain => $$subscriber{domain}, id => $contact_id, }, undef @@ -560,67 +568,69 @@ sub preferences : Local { my ( $self, $c ) = @_; $c->stash->{template} = 'tt/subscriber_preferences.tt'; + my $subscriber; + my $preferences; my $speed_dial_slots; my $subscriber_id = $c->request->params->{subscriber_id}; return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_by_id', { subscriber_id => $subscriber_id }, - \$c->session->{subscriber} + \$subscriber ); return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_preferences', - { username => $c->session->{subscriber}{username}, - domain => $c->session->{subscriber}{domain}, + { username => $$subscriber{username}, + domain => $$subscriber{domain}, }, \$preferences ); # voicebox requires a number - if(length $c->session->{subscriber}{sn} && $c->config->{voicemail_features}) { + if(length $$subscriber{sn} && $c->config->{voicemail_features}) { return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_voicebox_preferences', - { username => $c->session->{subscriber}{username}, - domain => $c->session->{subscriber}{domain}, + { username => $$subscriber{username}, + domain => $$subscriber{domain}, }, - \$c->session->{subscriber}{voicebox_preferences} + $$subscriber{voicebox_preferences} ); } return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_speed_dial_slots', - { username => $c->session->{subscriber}{username}, - domain => $c->session->{subscriber}{domain}, + { username => $$subscriber{username}, + domain => $$subscriber{domain}, }, \$speed_dial_slots ); if($c->config->{fax_features}) { return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_fax_preferences', - { username => $c->session->{subscriber}{username}, - domain => $c->session->{subscriber}{domain}, + { username => $$subscriber{username}, + domain => $$subscriber{domain}, }, - \$c->session->{subscriber}{fax_preferences} + $$subscriber{fax_preferences} ); } if($c->config->{subscriber}{audiofile_features}) { my $audio_files; return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_audio_files', - { username => $c->session->{subscriber}{username}, - domain => $c->session->{subscriber}{domain}, + { username => $$subscriber{username}, + domain => $$subscriber{domain}, }, \$audio_files ); - $c->session->{subscriber}{audio_files} = $audio_files if eval { @$audio_files }; + $$subscriber{audio_files} = $audio_files if eval { @$audio_files }; } return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_reminder', - { username => $c->session->{subscriber}{username}, - domain => $c->session->{subscriber}{domain}, + { username => $$subscriber{username}, + domain => $$subscriber{domain}, }, - \$c->session->{subscriber}{reminder} + $$subscriber{reminder} ); - $c->stash->{subscriber} = $c->session->{subscriber}; + $c->stash->{subscriber} = $subscriber; $c->stash->{subscriber}{subscriber_id} = $subscriber_id; $c->stash->{subscriber}{is_locked} = $c->model('Provisioning')->localize($c, $c->view($c->config->{view})-> config->{VARIABLES}{site_config}{language}, @@ -770,16 +780,17 @@ sub update_preferences : Local { my ( $self, $c ) = @_; my %messages; + my $subscriber; my $subscriber_id = $c->request->params->{subscriber_id}; return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_by_id', { subscriber_id => $subscriber_id }, - \$c->session->{subscriber} + \$subscriber ); my $preferences; return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_preferences', - { username => $c->session->{subscriber}{username}, - domain => $c->session->{subscriber}{domain}, + { username => $$subscriber{username}, + domain => $$subscriber{domain}, }, \$preferences ); @@ -822,17 +833,17 @@ sub update_preferences : Local { } elsif($fw_target =~ /^[a-z0-9&=+\$,;?\/_.!~*'()-]+\@[a-z0-9.-]+(:\d{1,5})?$/i) { $fw_target = 'sip:'. lc $fw_target; } elsif($fw_target =~ /^[a-z0-9&=+\$,;?\/_.!~*'()-]+$/) { - $fw_target = 'sip:'. lc($fw_target) .'@'. $c->session->{subscriber}{domain}; + $fw_target = 'sip:'. lc($fw_target) .'@'. $$subscriber{domain}; } else { $messages{$fwtype} = 'Client.Voip.MalformedTarget'; $fw_target = $c->request->params->{$fwtype .'_sipuri'}; } } elsif($fw_target_select eq 'voicebox') { - $fw_target = 'sip:vmu'.$c->session->{subscriber}{cc}.$c->session->{subscriber}{ac}.$c->session->{subscriber}{sn}."\@$vbdom"; + $fw_target = 'sip:vmu'.$$subscriber{cc}.$$subscriber{ac}.$$subscriber{sn}."\@$vbdom"; } elsif($fw_target_select eq 'fax2mail') { - $fw_target = 'sip:+'.$c->session->{subscriber}{cc}.$c->session->{subscriber}{ac}.$c->session->{subscriber}{sn}."\@$fmdom"; + $fw_target = 'sip:'.$$subscriber{cc}.$$subscriber{ac}.$$subscriber{sn}."\@$fmdom"; } elsif($fw_target_select eq 'conference') { - $fw_target = 'sip:conf='.$c->session->{subscriber}{cc}.$c->session->{subscriber}{ac}.$c->session->{subscriber}{sn}."\@$confdom"; + $fw_target = 'sip:conf='.$$subscriber{cc}.$$subscriber{ac}.$$subscriber{sn}."\@$confdom"; } $$preferences{$fwtype} = $fw_target; } elsif($$db_pref{preference} eq 'cli') { @@ -895,8 +906,8 @@ sub update_preferences : Local { unless(keys %messages) { if($c->model('Provisioning')->call_prov( $c, 'voip', 'set_subscriber_preferences', - { username => $c->session->{subscriber}{username}, - domain => $c->session->{subscriber}{domain}, + { username => $$subscriber{username}, + domain => $$subscriber{domain}, preferences => $preferences, }, undef @@ -923,11 +934,12 @@ sub update_reminder : Local { my ( $self, $c ) = @_; my %messages; + my $subscriber; my $subscriber_id = $c->request->params->{subscriber_id}; return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_by_id', { subscriber_id => $subscriber_id }, - \$c->session->{subscriber} + \$subscriber ); my $reminder; $$reminder{time} = $c->request->params->{time}; @@ -937,8 +949,8 @@ sub update_reminder : Local { unless(keys %messages) { if($c->model('Provisioning')->call_prov( $c, 'voip', 'set_subscriber_reminder', - { username => $c->session->{subscriber}{username}, - domain => $c->session->{subscriber}{domain}, + { username => $$subscriber{username}, + domain => $$subscriber{domain}, data => $reminder, }, undef @@ -963,16 +975,17 @@ sub update_voicebox : Local { my ( $self, $c ) = @_; my %messages; + my $subscriber; my $subscriber_id = $c->request->params->{subscriber_id}; return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_by_id', { subscriber_id => $subscriber_id }, - \$c->session->{subscriber} + \$subscriber ); my $vboxprefs; return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_voicebox_preferences', - { username => $c->session->{subscriber}{username}, - domain => $c->session->{subscriber}{domain}, + { username => $$subscriber{username}, + domain => $$subscriber{domain}, }, \$vboxprefs ); @@ -999,8 +1012,8 @@ sub update_voicebox : Local { unless(keys %messages) { if($c->model('Provisioning')->call_prov( $c, 'voip', 'set_subscriber_voicebox_preferences', - { username => $c->session->{subscriber}{username}, - domain => $c->session->{subscriber}{domain}, + { username => $$subscriber{username}, + domain => $$subscriber{domain}, preferences => $vboxprefs, }, undef @@ -1199,16 +1212,17 @@ sub edit_list : Local { $c->stash->{template} = 'tt/subscriber_edit_list.tt'; my %messages; + my $subscriber; my $subscriber_id = $c->request->params->{subscriber_id}; return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_by_id', { subscriber_id => $subscriber_id }, - \$c->session->{subscriber} + \$subscriber ); my $preferences; return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_preferences', - { username => $c->session->{subscriber}{username}, - domain => $c->session->{subscriber}{domain}, + { username => $$subscriber{username}, + domain => $$subscriber{domain}, }, \$preferences ); @@ -1235,7 +1249,7 @@ sub edit_list : Local { } } - $c->stash->{subscriber} = $c->session->{subscriber}; + $c->stash->{subscriber} = $subscriber; $c->stash->{subscriber_id} = $subscriber_id; $c->stash->{list_name} = $list; @@ -1257,16 +1271,17 @@ sub do_edit_list : Local { my ( $self, $c ) = @_; my %messages; + my $subscriber; my $subscriber_id = $c->request->params->{subscriber_id}; return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_by_id', { subscriber_id => $subscriber_id }, - \$c->session->{subscriber} + \$subscriber ); my $preferences; return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_preferences', - { username => $c->session->{subscriber}{username}, - domain => $c->session->{subscriber}{domain}, + { username => $$subscriber{username}, + domain => $$subscriber{domain}, }, \$preferences ); @@ -1283,9 +1298,9 @@ sub do_edit_list : Local { } elsif($add =~ s/^\+// or $add =~ s/^$ccdp//) { # nothing more to do } elsif($add =~ s/^$acdp//) { - $add = $c->session->{subscriber}{cc} . $add; + $add = $$subscriber{cc} . $add; } else { - $add = $c->session->{subscriber}{cc} . $c->session->{subscriber}{ac} . $add; + $add = $$subscriber{cc} . $$subscriber{ac} . $add; } my $blocklist = $$preferences{$list}; $blocklist = [] unless defined $blocklist; @@ -1309,7 +1324,7 @@ sub do_edit_list : Local { } elsif($del =~ s/^\+// or $del =~ s/^$ccdp//) { # nothing more to do } elsif($del =~ s/^$acdp//) { - $del = $c->session->{subscriber}{cc} . $del; + $del = $$subscriber{cc} . $del; } $blocklist = [ $blocklist ] unless ref $blocklist; if($c->request->params->{block_stat}) { @@ -1332,7 +1347,7 @@ sub do_edit_list : Local { } elsif($act =~ s/^\+// or $act =~ s/^$ccdp//) { # nothing more to do } elsif($act =~ s/^$acdp//) { - $act = $c->session->{subscriber}{cc} . $act; + $act = $$subscriber{cc} . $act; } $blocklist = [ $blocklist ] unless ref $blocklist; if($c->request->params->{block_stat}) { @@ -1347,8 +1362,8 @@ sub do_edit_list : Local { unless(keys %messages) { $c->model('Provisioning')->call_prov( $c, 'voip', 'set_subscriber_preferences', - { username => $c->session->{subscriber}{username}, - domain => $c->session->{subscriber}{domain}, + { username => $$subscriber{username}, + domain => $$subscriber{domain}, preferences => { $list => $$preferences{$list}, }, @@ -1369,16 +1384,17 @@ sub edit_iplist : Local { $c->stash->{template} = 'tt/subscriber_edit_iplist.tt'; my %messages; + my $subscriber; my $subscriber_id = $c->request->params->{subscriber_id}; return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_by_id', { subscriber_id => $subscriber_id }, - \$c->session->{subscriber} + \$subscriber ); my $preferences; return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_preferences', - { username => $c->session->{subscriber}{username}, - domain => $c->session->{subscriber}{domain}, + { username => $$subscriber{username}, + domain => $$subscriber{domain}, }, \$preferences ); @@ -1398,7 +1414,7 @@ sub edit_iplist : Local { } } - $c->stash->{subscriber} = $c->session->{subscriber}; + $c->stash->{subscriber} = $subscriber; $c->stash->{subscriber_id} = $subscriber_id; $c->stash->{list_name} = $list; @@ -1414,16 +1430,17 @@ sub do_edit_iplist : Local { my ( $self, $c ) = @_; my %messages; + my $subscriber; my $subscriber_id = $c->request->params->{subscriber_id}; return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_by_id', { subscriber_id => $subscriber_id }, - \$c->session->{subscriber} + \$subscriber ); my $preferences; return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_preferences', - { username => $c->session->{subscriber}{username}, - domain => $c->session->{subscriber}{domain}, + { username => $$subscriber{username}, + domain => $$subscriber{domain}, }, \$preferences ); @@ -1457,8 +1474,8 @@ sub do_edit_iplist : Local { unless(keys %messages) { $c->model('Provisioning')->call_prov( $c, 'voip', 'set_subscriber_preferences', - { username => $c->session->{subscriber}{username}, - domain => $c->session->{subscriber}{domain}, + { username => $$subscriber{username}, + domain => $$subscriber{domain}, preferences => { $list => $$preferences{$list}, }, @@ -1478,16 +1495,17 @@ sub edit_speed_dial_slots : Local { $c->stash->{template} = 'tt/subscriber_edit_speeddial.tt'; my %messages; + my $subscriber; my $subscriber_id = $c->request->params->{subscriber_id}; return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_by_id', { subscriber_id => $subscriber_id }, - \$c->session->{subscriber} + \$subscriber ); my $speed_dial_slots; return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_speed_dial_slots', - { username => $c->session->{subscriber}{username}, - domain => $c->session->{subscriber}{domain}, + { username => $$subscriber{username}, + domain => $$subscriber{domain}, }, \$speed_dial_slots ); @@ -1539,7 +1557,7 @@ sub edit_speed_dial_slots : Local { } } - $c->stash->{subscriber} = $c->session->{subscriber}; + $c->stash->{subscriber} = $subscriber; $c->stash->{subscriber_id} = $subscriber_id; if(defined $c->session->{addslottxt}) { @@ -1558,11 +1576,12 @@ sub do_edit_speed_dial_slots : Local { my ( $self, $c ) = @_; my %messages; + my $subscriber; my $subscriber_id = $c->request->params->{subscriber_id}; return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_by_id', { subscriber_id => $subscriber_id }, - \$c->session->{subscriber} + \$subscriber ); # add new entry form @@ -1578,7 +1597,7 @@ sub do_edit_speed_dial_slots : Local { $add_destination = admin::Utils::get_qualified_number_for_subscriber($c, $add_destination); my $checkresult; return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'check_E164_number', $add_destination, \$checkresult); - $destination = 'sip:'. $add_destination .'@'. $c->session->{subscriber}{domain} + $destination = 'sip:'. $add_destination .'@'. $$subscriber{domain} if $checkresult; } else { $destination = $add_destination; @@ -1589,8 +1608,8 @@ sub do_edit_speed_dial_slots : Local { if($checkadd_slot and $checkadd_destination) { $c->model('Provisioning')->call_prov( $c, 'voip', 'create_speed_dial_slot', - { username => $c->session->{subscriber}{username}, - domain => $c->session->{subscriber}{domain}, + { username => $$subscriber{username}, + domain => $$subscriber{domain}, data => { slot => $add_slot, destination => $add_destination @@ -1620,8 +1639,8 @@ sub do_edit_speed_dial_slots : Local { my $delete_slotid = $c->request->params->{delete_id}; if(defined $delete_slotid) { $c->model('Provisioning')->call_prov( $c, 'voip', 'delete_speed_dial_slot', - { username => $c->session->{subscriber}{username}, - domain => $c->session->{subscriber}{domain}, + { username => $$subscriber{username}, + domain => $$subscriber{domain}, id => $delete_slotid }, undef @@ -1642,7 +1661,7 @@ sub do_edit_speed_dial_slots : Local { $update_destination = admin::Utils::get_qualified_number_for_subscriber($c, $update_destination); my $checkresult; return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'check_E164_number', $update_destination, \$checkresult); - $destination = 'sip:'. $update_destination .'@'. $c->session->{subscriber}{domain} + $destination = 'sip:'. $update_destination .'@'. $$subscriber{domain} if $checkresult; } else { $destination = $update_destination; @@ -1653,8 +1672,8 @@ sub do_edit_speed_dial_slots : Local { if($checkupdate_slot and $checkupdate_destination) { $c->model('Provisioning')->call_prov( $c, 'voip', 'update_speed_dial_slot', - { username => $c->session->{subscriber}{username}, - domain => $c->session->{subscriber}{domain}, + { username => $$subscriber{username}, + domain => $$subscriber{domain}, id => $update_slotid, data => { slot => $update_slot, @@ -1697,11 +1716,12 @@ sub update_fax : Local { my ( $self, $c ) = @_; my %messages; + my $subscriber; my $subscriber_id = $c->request->params->{subscriber_id}; return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_by_id', { subscriber_id => $subscriber_id }, - \$c->session->{subscriber} + \$subscriber ); my $faxprefs; $$faxprefs{name} = $c->request->params->{name} || undef; @@ -1714,8 +1734,8 @@ sub update_fax : Local { unless(keys %messages) { if($c->model('Provisioning')->call_prov( $c, 'voip', 'set_subscriber_fax_preferences', - { username => $c->session->{subscriber}{username}, - domain => $c->session->{subscriber}{domain}, + { username => $$subscriber{username}, + domain => $$subscriber{domain}, preferences => $faxprefs, }, undef @@ -1742,16 +1762,17 @@ sub edit_destlist : Local { $c->stash->{template} = 'tt/subscriber_edit_destlist.tt'; my %messages; + my $subscriber; my $subscriber_id = $c->request->params->{subscriber_id}; return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_by_id', { subscriber_id => $subscriber_id }, - \$c->session->{subscriber} + \$subscriber ); my $preferences; return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_fax_preferences', - { username => $c->session->{subscriber}{username}, - domain => $c->session->{subscriber}{domain}, + { username => $$subscriber{username}, + domain => $$subscriber{domain}, }, \$preferences ); @@ -1771,7 +1792,7 @@ sub edit_destlist : Local { } } - $c->stash->{subscriber} = $c->session->{subscriber}; + $c->stash->{subscriber} = $subscriber; $c->stash->{subscriber_id} = $subscriber_id; $c->stash->{list_name} = $list; $c->stash->{edit_dest} = $c->request->params->{list_edit}; @@ -1789,16 +1810,17 @@ sub do_edit_destlist : Local { my %messages; my %entry; + my $subscriber; my $subscriber_id = $c->request->params->{subscriber_id}; return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_by_id', { subscriber_id => $subscriber_id }, - \$c->session->{subscriber} + \$subscriber ); my $preferences; return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_fax_preferences', - { username => $c->session->{subscriber}{username}, - domain => $c->session->{subscriber}{domain}, + { username => $$subscriber{username}, + domain => $$subscriber{domain}, }, \$preferences ); @@ -1851,8 +1873,8 @@ sub do_edit_destlist : Local { unless(keys %messages) { $c->model('Provisioning')->call_prov( $c, 'voip', 'set_subscriber_fax_preferences', - { username => $c->session->{subscriber}{username}, - domain => $c->session->{subscriber}{domain}, + { username => $$subscriber{username}, + domain => $$subscriber{domain}, preferences => { $list => $$preferences{$list}, }, @@ -1871,18 +1893,20 @@ sub edit_audio_files : Local { my ( $self, $c ) = @_; $c->stash->{template} = 'tt/subscriber_edit_audio_files.tt'; + my $subscriber; + my $subscriber_id = $c->request->params->{subscriber_id}; return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_by_id', { subscriber_id => $subscriber_id }, - \$c->session->{subscriber} + \$subscriber ); - $c->stash->{subscriber} = $c->session->{subscriber}; + $c->stash->{subscriber} = $subscriber; $c->stash->{subscriber_id} = $subscriber_id; my %settings; - $settings{username} = $c->session->{subscriber}{username}; - $settings{domain} = $c->session->{subscriber}{domain}; + $settings{username} = $$subscriber{username}; + $settings{domain} = $$subscriber{domain}; my $audio_files; return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_audio_files', @@ -1923,18 +1947,19 @@ sub do_create_audio : Local { my %messages; my %settings; + my $subscriber; my $subscriber_id = $c->request->params->{subscriber_id}; return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_by_id', { subscriber_id => $subscriber_id }, - \$c->session->{subscriber} + \$subscriber ); - $c->stash->{subscriber} = $c->session->{subscriber}; + $c->stash->{subscriber} = $subscriber; $c->stash->{subscriber_id} = $subscriber_id; - $settings{username} = $c->session->{subscriber}{username}; - $settings{domain} = $c->session->{subscriber}{domain}; + $settings{username} = $$subscriber{username}; + $settings{domain} = $$subscriber{domain}; $settings{handle} = $c->request->params->{handle}; $settings{data}{description} = $c->request->params->{description} if length $c->request->params->{description}; @@ -1971,18 +1996,19 @@ sub do_update_audio : Local { my %messages; my %settings; + my $subscriber; my $subscriber_id = $c->request->params->{subscriber_id}; return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_by_id', { subscriber_id => $subscriber_id }, - \$c->session->{subscriber} + \$subscriber ); - $c->stash->{subscriber} = $c->session->{subscriber}; + $c->stash->{subscriber} = $subscriber; $c->stash->{subscriber_id} = $subscriber_id; - $settings{username} = $c->session->{subscriber}{username}; - $settings{domain} = $c->session->{subscriber}{domain}; + $settings{username} = $$subscriber{username}; + $settings{domain} = $$subscriber{domain}; $settings{handle} = $c->request->params->{handle}; unless(length $settings{handle}) { $c->response->redirect("/subscriber/edit_audio_files?subscriber_id=$subscriber_id"); @@ -2023,18 +2049,19 @@ sub do_delete_audio : Local { my ( $self, $c ) = @_; my %settings; + my $subscriber; my $subscriber_id = $c->request->params->{subscriber_id}; return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_by_id', { subscriber_id => $subscriber_id }, - \$c->session->{subscriber} + \$subscriber ); - $c->stash->{subscriber} = $c->session->{subscriber}; + $c->stash->{subscriber} = $subscriber; $c->stash->{subscriber_id} = $subscriber_id; - $settings{username} = $c->session->{subscriber}{username}; - $settings{domain} = $c->session->{subscriber}{domain}; + $settings{username} = $$subscriber{username}; + $settings{domain} = $$subscriber{domain}; $settings{handle} = $c->request->params->{handle}; unless(length $settings{handle}) { $c->response->redirect("/subscriber/edit_audio_files?subscriber_id=$subscriber_id"); @@ -2064,15 +2091,16 @@ sub listen_audio : Local { my ( $self, $c ) = @_; my %settings; + my $subscriber; my $subscriber_id = $c->request->params->{subscriber_id}; return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_by_id', { subscriber_id => $subscriber_id }, - \$c->session->{subscriber} + \$subscriber ); - $settings{username} = $c->session->{subscriber}{username}; - $settings{domain} = $c->session->{subscriber}{domain}; + $settings{username} = $$subscriber{username}; + $settings{domain} = $$subscriber{domain}; $settings{handle} = $c->request->params->{handle}; unless(length $settings{handle}) { $c->response->redirect("/subscriber/edit_audio_files?subscriber_id=$subscriber_id");