diff --git a/modules/client/front/fiscal-data/index.js b/modules/client/front/fiscal-data/index.js index 65129d3f8e..397bb20e16 100644 --- a/modules/client/front/fiscal-data/index.js +++ b/modules/client/front/fiscal-data/index.js @@ -8,6 +8,14 @@ export default class Controller extends Section { const hasContactData = this.client.email || this.client.phone || this.client.mobile; const hasChangedTaxData = !orgData.isTaxDataChecked && this.client.isTaxDataChecked; + + const shouldInvoice = this.client.isActive && !this.client.hasToInvoice; + const clientActivation = this.client.isActive && (orgData.isActive != this.client.isActive); + if (shouldInvoice && clientActivation) { + this.client.hasToInvoice = true; + this.vnApp.showMessage(this.$t('Client invoices enabled')); + } + if (hasChangedTaxData && hasContactData) this.checkExistingClient(); else this.save(); diff --git a/modules/client/front/fiscal-data/index.spec.js b/modules/client/front/fiscal-data/index.spec.js index e028d01f3c..17e7309147 100644 --- a/modules/client/front/fiscal-data/index.spec.js +++ b/modules/client/front/fiscal-data/index.spec.js @@ -50,6 +50,16 @@ describe('Client', () => { expect(controller.save).not.toHaveBeenCalledWith(); expect(controller.checkExistingClient).toHaveBeenCalledWith(); }); + + it('should enable the hasToInvoice property any time the form activates the client with isActive', () => { + $scope.watcher.orgData.isActive = false; + controller.client.isActive = true; + controller.client.hasToInvoice = false; + + controller.onSubmit(); + + expect(controller.client.hasToInvoice).toBe(true); + }); }); describe('checkExistingClient()', () => {