mirror of https://github.com/sipwise/www_csc.git
parent
e3c57e34c8
commit
9d48ab9d8b
@ -0,0 +1,125 @@
|
||||
package csc::Controller::reminder;
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
use base 'Catalyst::Controller';
|
||||
|
||||
=head1 NAME
|
||||
|
||||
csc::Controller::reminder - Catalyst Controller
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
Catalyst Controller.
|
||||
|
||||
=head1 METHODS
|
||||
|
||||
=cut
|
||||
|
||||
|
||||
=head2 index
|
||||
|
||||
=cut
|
||||
|
||||
sub index : Private {
|
||||
my ( $self, $c, $preferences ) = @_;
|
||||
|
||||
$c->log->debug('***reminder::index called');
|
||||
$c->stash->{template} = 'tt/reminder.tt';
|
||||
|
||||
return 1 unless $c->model('Provisioning')->call_prov($c, 'voip', 'get_subscriber',
|
||||
{ username => $c->session->{user}{username},
|
||||
domain => $c->session->{user}{domain},
|
||||
},
|
||||
\$c->session->{user}{data}
|
||||
);
|
||||
return 1 unless $c->model('Provisioning')->call_prov($c, 'voip', 'get_subscriber_preferences',
|
||||
{ username => $c->session->{user}{username},
|
||||
domain => $c->session->{user}{domain},
|
||||
},
|
||||
\$c->session->{user}{preferences}
|
||||
);
|
||||
|
||||
if(defined $preferences and ref $preferences eq 'HASH') {
|
||||
for(keys %$preferences) {
|
||||
$c->session->{user}{reminder}{$_} = $$preferences{$_};
|
||||
}
|
||||
} else {
|
||||
unless($c->model('Provisioning')->call_prov($c, 'voip', 'get_subscriber_reminder',
|
||||
{ username => $c->session->{user}{username},
|
||||
domain => $c->session->{user}{domain},
|
||||
},
|
||||
\$c->session->{user}{reminder}
|
||||
)) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
$c->stash->{subscriber} = $c->session->{user};
|
||||
|
||||
$c->stash->{subscriber}{active_number} = '0'. $c->session->{user}{data}{ac} .' '. $c->session->{user}{data}{sn};
|
||||
if($c->session->{user}{extension}) {
|
||||
my $ext = $c->session->{user}{preferences}{extension};
|
||||
$c->stash->{subscriber}{active_number} =~ s/$ext$/ - $ext/;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
sub save : Local {
|
||||
my ( $self, $c ) = @_;
|
||||
my (%preferences, %messages);
|
||||
|
||||
$preferences{time} = $c->request->params->{time};
|
||||
if(defined $preferences{time} and $preferences{time} !~ /^\d\d?:\d\d?$/) {
|
||||
$messages{time} = 'Client.Syntax.MalformedReminderTime';
|
||||
}
|
||||
$preferences{recur} = $c->request->params->{recur} || 'never';
|
||||
|
||||
unless(keys %messages) {
|
||||
if($c->model('Provisioning')->call_prov($c, 'voip', 'set_subscriber_reminder',
|
||||
{ username => $c->session->{user}{username},
|
||||
domain => $c->session->{user}{domain},
|
||||
data => \%preferences
|
||||
},
|
||||
undef
|
||||
))
|
||||
{
|
||||
$messages{topmsg} = 'Server.Voip.SavedSettings';
|
||||
$c->session->{messages} = \%messages;
|
||||
$c->response->redirect('/reminder');
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
$messages{toperr} = 'Client.Voip.InputErrorFound';
|
||||
}
|
||||
|
||||
$c->session->{messages} = \%messages;
|
||||
$self->index($c, \%preferences);
|
||||
}
|
||||
|
||||
|
||||
=head1 BUGS AND LIMITATIONS
|
||||
|
||||
=over
|
||||
|
||||
=item none.
|
||||
|
||||
=back
|
||||
|
||||
=head1 SEE ALSO
|
||||
|
||||
Provisioning model, Catalyst
|
||||
|
||||
=head1 AUTHORS
|
||||
|
||||
Daniel Tiefnig <dtiefnig@sipwise.com>
|
||||
|
||||
=head1 COPYRIGHT
|
||||
|
||||
The reminder controller is Copyright (c) 2010 Sipwise GmbH,
|
||||
Austria. All rights reserved.
|
||||
|
||||
=cut
|
||||
|
||||
# over and out
|
||||
1;
|
||||
|
After Width: | Height: | Size: 744 B |
|
After Width: | Height: | Size: 761 B |
@ -0,0 +1,81 @@
|
||||
[% META title = 'reminder' %]
|
||||
|
||||
<div id="headimg">
|
||||
<img src="/grafik/area.jpg" width="869" height="69" alt="" />
|
||||
</div>
|
||||
<div id="headtxt">Stellen Sie Ihren persönlichen Wecker.</div>
|
||||
|
||||
<div id="main">
|
||||
|
||||
<div id="topmsg">
|
||||
<p> [% messages.topmsg %] </p>
|
||||
</div>
|
||||
<div id="toperr">
|
||||
<p> [% messages.toperr %] </p>
|
||||
<p> [% messages.prov_error %] </p>
|
||||
</div>
|
||||
|
||||
<div class="sperrehead">
|
||||
<h3>Weckruf</h3>
|
||||
<h2 class="umleitungfuer">Einstellungen für [% subscriber.active_number %]</h2>
|
||||
</div>
|
||||
<div id="spalten31">
|
||||
|
||||
<div class="spalte1">
|
||||
|
||||
<form id="reminder" action="/reminder/save" method="post">
|
||||
<h3 class="blueh3">Wann</h3>
|
||||
<p>
|
||||
<label class="lleft" for="reminder_time">Uhrzeit: </label>
|
||||
<input type="text" id="reminder_time" name="time" size="5" class="input5" value="[% subscriber.reminder.time %]" />
|
||||
<span class="info">(hh:mm)</span>
|
||||
[% IF messages.time %]<div id="errormsg">[% messages.time %]</div><br clear="all" />[% END %]
|
||||
</p>
|
||||
<p>
|
||||
<label class="lleft">Wiederholung:</label>
|
||||
<p class="recur">
|
||||
<input type="radio" id="reminder_recur_never" value="never" name="recur" class="radio"
|
||||
[% IF subscriber.reminder.recur == "never" %]checked="checked"[% END %] />
|
||||
<label for="reminder_recur_never">nie</label><br />
|
||||
<input type="radio" id="reminder_recur_weekdays" value="weekdays" name="recur" class="radio"
|
||||
[% IF subscriber.reminder.recur == "weekdays" %]checked="checked"[% END %] />
|
||||
<label for="reminder_recur_weekdays">an Wochentagen (Montag - Samstag)</label><br />
|
||||
<input type="radio" id="reminder_recur_always" value="always" name="recur" class="radio"
|
||||
[% IF subscriber.reminder.recur == "always" %]checked="checked"[% END %] />
|
||||
<label for="reminder_recur_always">täglich</label><br />
|
||||
</p>
|
||||
</p>
|
||||
|
||||
<p class="save">
|
||||
<label for="save_settings">Weckruf aktivieren</label>
|
||||
<input type="image" class="hidden" src="/grafik/dot_trans.gif" alt="" id="save_settings">
|
||||
</p>
|
||||
</form>
|
||||
|
||||
<form action="/reminder/save" method="post">
|
||||
<p class="save">
|
||||
<label for="clear_settings">Weckruf deaktivieren</label>
|
||||
<input type="image" class="hidden" src="/grafik/dot_trans.gif" alt="" id="clear_settings">
|
||||
</p>
|
||||
</form>
|
||||
|
||||
<br clear="all" />
|
||||
|
||||
</div>
|
||||
<div class="spalte2">
|
||||
|
||||
<p class="rufumleitung">
|
||||
[% IF subscriber.reminder.time %]
|
||||
<img src="/grafik/reminder_on.gif" width="34" height="43" alt="reminder" />
|
||||
Der Weckruf ist aktiv!
|
||||
[% ELSE %]
|
||||
<img src="/grafik/reminder_off.gif" width="34" height="43" alt="reminder" />
|
||||
Der Weckruf ist deaktiviert!
|
||||
[% END %]
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div><br clear="all" />
|
||||
Loading…
Reference in new issue