Hedera.Ticket = new Class({ Extends: Hedera.Form, onTicketChange: function(ticket) { if (!ticket.value) return; var batch = new Sql.Batch(); batch.addValue('ticket', ticket.value); this.conn.execQuery('CALL myTicketLogAccess(#ticket)', null, batch); }, onTicketReady: function(form) { if (form.get('method') != 'PICKUP') Vn.Node.setText(this.$('method'), _('Agency')); else Vn.Node.setText(this.$('method'), _('Warehouse')); }, onPrintClick: function() { var batch = new Sql.Batch(); batch.addValue('ticket', this.$('ticket-id').value); this.gui.openReport('delivery-note', batch); }, repeaterFunc: function(res, form) { var discount = res.$('discount'); discount.style.display = form.get('discount') ? 'inline' : 'none'; res.$('discount-subtotal').value = this.discountSubtotal(form); res.$('subtotal').value = this.subtotal(form); }, discountSubtotal: function(form) { return form.get('quantity') * form.get('price'); }, subtotal: function(form) { var discount = form.get('discount'); return this.discountSubtotal(form) * ((100 - discount) / 100); }, onPackagesChanged: function(model) { this.$('packages').node.style.display = model.numRows > 0 ? 'block' : 'none'; } });