hedera-web/forms/ecomerce/orders/orders.js

69 lines
1.2 KiB
JavaScript
Raw Normal View History

2016-09-26 09:28:47 +00:00
Hedera.Orders = new Class
({
2016-09-26 09:28:47 +00:00
Extends: Hedera.Form
,activate: function ()
{
2016-09-26 09:28:47 +00:00
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 ();
}
2015-07-10 12:30:08 +00:00
,onBasketClick: function ()
{
2015-07-10 12:30:08 +00:00
this.hash.set ({'form': 'ecomerce/basket'});
}
2015-12-02 17:26:58 +00:00
,repeaterFunc: function (res, form)
{
2015-12-02 17:26:58 +00:00
res.$('link').href = this.hash.make ({
2015-01-31 01:05:12 +00:00
'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 ()
{
2015-12-02 17:26:58 +00:00
var amount = -this.$('debt').value;
2015-02-08 15:38:38 +00:00
amount = amount <= 0 ? null : amount;
var defaultAmountStr = '';
2015-07-10 12:30:08 +00:00
if (amount !== null)
defaultAmountStr = Vn.Value.format (amount, '%.2d');
var amount = parseFloat (prompt (_('AmountToPay:'), defaultAmountStr));
this.tpv.pay (amount, null);
}
,onCancelPay: function ()
{
this.$('error-dialog').hide ();
}
,onRetryPay: function ()
{
this.$('error-dialog').hide ();
this.tpv.retryPay ();
}
});