MT#14991 non-recursive subscriber details handling

upc-ch/testing
Kirill Solomko 10 years ago
parent 63337f4771
commit 66b4f96eba

@ -79,7 +79,7 @@ sub search : Local {
# TODO: pagination goes here
$c->stash->{calls} = $calls;
$c->stash->{calls} = [ reverse @$calls ];
return;
}

@ -161,8 +161,12 @@ sub detail : Local {
$$regpeer{contacts_short} =~ s/>/\>/g;
$$subscriber{registered_peer} = $regpeer;
}
# ksolomko no dropdown for alias numbers and allowed clis
$subscriber->{alias_numbers} = [];
$preferences->{allowed_clis} = [];
eval { $$subscriber{alias_numbers} = [ sort @{$$subscriber{alias_numbers}} ] };
#eval { $$subscriber{alias_numbers} = [ sort @{$$subscriber{alias_numbers}} ] };
$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})->
@ -415,6 +419,16 @@ sub do_edit_aliases : Local {
if(defined $aliaslist) {
$$subscriber{alias_numbers} = [ grep { $$_{cc} ne $cc or $$_{ac} ne $ac or $$_{sn} ne $sn } @$aliaslist ];
}
$c->model('Provisioning')->call_prov( $c, 'billing', 'delete_alias_numbers',
{
username => $$subscriber{username},
domain => $$subscriber{domain},
alias_numbers => [
{ cc => $cc, ac => $ac, sn => $sn }
]
},
undef
);
}
# input text fields to add new entry to list
@ -444,25 +458,20 @@ sub do_edit_aliases : Local {
unless $checkresult;
unless(keys %messages) {
my $aliaslist = $$subscriber{alias_numbers};
$aliaslist = [] unless defined $aliaslist;
$$subscriber{alias_numbers} = [ @$aliaslist, { cc => $cc, ac => $ac, sn => $sn } ];
} else {
$c->session->{aliasadd} = { cc => $cc, ac => $ac, sn => $sn };
$c->model('Provisioning')->call_prov( $c, 'billing', 'add_alias_numbers',
{
username => $$subscriber{username},
domain => $$subscriber{domain},
alias_numbers => [
{ cc => $cc, ac => $ac, sn => $sn }
]
},
undef
);
}
}
unless(keys %messages) {
$c->model('Provisioning')->call_prov( $c, 'billing', 'update_voip_account_subscriber',
{ id => $acid,
subscriber => { username => $$subscriber{username},
domain => $$subscriber{domain},
alias_numbers => $$subscriber{alias_numbers},
},
},
undef
);
} else {
if (keys %messages) {
$messages{aliaserr} = 'Client.Voip.InputErrorFound';
}
@ -699,6 +708,10 @@ sub preferences : Local {
\$$subscriber{reminder}
);
# ksolomko no dropdown lists for these 2 prefs
$preferences->{allowed_clis} = [];
$subscriber->{alias_numbers} = [];
$c->stash->{cf_dsets} = $cf_dsets;
$c->stash->{cf_tsets} = $cf_tsets;
$c->stash->{cf_maps} = $cf_maps;
@ -908,7 +921,7 @@ sub update_preferences : Local {
next unless $$db_pref{usr_pref};
delete $$preferences{$$db_pref{preference}}, next
if $$db_pref{read_only};
if $$db_pref{read_only} or $$db_pref{preference} eq 'allowed_clis';
for (qw/cli user_cli emergency_cli/) {
next unless (defined $c->request->params->{$_} and $c->request->params->{$_} ne '');
@ -1392,7 +1405,7 @@ sub sipstats : Local {
},
\$calls
);
$c->stash->{calls} = $calls;
$c->stash->{calls} = [ reverse @$calls ];
return;
}
@ -1733,11 +1746,11 @@ sub edit_cf_savedst : Local {
if($fw_target_select eq 'sipuri') {
$fw_target = $c->request->params->{'dest_sipuri'};
return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'check_sip_uri', { sip_uri => $fw_target }, \$check_sip_uri);
return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'check_sip_username', { sip_username => $fw_target }, \$check_sip_username);
##return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'check_sip_uri', { sip_uri => $fw_target }, \$check_sip_uri);
##return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'check_sip_username', { sip_username => $fw_target }, \$check_sip_username);
$messages{edesterr} = 'Client.Voip.MalformedTarget'
unless ($check_sip_uri or $check_sip_username);
#$messages{edesterr} = 'Client.Voip.MalformedTarget'
# unless ($check_sip_uri or $check_sip_username);
} elsif($fw_target_select eq 'voicebox') {
$fw_target = 'sip:vmu'.$$subscriber{cc}.$$subscriber{ac}.$$subscriber{sn}."\@$vbdom";
@ -2519,7 +2532,7 @@ sub do_edit_list : Local {
$add =~ s/ //g;
return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'check_sip_username_shell_pattern', { pattern => $add }, \$checkresult);
if ($checkresult) {
if ($list eq 'outbound_prefixes' || $list eq 'rerouting_list' || $list eq 'custom_headers' || $checkresult) {
my $blocklist = $$preferences{$list};
$blocklist = [] unless defined $blocklist;
$blocklist = [ $blocklist ] unless ref $blocklist;
@ -2556,15 +2569,31 @@ sub do_edit_list : Local {
}
unless(keys %messages) {
$c->model('Provisioning')->call_prov( $c, 'voip', 'set_subscriber_preferences',
{ username => $$subscriber{username},
domain => $$subscriber{domain},
preferences => {
$list => $$preferences{$list},
},
},
undef
);
if ($list eq 'allowed_clis') {
if ($add or $del) {
my $func_name = 'add_allowed_clis';
$func_name = 'delete_allowed_clis' if $del;
$c->model('Provisioning')->call_prov( $c, 'voip', $func_name,
{ username => $$subscriber{username},
domain => $$subscriber{domain},
$list => [$add || $del]
},
undef
);
} else {
$messages{msgadd} = 'Client.Function.Disabled';
}
} else {
$c->model('Provisioning')->call_prov( $c, 'voip', 'set_subscriber_preferences',
{ username => $$subscriber{username},
domain => $$subscriber{domain},
preferences => {
$list => $$preferences{$list},
},
},
undef
);
}
} else {
$messages{numerr} = 'Client.Voip.InputErrorFound';
}

Loading…
Cancel
Save