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

58 lines
1.2 KiB
JavaScript
Raw Normal View History

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'});
},
2015-12-02 17:26:58 +00:00
repeaterFunc: function(res, form) {
res.$('link').href = this.hash.make({
2017-12-14 14:33:48 +00:00
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() {
2015-12-02 17:26:58 +00:00
var amount = -this.$('debt').value;
amount = amount <= 0 ? null : amount;
var defaultAmountStr = '';
2015-07-10 12:30:08 +00:00
if (amount !== null)
defaultAmountStr = Vn.Value.format(amount, '%.2d');
2017-12-01 14:38:23 +00:00
amount = prompt(_('AmountToPay:'), defaultAmountStr);
if (amount != null) {
amount = parseFloat(amount.replace(',', '.'));
this.tpv.pay(amount, null);
2017-12-01 14:38:23 +00:00
}
},
onDialogResponse: function(dialog, response) {
if (response == Htk.Dialog.Button.RETRY)
this.tpv.retryPay();
}
});