Adapt time set handling to new form.

agranig/1_0_subfix
Andreas Granig 12 years ago
parent 8944dbe124
commit 9fa426139e

@ -943,16 +943,26 @@ sub preferences_callforward_timeset_create :Chained('base') :PathPart('preferenc
my $set = $prov_subscriber->voip_cf_time_sets->create({ my $set = $prov_subscriber->voip_cf_time_sets->create({
name => $form->field('name')->value, name => $form->field('name')->value,
}); });
foreach my $period(@fields) {
$set->voip_cf_periods->create({ foreach my $period($form->field('period')->fields) {
year => $period->field('year')->value, my $fields = {};
month => $period->field('month')->value, for my $type (qw/year month mday wday hour minute/) {
mday => $period->field('mday')->value, my $row = $period->field("row");
wday => $period->field('wday')->value, my $from = $row->field($type)->field("from")->value;
hour => $period->field('hour')->value, my $to = $row->field($type)->field("to")->value;
minute => $period->field('minute')->value, if($type eq "wday") {
}); $from = int($from)+1 if defined($from);
$to = int($to)+1 if defined($to);
}
if(defined $from) {
$fields->{$type} = $from .
(defined $to ?
'-'.$to : '');
}
}
$set->voip_cf_periods->create($fields);
} }
$c->response->redirect( $c->response->redirect(
$c->uri_for_action('/subscriber/preferences_callforward_timeset', $c->uri_for_action('/subscriber/preferences_callforward_timeset',
[$c->req->captures->[0]], $cf_type) [$c->req->captures->[0]], $cf_type)
@ -1007,15 +1017,20 @@ sub preferences_callforward_timeset_edit :Chained('preferences_callforward_times
$params->{name} = $set->name; $params->{name} = $set->name;
my @periods; my @periods;
for my $period($set->voip_cf_periods->all) { for my $period($set->voip_cf_periods->all) {
push @periods, { my $p = {};
year => $period->year, foreach my $type(qw/year month mday wday hour minute/) {
month => $period->month, my $val = $period->$type;
mday => $period->mday, if(defined $val) {
wday => $period->wday, my ($from, $to) = split/\-/, $val;
hour => $period->hour, if($type eq "wday") {
minute => $period->minute, $from = int($from)-1 if defined($from);
id => $period->id, $to = int($to)-1 if defined($to);
}; }
$p->{row}->{$type}->{from} = $from;
$p->{row}->{$type}->{to} = $to if defined($to);
}
}
push @periods, $p;
} }
$params->{period} = \@periods; $params->{period} = \@periods;
} }
@ -1048,14 +1063,22 @@ sub preferences_callforward_timeset_edit :Chained('preferences_callforward_times
$period->delete; $period->delete;
} }
foreach my $period($form->field('period')->fields) { foreach my $period($form->field('period')->fields) {
$set->voip_cf_periods->create({ my $fields = {};
year => $period->field('year')->value, for my $type (qw/year month mday wday hour minute/) {
month => $period->field('month')->value, my $row = $period->field("row");
mday => $period->field('mday')->value, my $from = $row->field($type)->field("from")->value;
wday => $period->field('wday')->value, my $to = $row->field($type)->field("to")->value;
hour => $period->field('hour')->value, if($type eq "wday") {
minute => $period->field('minute')->value, $from = int($from)+1 if defined($from);
}); $to = int($to)+1 if defined($to);
}
if(defined $from) {
$fields->{$type} = $from .
(defined $to ?
'-'.$to : '');
}
}
$set->voip_cf_periods->create($fields);
} }
$c->response->redirect( $c->response->redirect(
$c->uri_for_action('/subscriber/preferences_callforward_timeset', $c->uri_for_action('/subscriber/preferences_callforward_timeset',

Loading…
Cancel
Save