implemented webform for subscriber reminder settings

2.1@2833
Daniel Tiefnig 17 years ago
parent 6f2dfee77d
commit 3cb3191ba0

@ -468,6 +468,13 @@ sub preferences : Local {
$c->session->{subscriber}{audio_files} = $audio_files if eval { @$audio_files };
}
return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_reminder',
{ username => $c->session->{subscriber}{username},
domain => $c->session->{subscriber}{domain},
},
\$c->session->{subscriber}{reminder}
);
$c->stash->{subscriber} = $c->session->{subscriber};
$c->stash->{subscriber}{subscriber_id} = $subscriber_id;
$c->stash->{subscriber}{is_locked} = $c->model('Provisioning')->localize($c->view($c->config->{view})->
@ -509,6 +516,15 @@ sub preferences : Local {
}
delete $c->session->{restore_faxprefs_input};
}
if(ref $c->session->{restore_reminder_input} eq 'HASH') {
if(ref $c->stash->{subscriber}{reminder} eq 'HASH') {
$c->stash->{subscriber}{reminder} = { %{$c->stash->{subscriber}{reminder}},
%{$c->session->{restore_reminder_input}} };
} else {
$c->stash->{subscriber}{reminder} = $c->session->{restore_reminder_input};
}
delete $c->session->{restore_reminder_input};
}
### build preference array for TT ###
@ -621,6 +637,7 @@ sub preferences : Local {
$c->stash->{edit_preferences} = $c->request->params->{edit_preferences};
$c->stash->{edit_voicebox} = $c->request->params->{edit_voicebox};
$c->stash->{edit_fax} = $c->request->params->{edit_fax};
$c->stash->{edit_reminder} = $c->request->params->{edit_reminder};
return 1;
}
@ -811,6 +828,46 @@ sub update_preferences : Local {
}
sub update_reminder : Local {
my ( $self, $c ) = @_;
my %messages;
my $subscriber_id = $c->request->params->{subscriber_id};
return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_byid',
{ subscriber_id => $subscriber_id },
\$c->session->{subscriber}
);
my $reminder;
$$reminder{time} = $c->request->params->{time};
$$reminder{recur} = $c->request->params->{recur} || 'never';
### save settings ###
unless(keys %messages) {
if($c->model('Provisioning')->call_prov( $c, 'voip', 'set_subscriber_reminder',
{ username => $c->session->{subscriber}{username},
domain => $c->session->{subscriber}{domain},
data => $reminder,
},
undef
))
{
$messages{remmsg} = 'Server.Voip.SavedSettings';
$c->session->{messages} = \%messages;
$c->response->redirect("/subscriber/preferences?subscriber_id=$subscriber_id#reminder");
return;
}
} else {
$messages{faxerr} = 'Client.Voip.InputErrorFound';
}
$c->session->{messages} = \%messages;
$c->session->{restore_reminder_input} = $reminder;
$c->response->redirect("/subscriber/preferences?subscriber_id=$subscriber_id&edit_reminder=1#reminder");
return;
}
sub update_voicebox : Local {
my ( $self, $c ) = @_;

@ -212,6 +212,49 @@
</form>
</div>
<h3 id="reminder">Reminder Calls</h3>
[% UNLESS Catalyst.session.admin.read_only %]
<div class="actions">
<a href="preferences?subscriber_id=[% subscriber.subscriber_id %]&amp;edit_reminder=1#reminder" class="aaction">edit</a>
[% IF edit_reminder %]
<a href="preferences?subscriber_id=[% subscriber.subscriber_id %]#reminder" class="aaction">cancel</a>
[% END %]
</div>
[% END %]
<div class="p1">
[% IF messages.remmsg %]<div class="goodmsg">[% messages.remmsg %]</div>[% END %]
[% IF messages.remerr %]<div class="errormsg">[% messages.remerr %]</div>[% END %]
[% IF edit_reminder && prov_error %]<div class="errormsg">[% prov_error %]</div>[% END %]
<form action="update_reminder" method="post">
<input type="hidden" name="subscriber_id" value="[% subscriber.subscriber_id %]" />
<table>
<tr>
<td class="tdkey">Time:</td>
<td>
<input type="text" name="time" [% IF ! edit_reminder %]class="disabled" disabled="disabled"[% END %]
title="time for the reminder call, in hh:mm format - no seconds"
value="[% subscriber.reminder.time %]" />
</td>
</tr>
<tr>
<td class="tdkey">Recurrence:</td>
<td>
<select size="1" name="recur" [% IF ! edit_reminder %]class="disabled" disabled="disabled"[% END %]
title="never: does not recur; weekdays: Monday to Saturday; always: every day">
<option [% 'selected="selected"' IF subscriber.reminder.recur == "never" %]>never</option>
<option [% 'selected="selected"' IF subscriber.reminder.recur == "weekdays" %]>weekdays</option>
<option [% 'selected="selected"' IF subscriber.reminder.recur == "always" %]>always</option>
</select>
</td>
</tr>
</table>
[% IF edit_reminder %]
<input type="submit" class="but" value="Save &#187;" />
[% END %]
</form>
</div>
<h3 id="speeddial">Speed Dial</h3>
<div class="p1">
<table>

Loading…
Cancel
Save