forked from verdnatura/hedera-web
64 lines
1.2 KiB
JavaScript
64 lines
1.2 KiB
JavaScript
|
|
Hedera.Orders = new Class
|
|
({
|
|
Extends: Hedera.Form
|
|
|
|
,activate: function ()
|
|
{
|
|
this.tpv = new Hedera.Tpv ({conn: this.conn});
|
|
this.tpv.check (this._onTpvCheck.bind (this));
|
|
}
|
|
|
|
,_onTpvCheck: function (tpv, tpvOrder, tpvStatus)
|
|
{
|
|
if (tpvStatus === 'ko')
|
|
this.$('error-dialog').show ();
|
|
}
|
|
|
|
,onBasketClick: function ()
|
|
{
|
|
this.hash.set ({'form': 'ecomerce/basket'});
|
|
}
|
|
|
|
,repeaterFunc: function (res, form)
|
|
{
|
|
res.$('link').href = this.hash.make ({
|
|
'form': 'ecomerce/ticket',
|
|
'ticket': form.get ('ticket_id')
|
|
});
|
|
}
|
|
|
|
// TPV
|
|
|
|
,balanceConditionalFunc: function (field, value)
|
|
{
|
|
if (value >= 0)
|
|
Vn.Node.removeClass (this.$('balance'), 'negative');
|
|
else
|
|
Vn.Node.addClass (this.$('balance'), 'negative');
|
|
}
|
|
|
|
,onPayButtonClick: function ()
|
|
{
|
|
var amount = -this.$('debt').value;
|
|
|
|
amount = amount <= 0 ? null : amount;
|
|
|
|
var defaultAmountStr = '';
|
|
|
|
if (amount !== null)
|
|
defaultAmountStr = Vn.Value.format (amount, '%.2d');
|
|
|
|
var amount = parseFloat (prompt (_('AmountToPay:'), defaultAmountStr));
|
|
|
|
this.tpv.pay (amount, null);
|
|
}
|
|
|
|
,onDialogResponse: function (dialog, response)
|
|
{
|
|
if (response == Htk.Dialog.Button.RETRY)
|
|
this.tpv.retryPay ();
|
|
}
|
|
});
|
|
|