MT#6693 Filter call-forwards for subs profiles.

agranig/subprof
Andreas Granig 12 years ago
parent 9e57582662
commit 40663ebf56

@ -582,6 +582,22 @@ sub preferences :Chained('base') :PathPart('preferences') :Args(0) {
push @newprefgroups, $grp if @newgrp;
}
$c->stash->{pref_groups} = \@newprefgroups;
my $special_prefs = { check => 1 };
foreach my $cf(qw/cfu cft cfna cfb/) {
my $cf_preference = $c->model('DB')->resultset('voip_preferences')->find({
attribute => $cf,
});
next unless $cf_preference;
my $pref_id = $cf_preference->id;
if(grep { /^$pref_id$/ } @attribute_ids) {
$special_prefs->{callforward}->{active} = 1;
$special_prefs->{callforward}->{$cf} = 1;
}
}
$c->stash->{special_prefs} = $special_prefs;
}
}

@ -70,8 +70,15 @@ sub field_list {
return unless $c;
my $pref_rs = $c->model('DB')->resultset('voip_preferences')->search({
usr_pref => 1,
expose_to_customer => 1,
-or => [
{
usr_pref => 1,
expose_to_customer => 1,
},
{
attribute => { -in => [qw/cfu cft cfna cfb/] },
}
],
});
my $fields = [];

@ -39,6 +39,13 @@
<div class="ngcp-separator"></div>
<div class="accordion" id="preference_groups">
[% IF
((c.user.roles == "subscriber" || c.user.roles == "subscriberadmin") && special_prefs.check && special_prefs.callforward.active) ||
((c.user.roles == "subscriber" || c.user.roles == "subscriberadmin") && !special_prefs.check) ||
c.user.roles == "admin" || c.user.roles == "reseller" -%]
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle" data-toggle="collapse" data-parent="#preference_groups" href="#collapse_cf">[% c.loc('Call Forwards') %]</a>
@ -62,6 +69,9 @@
{ type = "cfb", desc = c.loc("Call Forward Busy") },
{ type = "cft", desc = c.loc("Call Forward Timeout") },
{ type = "cfna", desc = c.loc("Call Forward Unavailable") } ] -%]
[% IF c.user.roles == "subscriber" || c.user.roles == "subscriberadmin" -%]
[% NEXT IF special_prefs.check && !special_prefs.callforward.${cf.type} -%]
[% END -%]
<tr class="sw_action_row">
<td>[% cf.desc %]</td>
<td>
@ -135,6 +145,7 @@
</div>
</div>
</div>
[% END -%]
<div class="accordion-group">
<div class="accordion-heading">

Loading…
Cancel
Save