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

58 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('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');
amount = prompt(_('AmountToPay:'), defaultAmountStr);
if (amount != null) {
amount = parseFloat(amount.replace(',', '.'));
this.tpv.pay(amount, null);
}
},
onDialogResponse: function(dialog, response) {
if (response == Htk.Dialog.Button.RETRY)
this.tpv.retryPay();
}
});