diff --git a/lib/admin/Controller/subscriber.pm b/lib/admin/Controller/subscriber.pm index fd30025..8843f43 100644 --- a/lib/admin/Controller/subscriber.pm +++ b/lib/admin/Controller/subscriber.pm @@ -542,7 +542,16 @@ sub update_preferences : Local { $$preferences{block_in_clir} = $c->request->params->{block_in_clir} ? 1 : 0; - my $block_in_list = $c->request->params->{block_in_list}; + my $adm_block_in_mode = $c->request->params->{adm_block_in_mode}; + if(defined $adm_block_in_mode) { + $$preferences{adm_block_in_mode} = $adm_block_in_mode eq 'whitelist' ? 1 : 0; + } + my $adm_block_out_mode = $c->request->params->{adm_block_out_mode}; + if(defined $adm_block_out_mode) { + $$preferences{adm_block_out_mode} = $adm_block_out_mode eq 'whitelist' ? 1 : 0; + } + + $$preferences{adm_block_in_clir} = $c->request->params->{adm_block_in_clir} ? 1 : 0; ### call forwarding ### @@ -653,6 +662,10 @@ sub update_preferences : Local { $messages{emerg_ac} = 'Client.Voip.MalformedAc'; } + ### malicious call trace ### + + $$preferences{mct} = $c->request->params->{mct} ? 1 : 0; + ### save settings ### unless(keys %messages) { @@ -790,7 +803,8 @@ sub edit_list : Local { my $list_mode = $list; $list_mode =~ s/list$/mode/; $c->stash->{list_mode} = $$preferences{$list_mode}; - $c->stash->{block_in_clir} = $$preferences{block_in_clir}; + $list_mode =~ s/mode$/clir/; + $c->stash->{block_in_clir} = $$preferences{$list_mode}; if(defined $c->session->{blockaddtxt}) { $c->stash->{blockaddtxt} = $c->session->{blockaddtxt}; diff --git a/root/tt/subscriber_detail.tt b/root/tt/subscriber_detail.tt index 3c387f6..25579d6 100644 --- a/root/tt/subscriber_detail.tt +++ b/root/tt/subscriber_detail.tt @@ -217,7 +217,8 @@ [% FOREACH preference = subscriber.preferences_array %] [% IF preference.max_occur == 1 %] - [% IF preference.key == "block_in_mode" || preference.key == "block_out_mode" %] + [% IF preference.key == "block_in_mode" || preference.key == "block_out_mode" + || preference.key == "adm_block_in_mode" || preference.key == "adm_block_out_mode" %] [% ELSIF preference.key == "block_in_clir" + || preference.key == "adm_block_in_clir" || preference.key == "clir" || preference.key == "cfu" || preference.key == "cfb" || preference.key == "cft" - || preference.key == "cfna" %] + || preference.key == "cfna" + || preference.key == "mct" %]
[% preference.key %]: @@ -229,11 +230,13 @@
[% preference.key %]: diff --git a/root/tt/subscriber_edit_list.tt b/root/tt/subscriber_edit_list.tt index 8ec4f0d..ac83195 100644 --- a/root/tt/subscriber_edit_list.tt +++ b/root/tt/subscriber_edit_list.tt @@ -11,7 +11,7 @@ [% IF messages.numerr %]
[% messages.numerr %]
[% END %]
- [% IF list_name == 'block_in_list' %] + [% IF list_name == 'block_in_list' || list_name == 'adm_block_in_list' %] [% IF list_mode %] [% IF list_data %] All incoming calls are blocked by default, only the following callers are allowed.