Hi! I try to understand dynamic-handlers and create it on Meeting entity. Have field with price per hour (on linked parent Client account) and want calculate it on fly when duration time's change. Anyone can explain this, or repair code?
Code:
define('custom:meetingA-dynamic-handler', ['dynamic-handler'], function (Dep) { return Dep.extend({ init: function () { this.controlFields(); //Ustawienie wartości this.listenTo(this.model, 'change:parentId', () => { console.log('parentId changedV1'); if (this.model.get('parentId') && this.model.get('parentType') == 'Account' && this.model.hasChanged('parentId')) { console.log('parentId changedV2'); this.ajaxGetRequest('Account/' + this.model.get('parentId')).then(function (Klient) { if (Klient['klientStawkaGodzinowaWaluta'] != null) { if (typeof Klient['klientStawkaGodzinowaWaluta'] === 'number' && !isNaN(this.model.get('duration'))) { var koszt = ((Klient['klientStawkaGodzinowaWaluta']) / 3600) * this.model.get('duration'); this.model.set('spotkanieKosztWaluta', Math.round(koszt * 100) / 100); } else { // Obsługa błędu lub ustawienie domyślnej wartości }; this.model.set('rodzajRozliczenia', 'godzinowe'); } else { //Espo.Ui.success('Some error message.', true); //Espo.Ui.warning('Some error message.', true); Espo.Ui.error('Brak stawki godzinowej na kartotece klienta!', true); /* this.confirm({ message: this.translate('Brak stawki godzinowej w kartotece klienta!', 'messages'), confirmText: this.translate('Potwierdź'), // text of the confirmation button }).then(() => { // here do some actions }); */ }; }.bind(this)); } }); }, }); });
Comment