MFT: r8687, r8936

3.3
Christian Veigl 13 years ago
parent 004d15623d
commit 6654ea1c50

@ -30,10 +30,16 @@ sub mapping : Chained('base') PathPart('mapping') CaptureArgs(0) {
return unless ( $c->stash->{cf_types} = $c->forward ('load_cf_types') );
return unless ( $c->stash->{time_sets} = $c->forward ('load_time_sets') );
return unless ( $c->stash->{destination_sets} = $c->forward ('load_destination_sets') );
return unless ( $c->stash->{preferences} = $c->forward ('load_preferences') );
}
sub mapping_list : Chained('mapping') PathPart('') Args(0) {
my ( $self, $c ) = @_;
if (defined $c->session->{refill}) {
$c->stash->{preferences}->{ringtimeout} = $c->session->{refill}->{ringtimeout};
$c->session->{refill} = undef;
}
}
sub mapping_id : Chained('mapping') PathPart('') CaptureArgs(1) {
@ -685,6 +691,35 @@ sub time_period_delete : Chained('time_period_post') PathPart('delete') Args(0)
$c->response->redirect($c->uri_for('/callforward/time'));
}
sub set_ringtimeout : Chained('base') PathPart('set_ringtimeout') Args(0) {
my ($self, $c) = @_;
my %messages;
my $ringtimeout = $c->request->params->{ringtimeout} || 666;
if ($ringtimeout =~ /^\d+$/ and $ringtimeout ~~ [5..300]) {
if ($c->model('Provisioning')->call_prov( $c, 'voip',
'set_subscriber_preferences',
{ username => $c->session->{user}->{data}->{username},
domain => $c->session->{user}->{data}->{domain},
preferences => { ringtimeout => $ringtimeout }
}))
{
$c->session->{messages} = { topmsg => 'Server.Voip.SavedSettings' };
}
}
else {
$c->session->{messages} = {
toperr => 'Client.Voip.InputErrorFound',
ringtimeout_error => 'Client.Voip.MissingRingtimeout',
};
$c->session->{refill} = { ringtimeout => $ringtimeout };
}
$c->response->redirect($c->uri_for('/callforward/mapping'));
}
### helpers ###
sub load_destination_sets :Private {
@ -826,5 +861,18 @@ sub period_collapse : Private {
return \%messages;
}
sub load_preferences :Private {
my ( $self, $c ) = @_;
my $prefs;
return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_preferences',
{ username => $c->stash->{subscriber}->{username},
domain => $c->stash->{subscriber}->{domain},
},
\$prefs,
);
return $prefs;
}
1;

@ -23,6 +23,7 @@
[% FOREACH cf_type IN cf_types %]
<div class="span-16">
[% cf_map = cf_maps.${cf_type.name} %]
[% IF cf_map == '' %]
@ -39,13 +40,39 @@
<div class="set-item span-15">[% cf_type.description %]</div>
<br clear="all" />
[% first = 0 %]
[% END %]
[%# just a very small form for editing the ring timeout %]
[% IF cf_type.name == 'cft' %]
<br clear="all" />
<form action="/callforward/set_ringtimeout" method="post">
<input type="hidden" name="subscriber_id" value="[% subscriber.subscriber_id %]"/>
<div class="prepend-2 span-1">
<input size="3" align="right" type="text" name="ringtimeout" value="[% preferences.ringtimeout %]"/>
</div>
<div class="span-1">
<p class="link_button">
<label for="save_ringtimeout">[% Catalyst.loc('Set ringtimeout')%]</label>
<input type="image" class="hidden" src="/grafik/dot_trans.gif" alt="" id="save_ringtimeout">
</p>
</div>
</form>
<br clear="all" />
[% IF messages.ringtimeout_error %]
<div class="prepend-2">
<div id="errormsg">[% messages.ringtimeout_error %]</div>
</div>
<br clear="all" />
[% END %]
[% END %]
[% END %] [%# first %]
<br clear="all" />
<div class="prepend-2">
[% PROCESS map_edit %]
</div>
[% END %]
</div>
<br clear="all" />

Loading…
Cancel
Save