added account auto reload to template

2.0@2770
Daniel Tiefnig 18 years ago
parent 8bf1737e59
commit 28f4cf3ad7

@ -29,7 +29,7 @@ sub index : Private {
sub info : Local {
my ( $self, $c ) = @_;
$c->log->debug('***account::settings called');
$c->log->debug('***account::info called');
if($c->session->{user}{username} eq 'demonstration') {
$c->response->redirect($c->uri_for('/desktop'));
@ -173,7 +173,8 @@ sub balance : Local {
return 1;
}
$c->stash->{refill}{amount} = $c->request->params->{amount} || '';
$c->stash->{refill} = $c->session->{refill};
delete $c->session->{refill};
$c->stash->{subscriber}{account}{cash_balance} = sprintf "%.2f", $c->session->{user}{account}{cash_balance} / 100;
$c->stash->{template} = 'tt/account_balance.tt';
@ -197,11 +198,28 @@ sub setpay : Local {
my $amount = $c->request->params->{amount};
if($amount !~ /^\d+$/) {
$c->session->{messages}{msgamount} = 'Client.Billing.MalformedAmount';
$messages{msgamount} = 'Client.Billing.MalformedAmount';
$c->session->{refill}{amount} = $amount;
}
my $auto_reload = $c->request->params->{auto_reload};
my $auto_amount = $c->request->params->{auto_amount};
if($auto_reload) {
if($auto_amount !~ /^\d+$/) {
$messages{msgautoamount} = 'Client.Billing.MalformedAmount';
$c->session->{refill}{auto_amount} = $auto_amount;
}
}
if(keys %messages) {
$c->session->{messages} = \%messages;
$c->response->redirect($c->uri_for('/account/balance'));
return;
}
$c->session->{payment}{auto_reload} = $auto_reload;
$c->session->{payment}{auto_amount} = $auto_amount;
unless($c->model('Provisioning')->get_usr_preferences($c)) {
$c->response->redirect($c->uri_for('/account/balance'));
return;
@ -247,55 +265,10 @@ sub dopay : Local {
$c->stash->{backend} = 'account';
$c->stash->{template} = 'tt/account_payment.tt';
}
sub dopay_eps : Local {
my ( $self, $c ) = @_;
$c->log->debug('***account::dopay_eps called');
my $amount = $c->session->{payment}{amount};
my $bankname = $c->request->params->{bankname};
my ($bank, $bankid);
$bank = $bankname;
if($bankname =~ /^ARZ_/) {
($bank, $bankid) = split /_/, $bankname;
}
my $tid = $self->_start_transaction($c, 'eps', $amount);
unless($tid) {
$c->response->redirect('/account/dopay');
return;
}
if($c->model('Mpay24')->accept_eps_payment($c, $tid, $amount, $bank, $bankid)) {
unless($c->model('Provisioning')->call_prov($c, 'billing', 'update_payment',
{ id => $tid,
data => { state => 'transact' },
},
undef
))
{
return;
}
$c->response->redirect($c->session->{mpay24}{LOCATION});
$c->log->info("redirected customer to ". $c->session->{mpay24}{LOCATION});
} elsif(defined $c->session->{mpay24}) { # application error
$self->_fail_transaction($c, $tid);
$c->session->{mpay24_errors}{eps} = $c->session->{mpay24}{EXTERNALSTATUS}
|| $c->model('Provisioning')->localize('Web.Payment.UnknownError');
$c->session->{refill}{eps}{bankname} = $bankname;
$c->response->redirect('/account/dopay#eps');
} else { # transport error
$self->_fail_transaction($c, $tid);
$c->session->{mpay24_errors}{eps} = $c->model('Provisioning')->localize('Web.Payment.HttpFailed');
$c->session->{refill}{eps}{bankname} = $bankname;
$c->response->redirect('/account/dopay#eps');
}
return 1;
$c->stash->{payment} = $c->session->{payment};
$c->stash->{elv_error} = $c->session->{elv_error} if $c->session->{elv_error};
delete $c->session->{elv_error};
}
sub dopay_elv : Local {
@ -305,43 +278,19 @@ sub dopay_elv : Local {
my $amount = $c->session->{payment}{amount};
my $agb_ack = $c->request->params->{agb_ack};
my $accountnumber = $c->request->params->{accountnumber};
my $bankid = $c->request->params->{bankid};
my $tid = $self->_start_transaction($c, 'elv', $amount);
unless($tid) {
$c->response->redirect('/account/dopay');
return;
}
# my $tid = $self->_start_transaction($c, 'elv', $amount);
# unless($tid) {
# $c->response->redirect('/account/dopay');
# return;
# }
if($c->model('Mpay24')->accept_elv_payment($c, $tid, $amount, $accountnumber, $bankid)) {
unless($c->model('Provisioning')->update_account_balance($c, $amount)) {
$self->_fail_transaction($c, $tid);
$c->response->redirect('/account/balance');
return;
}
unless($self->_finish_transaction($c, $tid)) {
# hmm, what? some logging, at least.
}
$c->session->{messages}{topmsg} = 'Server.Billing.Success';
$c->response->redirect('/account/balance');
} elsif(defined $c->session->{mpay24}) {
$self->_fail_transaction($c, $tid);
$c->session->{mpay24_errors}{elv} = $c->session->{mpay24}{EXTERNALSTATUS}
|| $c->model('Provisioning')->localize('Web.Payment.UnknownError');
$c->session->{refill}{elv}{accountnumber} = $accountnumber;
$c->session->{refill}{elv}{bankid} = $bankid;
$c->response->redirect('/account/dopay#elv');
} else {
$self->_fail_transaction($c, $tid);
$c->session->{mpay24_errors}{elv} = $c->model('Provisioning')->localize('Web.Payment.HttpFailed');
$c->session->{refill}{elv}{accountnumber} = $accountnumber;
$c->session->{refill}{elv}{bankid} = $bankid;
$c->response->redirect('/account/dopay#elv');
}
$c->session->{elv_error} = "Bezahlen via Bankeinzug ist noch nicht implementiert!";
$c->response->redirect('/account/dopay');
return 1;
return;
}
sub dopay_cc : Local {
@ -413,6 +362,55 @@ sub dopay_cc : Local {
return 1;
}
sub dopay_eps : Local {
my ( $self, $c ) = @_;
$c->log->debug('***account::dopay_eps called');
my $amount = $c->session->{payment}{amount};
my $bankname = $c->request->params->{bankname};
my ($bank, $bankid);
$bank = $bankname;
if($bankname =~ /^ARZ_/) {
($bank, $bankid) = split /_/, $bankname;
}
my $tid = $self->_start_transaction($c, 'eps', $amount);
unless($tid) {
$c->response->redirect('/account/dopay');
return;
}
if($c->model('Mpay24')->accept_eps_payment($c, $tid, $amount, $bank, $bankid)) {
unless($c->model('Provisioning')->call_prov($c, 'billing', 'update_payment',
{ id => $tid,
data => { state => 'transact' },
},
undef
))
{
return;
}
$c->response->redirect($c->session->{mpay24}{LOCATION});
$c->log->info("redirected customer to ". $c->session->{mpay24}{LOCATION});
} elsif(defined $c->session->{mpay24}) { # application error
$self->_fail_transaction($c, $tid);
$c->session->{mpay24_errors}{eps} = $c->session->{mpay24}{EXTERNALSTATUS}
|| $c->model('Provisioning')->localize('Web.Payment.UnknownError');
$c->session->{refill}{eps}{bankname} = $bankname;
$c->response->redirect('/account/dopay#eps');
} else { # transport error
$self->_fail_transaction($c, $tid);
$c->session->{mpay24_errors}{eps} = $c->model('Provisioning')->localize('Web.Payment.HttpFailed');
$c->session->{refill}{eps}{bankname} = $bankname;
$c->response->redirect('/account/dopay#eps');
}
return 1;
}
sub dopay_maestro : Local {
my ( $self, $c ) = @_;

@ -47,9 +47,7 @@
width: auto;
float: left;
margin: 0;
padding: 0 0 10px 0;
}
#errormsg p {
padding: 0;
font-size: 12px;
font-weight: bold;
color: #FF1010;
@ -261,6 +259,28 @@
border: none;
}
#main .feinstellungen label.loose {
width: auto;
float: none;
padding: 0;
margin: 0;
}
#main .feinstellungen input.loose {
width: 35px !important;
float: none;
margin: 0;
}
#main .feinstellungen #damount {
margin-top: 8px;
}
#main .feinstellungen #amount {
margin-top: -1px;
}
#main .feinstellungen #auto_reload {
margin: 12px 0 1px 23px;
}
/* alignment and text color for demo info text */
#main .feinstellungen .demoinfo {
color: #8B949A;

@ -5,12 +5,21 @@
<fieldset class="alt">
<h3>Konto aufladen</h3>
<label for="famount"><strong>aktuelles Guthaben</strong></label>
<p><strong>&euro; [% subscriber.account.cash_balance %]</strong></p>
<label><strong>aktuelles Guthaben</strong></label>
<strong>&euro; [% subscriber.account.cash_balance %]</strong><br clear="all" />
<label for="famount">Betrag in &euro;</label>
<input type="text" size="10" class="input10" id="foldpass" name="amount"><br clear="all" />
[% IF messages.msgamount %]<div id="errormsg"><p>[% messages.msgamount %]</p></div><br clear="all" />[% END %]
<div id="damount">
<label for="amount">Betrag aufladen: </label>&euro;
<input type="text" size="4" maxlength="4" class="input10 loose"
id="amount" name="amount" value="[% refill.amount %]" /><br clear="all" />
[% IF messages.msgamount %]<div id="errormsg">[% messages.msgamount %]</div><br clear="all" />[% END %]
</div>
<input type="checkbox" name="auto_reload" id="auto_reload" class="noborder" />
<label for="auto_reload" class="loose">Diesen Betrag automatisch aufladen,</label>
<label for="auto_amount" class="loose">wenn das Guthaben &euro;</label>
<input type="text" size="4" maxlength="4" class="input10 loose"
id="auto_amount" name="auto_amount" value="[% refill.auto_amount %]" /> unterschreitet.
<p class="save">
<label for="save_settings">weiter</label>

@ -2,60 +2,39 @@
[% IF mpay24_errors.top %]<br><div id="errormsg"><p>[% mpay24_errors.top %]</p></div>[% END %]
<fieldset class="alt" id="eps">
<form action="/[% backend %]/dopay_eps" method="post">
<fieldset class="alt" id="elv">
<form action="/[% backend %]/dopay_elv" method="POST">
<input type="hidden" name="sk" value="[% sk %]" />
<p>
<span class="selectpayment">Zahlen per Onlineüberweisung</span>
<span class="selectpayment">Zahlen via Bankeinzug</span>
<div class="info">
Sie werden nach Auswahl Ihrer Bank auf Ihre gewohnte Onlinebanking Webseite
weitergeleitet, wo sie sich mit Ihren Benutzerdaten einloggen und die
Überweisung vornehmen können. Folgende Banken stehen dafür zur Verfügung:
</div><br />
Wir buchen den Betrag von Ihrem Konto ab, Sie brauchen nur dieses
Formular auszufüllen.
</div>
</p><br />
<select name="bankname">
<option value="BA"[% IF refill.eps.bankname == "BA" %]
selected="selected"[% END %]>Bank Austria Credit Anstalt</option>
<option value="ERSTE"[% IF refill.eps.bankname == "ERSTE" %]
selected="selected"[% END %]>Erste Bank & Sparkassen Gruppe</option>
<option value="RZB"[% IF refill.eps.bankname == "RZB" %]
selected="selected"[% END %]>Raiffeisenbanken Gruppe</option>
<option value="BAWAG"[% IF refill.eps.bankname == "BAWAG" %]
selected="selected"[% END %]>BAWAG P.S.K. Gruppe</option>
<option value="HYPO"[% IF refill.eps.bankname == "HYPO" %]
selected="selected"[% END %]>Hypo Oberösterreich</option>
<!--
<option value="ARZ_101"[% IF refill.eps.bankname == "ARZ_101" %]
selected="selected"[% END %]>österr. Volksbanken, Immo-Bank und Gärtnerbank</option>
<option value="ARZ_093"[% IF refill.eps.bankname == "ARZ_093" %]
selected="selected"[% END %]>Bank fuer Ärzte und Freie Berufe</option>
<option value="ARZ_029"[% IF refill.eps.bankname == "ARZ_029" %]
selected="selected"[% END %]>NÖ Landesbank-Hypothekenbank AG</option>
<option value="ARZ_019"[% IF refill.eps.bankname == "ARZ_019" %]
selected="selected"[% END %]>Vorarlberger Landes- und Hypothekenbank AG</option>
<option value="ARZ_011"[% IF refill.eps.bankname == "ARZ_011" %]
selected="selected"[% END %]>Bankhaus Carl Spängler & Co. AG</option>
<option value="ARZ_002"[% IF refill.eps.bankname == "ARZ_002" %]
selected="selected"[% END %]>Hypo Tirol Bank AG</option>
<option value="ARZ_015"[% IF refill.eps.bankname == "ARZ_015" %]
selected="selected"[% END %]>Hypo-Alpe-Adria-Bank AGs</option>
<option value="ARZ_109"[% IF refill.eps.bankname == "ARZ_109" %]
selected="selected"[% END %]>Investkredit Bank AG</option>
-->
</select>
<p class="left">
<label for="faccountnumber">Kontonummer</label>
<input type="text" size="20" class="input20" id="faccountnumber"
name="accountnumber" value="[% refill.elv.accountnumber %]" /><br />
</p>
<p class="right">
<label for="fbankid">Bankleitzahl</label>
<input type="text" size="10" class="input20" id="fbankid"
name="bankid" value="[% refill.elv.bankid %]" /><br />
</p>
<p class="save">
<label for="go_eps">Mit E-Banking forfahren</label>
<input type="image" width="0" height="0" src="/grafik/dot_trans.gif" alt="" id="go_eps">
<label for="go_elv">Bankeinzug veranlassen</label>
<input type="image" width="0" height="0" src="/grafik/dot_trans.gif" alt="" id="go_elv">
</p>
[% IF mpay24_errors.eps %]<br><div id="errormsg"><p>[% mpay24_errors.eps %]</p></div>[% END %]
[% IF elv_error %]<br clear="all" /><div id="errormsg">[% elv_error %]</div><br clear="all" />[% END %]
</form>
</fieldset><br clear="all" />
<fieldset id="cc">
<fieldset id="cc" [% IF payment.auto_reload %]class="last"[% END %]>
<form action="/[% backend %]/dopay_cc" method="post">
<input type="hidden" name="sk" value="[% sk %]" />
<p>
@ -126,7 +105,62 @@
</form>
</fieldset><br clear="all" />
<fieldset class="alt" id="maestro">
[% UNLESS payment.auto_reload %]
<fieldset class="alt" id="eps">
<form action="/[% backend %]/dopay_eps" method="post">
<input type="hidden" name="sk" value="[% sk %]" />
<p>
<span class="selectpayment">Zahlen per Onlineüberweisung</span>
<div class="info">
Sie werden nach Auswahl Ihrer Bank auf Ihre gewohnte Onlinebanking Webseite
weitergeleitet, wo sie sich mit Ihren Benutzerdaten einloggen und die
Überweisung vornehmen können. Folgende Banken stehen dafür zur Verfügung:
</div><br />
<select name="bankname">
<option value="BA"[% IF refill.eps.bankname == "BA" %]
selected="selected"[% END %]>Bank Austria Credit Anstalt</option>
<option value="ERSTE"[% IF refill.eps.bankname == "ERSTE" %]
selected="selected"[% END %]>Erste Bank & Sparkassen Gruppe</option>
<option value="RZB"[% IF refill.eps.bankname == "RZB" %]
selected="selected"[% END %]>Raiffeisenbanken Gruppe</option>
<option value="BAWAG"[% IF refill.eps.bankname == "BAWAG" %]
selected="selected"[% END %]>BAWAG P.S.K. Gruppe</option>
<option value="HYPO"[% IF refill.eps.bankname == "HYPO" %]
selected="selected"[% END %]>Hypo Oberösterreich</option>
<!--
<option value="ARZ_101"[% IF refill.eps.bankname == "ARZ_101" %]
selected="selected"[% END %]>österr. Volksbanken, Immo-Bank und Gärtnerbank</option>
<option value="ARZ_093"[% IF refill.eps.bankname == "ARZ_093" %]
selected="selected"[% END %]>Bank fuer Ärzte und Freie Berufe</option>
<option value="ARZ_029"[% IF refill.eps.bankname == "ARZ_029" %]
selected="selected"[% END %]>NÖ Landesbank-Hypothekenbank AG</option>
<option value="ARZ_019"[% IF refill.eps.bankname == "ARZ_019" %]
selected="selected"[% END %]>Vorarlberger Landes- und Hypothekenbank AG</option>
<option value="ARZ_011"[% IF refill.eps.bankname == "ARZ_011" %]
selected="selected"[% END %]>Bankhaus Carl Spängler & Co. AG</option>
<option value="ARZ_002"[% IF refill.eps.bankname == "ARZ_002" %]
selected="selected"[% END %]>Hypo Tirol Bank AG</option>
<option value="ARZ_015"[% IF refill.eps.bankname == "ARZ_015" %]
selected="selected"[% END %]>Hypo-Alpe-Adria-Bank AGs</option>
<option value="ARZ_109"[% IF refill.eps.bankname == "ARZ_109" %]
selected="selected"[% END %]>Investkredit Bank AG</option>
-->
</select>
</p>
<p class="save">
<label for="go_eps">Mit E-Banking forfahren</label>
<input type="image" width="0" height="0" src="/grafik/dot_trans.gif" alt="" id="go_eps">
</p>
[% IF mpay24_errors.eps %]<br><div id="errormsg"><p>[% mpay24_errors.eps %]</p></div>[% END %]
</form>
</fieldset><br clear="all" />
<fieldset id="maestro">
<form action="/[% backend %]/dopay_maestro" method="post">
<input type="hidden" name="sk" value="[% sk %]" />
<p>
@ -193,7 +227,7 @@
</form>
</fieldset><br clear="all" />
<fieldset id="paypal">
<fieldset class="alt" id="paypal">
<form action="/[% backend %]/dopay_paypal" method="post">
<input type="hidden" name="sk" value="[% sk %]" />
<p>
@ -214,4 +248,6 @@
</form>
</fieldset><br clear="all" />
[% END %]
</span>

Loading…
Cancel
Save