diff --git a/e2e/paths/09-invoice-in/01_summary.spec.js b/e2e/paths/09-invoice-in/01_summary.spec.js
deleted file mode 100644
index d5932efd0..000000000
--- a/e2e/paths/09-invoice-in/01_summary.spec.js
+++ /dev/null
@@ -1,28 +0,0 @@
-import selectors from '../../helpers/selectors.js';
-import getBrowser from '../../helpers/puppeteer';
-
-describe('InvoiceIn summary path', () => {
- let browser;
- let page;
-
- beforeAll(async() => {
- browser = await getBrowser();
- page = browser.page;
- await page.loginAndModule('administrative', 'invoiceIn');
- await page.accessToSearchResult('1');
- });
-
- afterAll(async() => {
- await browser.close();
- });
-
- it('should reach the summary section', async() => {
- await page.waitForState('invoiceIn.card.summary');
- });
-
- it('should contain some basic data from the invoice', async() => {
- const result = await page.waitToGetProperty(selectors.invoiceInSummary.supplierRef, 'innerText');
-
- expect(result).toEqual('1234');
- });
-});
diff --git a/e2e/paths/09-invoice-in/02_descriptor.spec.js b/e2e/paths/09-invoice-in/02_descriptor.spec.js
deleted file mode 100644
index 02bbce7ac..000000000
--- a/e2e/paths/09-invoice-in/02_descriptor.spec.js
+++ /dev/null
@@ -1,52 +0,0 @@
-import selectors from '../../helpers/selectors.js';
-import getBrowser from '../../helpers/puppeteer';
-
-describe('InvoiceIn descriptor path', () => {
- let browser;
- let page;
-
- beforeAll(async() => {
- browser = await getBrowser();
- page = browser.page;
- await page.loginAndModule('administrative', 'invoiceIn');
- await page.accessToSearchResult('10');
- await page.accessToSection('invoiceIn.card.basicData');
- });
-
- afterAll(async() => {
- await browser.close();
- });
-
- it('should clone the invoiceIn using the descriptor more menu', async() => {
- await page.waitToClick(selectors.invoiceInDescriptor.moreMenu);
- await page.waitToClick(selectors.invoiceInDescriptor.moreMenuCloneInvoiceIn);
- await page.waitToClick(selectors.invoiceInDescriptor.acceptButton);
- const message = await page.waitForSnackbar();
-
- expect(message.text).toContain('InvoiceIn cloned');
- });
-
- it('should have been redirected to the created invoiceIn summary', async() => {
- await page.waitForState('invoiceIn.card.summary');
- });
-
- it('should delete the cloned invoiceIn using the descriptor more menu', async() => {
- await page.waitToClick(selectors.invoiceInDescriptor.moreMenu);
- await page.waitToClick(selectors.invoiceInDescriptor.moreMenuDeleteInvoiceIn);
- await page.waitToClick(selectors.invoiceInDescriptor.acceptButton);
- const message = await page.waitForSnackbar();
-
- expect(message.text).toContain('InvoiceIn deleted');
- });
-
- it('should have been relocated to the invoiceOut index', async() => {
- await page.waitForState('invoiceIn.index');
- });
-
- it(`should search for the deleted invouceOut to find no results`, async() => {
- await page.doSearch('10');
- const nResults = await page.countElement(selectors.invoiceOutIndex.searchResult);
-
- expect(nResults).toEqual(0);
- });
-});
diff --git a/e2e/paths/09-invoice-in/03_basic_data.spec.js b/e2e/paths/09-invoice-in/03_basic_data.spec.js
deleted file mode 100644
index 50fe18830..000000000
--- a/e2e/paths/09-invoice-in/03_basic_data.spec.js
+++ /dev/null
@@ -1,196 +0,0 @@
-import selectors from '../../helpers/selectors.js';
-import getBrowser from '../../helpers/puppeteer';
-
-describe('InvoiceIn basic data path', () => {
- let browser;
- let page;
- let newDms;
-
- beforeAll(async() => {
- browser = await getBrowser();
- page = browser.page;
- await page.loginAndModule('administrative', 'invoiceIn');
- await page.accessToSearchResult('1');
- await page.accessToSection('invoiceIn.card.basicData');
- });
-
- afterAll(async() => {
- await browser.close();
- });
-
- it(`should edit the invoiceIn basic data`, async() => {
- const now = Date.vnNew();
- await page.pickDate(selectors.invoiceInBasicData.issued, now);
- await page.pickDate(selectors.invoiceInBasicData.operated, now);
- await page.autocompleteSearch(selectors.invoiceInBasicData.supplier, 'Verdnatura');
- await page.clearInput(selectors.invoiceInBasicData.supplierRef);
- await page.write(selectors.invoiceInBasicData.supplierRef, '9999');
- await page.clearInput(selectors.invoiceInBasicData.dms);
- await page.write(selectors.invoiceInBasicData.dms, '2');
- await page.pickDate(selectors.invoiceInBasicData.bookEntried, now);
- await page.pickDate(selectors.invoiceInBasicData.booked, now);
- await page.autocompleteSearch(selectors.invoiceInBasicData.currency, 'USD');
- await page.autocompleteSearch(selectors.invoiceInBasicData.company, 'ORN');
- await page.waitToClick(selectors.invoiceInBasicData.save);
- const message = await page.waitForSnackbar();
-
- expect(message.text).toContain('Data saved!');
- });
-
- it(`should confirm the invoiceIn supplier was edited`, async() => {
- await page.reloadSection('invoiceIn.card.basicData');
- const result = await page.waitToGetProperty(selectors.invoiceInBasicData.supplier, 'value');
-
- expect(result).toContain('Verdnatura');
- });
-
- it(`should confirm the invoiceIn supplierRef was edited`, async() => {
- const result = await page
- .waitToGetProperty(selectors.invoiceInBasicData.supplierRef, 'value');
-
- expect(result).toEqual('9999');
- });
-
- it(`should confirm the invoiceIn currency was edited`, async() => {
- const result = await page
- .waitToGetProperty(selectors.invoiceInBasicData.currency, 'value');
-
- expect(result).toEqual('USD');
- });
-
- it(`should confirm the invoiceIn company was edited`, async() => {
- const result = await page
- .waitToGetProperty(selectors.invoiceInBasicData.company, 'value');
-
- expect(result).toEqual('ORN');
- });
-
- it(`should confirm the invoiceIn dms was edited`, async() => {
- const result = await page
- .waitToGetProperty(selectors.invoiceInBasicData.dms, 'value');
-
- expect(result).toEqual('2');
- });
-
- it(`should create a new invoiceIn dms and save the changes`, async() => {
- await page.clearInput(selectors.invoiceInBasicData.dms);
- await page.waitToClick(selectors.invoiceInBasicData.create);
-
- await page.clearInput(selectors.invoiceInBasicData.reference);
- await page.write(selectors.invoiceInBasicData.reference, 'New Dms');
-
- await page.waitToClick(selectors.invoiceInBasicData.confirm);
- let message = await page.waitForSnackbar();
-
- await page.clearInput(selectors.invoiceInBasicData.companyId);
- await page.autocompleteSearch(selectors.invoiceInBasicData.companyId, 'VNL');
-
- await page.waitToClick(selectors.invoiceInBasicData.confirm);
- message = await page.waitForSnackbar();
-
- await page.clearInput(selectors.invoiceInBasicData.warehouseId);
- await page.autocompleteSearch(selectors.invoiceInBasicData.warehouseId, 'Warehouse One');
-
- await page.waitToClick(selectors.invoiceInBasicData.confirm);
- message = await page.waitForSnackbar();
-
- await page.clearInput(selectors.invoiceInBasicData.dmsTypeId);
- await page.autocompleteSearch(selectors.invoiceInBasicData.dmsTypeId, 'Ticket');
-
- await page.waitToClick(selectors.invoiceInBasicData.confirm);
- message = await page.waitForSnackbar();
-
- await page.waitToClick(selectors.invoiceInBasicData.description);
- await page.write(selectors.invoiceInBasicData.description, 'Dms without edition.');
-
- await page.waitToClick(selectors.invoiceInBasicData.confirm);
- message = await page.waitForSnackbar();
-
- expect(message.text).toContain('The files can\'t be empty');
-
- let currentDir = process.cwd();
- let filePath = `${currentDir}/e2e/assets/thermograph.jpeg`;
-
- const [fileChooser] = await Promise.all([
- page.waitForFileChooser(),
- page.waitToClick(selectors.invoiceInBasicData.inputFile)
- ]);
- await fileChooser.accept([filePath]);
-
- await page.waitToClick(selectors.invoiceInBasicData.confirm);
- message = await page.waitForSnackbar();
-
- expect(message.text).toContain('Data saved!');
-
- newDms = await page
- .waitToGetProperty(selectors.invoiceInBasicData.dms, 'value');
- });
-
- it(`should confirm the invoiceIn was edited with the new dms`, async() => {
- await page.reloadSection('invoiceIn.card.basicData');
- const result = await page
- .waitToGetProperty(selectors.invoiceInBasicData.dms, 'value');
-
- expect(result).toEqual(newDms);
- });
-
- it(`should edit the invoiceIn`, async() => {
- await page.waitToClick(selectors.invoiceInBasicData.edit);
-
- await page.clearInput(selectors.invoiceInBasicData.reference);
- await page.write(selectors.invoiceInBasicData.reference, 'Dms Edited');
- await page.clearInput(selectors.invoiceInBasicData.companyId);
- await page.autocompleteSearch(selectors.invoiceInBasicData.companyId, 'CCs');
- await page.clearInput(selectors.invoiceInBasicData.warehouseId);
- await page.autocompleteSearch(selectors.invoiceInBasicData.warehouseId, 'Algemesi');
- await page.clearInput(selectors.invoiceInBasicData.dmsTypeId);
- await page.autocompleteSearch(selectors.invoiceInBasicData.dmsTypeId, 'Basura');
- await page.waitToClick(selectors.invoiceInBasicData.description);
- await page.write(selectors.invoiceInBasicData.description, ' Nevermind, now is edited.');
-
- await page.waitToClick(selectors.invoiceInBasicData.confirm);
- let message = await page.waitForSnackbar();
-
- expect(message.text).toContain('Data saved!');
- });
-
- it(`should confirm the new dms has been edited`, async() => {
- await page.reloadSection('invoiceIn.card.basicData');
- await page.waitToClick(selectors.invoiceInBasicData.edit);
-
- const reference = await page
- .waitToGetProperty(selectors.invoiceInBasicData.reference, 'value');
- const companyId = await page
- .waitToGetProperty(selectors.invoiceInBasicData.companyId, 'value');
- const warehouseId = await page
- .waitToGetProperty(selectors.invoiceInBasicData.warehouseId, 'value');
- const dmsTypeId = await page
- .waitToGetProperty(selectors.invoiceInBasicData.dmsTypeId, 'value');
- const description = await page
- .waitToGetProperty(selectors.invoiceInBasicData.description, 'value');
-
- expect(reference).toEqual('Dms Edited');
- expect(companyId).toEqual('CCs');
- expect(warehouseId).toEqual('Algemesi');
- expect(dmsTypeId).toEqual('Basura');
- expect(description).toEqual('Dms without edition. Nevermind, now is edited.');
-
- await page.waitToClick(selectors.invoiceInBasicData.confirm);
- });
-
- it(`should disable edit and download if dms doesn't exists, and set back the original dms`, async() => {
- await page.clearInput(selectors.invoiceInBasicData.dms);
- await page.write(selectors.invoiceInBasicData.dms, '9999');
-
- await page.waitForSelector(`${selectors.invoiceInBasicData.download}.disabled`);
- await page.waitForSelector(`${selectors.invoiceInBasicData.edit}.disabled`);
-
- await page.clearInput(selectors.invoiceInBasicData.dms);
- await page.write(selectors.invoiceInBasicData.dms, '1');
-
- await page.waitToClick(selectors.invoiceInBasicData.save);
- const message = await page.waitForSnackbar();
-
- expect(message.text).toContain('Data saved!');
- });
-});
diff --git a/e2e/paths/09-invoice-in/04_tax.spec.js b/e2e/paths/09-invoice-in/04_tax.spec.js
deleted file mode 100644
index d51c39048..000000000
--- a/e2e/paths/09-invoice-in/04_tax.spec.js
+++ /dev/null
@@ -1,59 +0,0 @@
-import selectors from '../../helpers/selectors.js';
-import getBrowser from '../../helpers/puppeteer';
-
-describe('InvoiceIn tax path', () => {
- let browser;
- let page;
-
- beforeAll(async() => {
- browser = await getBrowser();
- page = browser.page;
- await page.loginAndModule('developer', 'invoiceIn');
- await page.accessToSearchResult('2');
- await page.accessToSection('invoiceIn.card.tax');
- });
-
- afterAll(async() => {
- await browser.close();
- });
-
- it('should add a new tax and check it', async() => {
- await page.waitToClick(selectors.invoiceInTax.addTaxButton);
- await page.autocompleteSearch(selectors.invoiceInTax.thirdExpense, '6210000567');
- await page.write(selectors.invoiceInTax.thirdTaxableBase, '100');
- await page.autocompleteSearch(selectors.invoiceInTax.thirdTaxType, 'H.P. IVA');
- await page.autocompleteSearch(selectors.invoiceInTax.thirdTransactionType, 'Operaciones exentas');
- await page.waitToClick(selectors.invoiceInTax.saveButton);
- const message = await page.waitForSnackbar();
-
- await page.waitToClick(selectors.invoiceInDescriptor.summaryIcon);
- await page.waitForState('invoiceIn.card.summary');
- const total = await page.waitToGetProperty(selectors.invoiceInSummary.totalTaxableBase, 'innerText');
-
- await page.accessToSection('invoiceIn.card.tax');
-
- const thirdExpense = await page.waitToGetProperty(selectors.invoiceInTax.thirdExpense, 'value');
- const thirdTaxableBase = await page.waitToGetProperty(selectors.invoiceInTax.thirdTaxableBase, 'value');
- const thirdTaxType = await page.waitToGetProperty(selectors.invoiceInTax.thirdTaxType, 'value');
- const thirdTransactionType = await page.waitToGetProperty(selectors.invoiceInTax.thirdTransactionType, 'value');
- const thirdRate = await page.waitToGetProperty(selectors.invoiceInTax.thirdRate, 'value');
-
- expect(message.text).toContain('Data saved!');
-
- expect(total).toEqual('Taxable base €1,323.16');
-
- expect(thirdExpense).toEqual('6210000567');
- expect(thirdTaxableBase).toEqual('100');
- expect(thirdTaxType).toEqual('H.P. IVA 4% CEE');
- expect(thirdTransactionType).toEqual('Operaciones exentas');
- expect(thirdRate).toEqual('€4.00');
- });
-
- it('should delete the added line', async() => {
- await page.waitToClick(selectors.invoiceInTax.thirdDeleteButton);
- await page.waitToClick(selectors.invoiceInTax.saveButton);
- const message = await page.waitForSnackbar();
-
- expect(message.text).toContain('Data saved!');
- });
-});
diff --git a/e2e/paths/09-invoice-in/05_serial.spec.js b/e2e/paths/09-invoice-in/05_serial.spec.js
deleted file mode 100644
index 8be5660da..000000000
--- a/e2e/paths/09-invoice-in/05_serial.spec.js
+++ /dev/null
@@ -1,48 +0,0 @@
-import selectors from '../../helpers/selectors.js';
-import getBrowser from '../../helpers/puppeteer';
-
-describe('InvoiceIn serial path', () => {
- let browser;
- let page;
- let httpRequest;
-
- beforeAll(async() => {
- browser = await getBrowser();
- page = browser.page;
- await page.loginAndModule('administrative', 'invoiceIn');
- await page.accessToSection('invoiceIn.serial');
- page.on('request', req => {
- if (req.url().includes(`InvoiceIns/getSerial`))
- httpRequest = req.url();
- });
- });
-
- afterAll(async() => {
- await browser.close();
- });
-
- it('should check that passes the correct params to back', async() => {
- await page.overwrite(selectors.invoiceInSerial.daysAgo, '30');
- await page.keyboard.press('Enter');
-
- expect(httpRequest).toContain('daysAgo=30');
-
- await page.overwrite(selectors.invoiceInSerial.serial, 'R');
- await page.keyboard.press('Enter');
-
- expect(httpRequest).toContain('serial=R');
- await page.click(selectors.invoiceInSerial.chip);
- });
-
- it('should go to index and check if the search-panel has the correct params', async() => {
- await page.waitToClick(selectors.invoiceInSerial.goToIndex);
- const params = await page.$$(selectors.invoiceInIndex.topbarSearchParams);
- const serial = await params[0].getProperty('title');
- const isBooked = await params[1].getProperty('title');
- const from = await params[2].getProperty('title');
-
- expect(await serial.jsonValue()).toContain('serial');
- expect(await isBooked.jsonValue()).toContain('not isBooked');
- expect(await from.jsonValue()).toContain('from');
- });
-});
diff --git a/modules/invoiceIn/front/basic-data/index.html b/modules/invoiceIn/front/basic-data/index.html
deleted file mode 100644
index fbb9b05a2..000000000
--- a/modules/invoiceIn/front/basic-data/index.html
+++ /dev/null
@@ -1,315 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/modules/invoiceIn/front/basic-data/index.js b/modules/invoiceIn/front/basic-data/index.js
deleted file mode 100644
index 246f1b16f..000000000
--- a/modules/invoiceIn/front/basic-data/index.js
+++ /dev/null
@@ -1,187 +0,0 @@
-import ngModule from '../module';
-import Section from 'salix/components/section';
-import UserError from 'core/lib/user-error';
-
-class Controller extends Section {
- constructor($element, $, vnFile) {
- super($element, $, vnFile);
- this.dms = {
- files: [],
- hasFile: false,
- hasFileAttached: false
- };
- this.vnFile = vnFile;
- this.getAllowedContentTypes();
- this._editDownloadDisabled = false;
- }
-
- get contentTypesInfo() {
- return this.$t('ContentTypesInfo', {
- allowedContentTypes: this.allowedContentTypes
- });
- }
-
- get editDownloadDisabled() {
- return this._editDownloadDisabled;
- }
-
- async checkFileExists(dmsId) {
- if (!dmsId) return;
- let filter = {
- fields: ['id']
- };
- await this.$http.get(`Dms/${dmsId}`, {filter})
- .then(() => this._editDownloadDisabled = false)
- .catch(() => this._editDownloadDisabled = true);
- }
-
- async getFile(dmsId) {
- const path = `Dms/${dmsId}`;
- await this.$http.get(path).then(res => {
- const dms = res.data && res.data;
- this.dms = {
- dmsId: dms.id,
- reference: dms.reference,
- warehouseId: dms.warehouseFk,
- companyId: dms.companyFk,
- dmsTypeId: dms.dmsTypeFk,
- description: dms.description,
- hasFile: dms.hasFile,
- hasFileAttached: false,
- files: []
- };
- });
- }
-
- getAllowedContentTypes() {
- this.$http.get('DmsContainers/allowedContentTypes').then(res => {
- if (res.data.length > 0) {
- const contentTypes = res.data.join(', ');
- this.allowedContentTypes = contentTypes;
- }
- });
- }
-
- openEditDialog(dmsId) {
- this.getFile(dmsId).then(() => this.$.dmsEditDialog.show());
- }
-
- openCreateDialog() {
- const params = {filter: {
- where: {code: 'invoiceIn'}
- }};
- this.$http.get('DmsTypes/findOne', {params}).then(res => {
- this.dms = {
- reference: this.invoiceIn.supplierRef,
- warehouseId: this.vnConfig.warehouseFk,
- companyId: this.vnConfig.companyFk,
- dmsTypeId: res.data.id,
- description: this.invoiceIn.supplier.name,
- hasFile: true,
- hasFileAttached: true,
- files: null
- };
- this.$.dmsCreateDialog.show();
- });
- }
-
- downloadFile(dmsId) {
- this.vnFile.download(`api/dms/${dmsId}/downloadFile`);
- }
-
- onFileChange(files) {
- let hasFileAttached = false;
- if (files.length > 0)
- hasFileAttached = true;
-
- this.$.$applyAsync(() => {
- this.dms.hasFileAttached = hasFileAttached;
- });
- }
-
- onEdit() {
- if (!this.dms.companyId)
- throw new UserError(`The company can't be empty`);
- if (!this.dms.warehouseId)
- throw new UserError(`The warehouse can't be empty`);
- if (!this.dms.dmsTypeId)
- throw new UserError(`The DMS Type can't be empty`);
- if (!this.dms.description)
- throw new UserError(`The description can't be empty`);
-
- const query = `dms/${this.dms.dmsId}/updateFile`;
- const options = {
- method: 'POST',
- url: query,
- params: this.dms,
- headers: {
- 'Content-Type': undefined
- },
- transformRequest: files => {
- const formData = new FormData();
-
- for (let i = 0; i < files.length; i++)
- formData.append(files[i].name, files[i]);
-
- return formData;
- },
- data: this.dms.files
- };
-
- this.$http(options).then(res => {
- if (res) {
- this.vnApp.showSuccess(this.$t('Data saved!'));
- if (res.data.length > 0) this.invoiceIn.dmsFk = res.data[0].id;
- }
- });
- }
-
- onCreate() {
- if (!this.dms.companyId)
- throw new UserError(`The company can't be empty`);
- if (!this.dms.warehouseId)
- throw new UserError(`The warehouse can't be empty`);
- if (!this.dms.dmsTypeId)
- throw new UserError(`The DMS Type can't be empty`);
- if (!this.dms.description)
- throw new UserError(`The description can't be empty`);
- if (!this.dms.files)
- throw new UserError(`The files can't be empty`);
-
- const query = `Dms/uploadFile`;
- const options = {
- method: 'POST',
- url: query,
- params: this.dms,
- headers: {
- 'Content-Type': undefined
- },
- transformRequest: files => {
- const formData = new FormData();
-
- for (let i = 0; i < files.length; i++)
- formData.append(files[i].name, files[i]);
-
- return formData;
- },
- data: this.dms.files
- };
-
- this.$http(options).then(res => {
- if (res) {
- this.vnApp.showSuccess(this.$t('Data saved!'));
- if (res.data.length > 0) this.invoiceIn.dmsFk = res.data[0].id;
- }
- });
- }
-}
-
-Controller.$inject = ['$element', '$scope', 'vnFile'];
-
-ngModule.vnComponent('vnInvoiceInBasicData', {
- template: require('./index.html'),
- controller: Controller,
- bindings: {
- invoiceIn: '<'
- }
-});
diff --git a/modules/invoiceIn/front/basic-data/index.spec.js b/modules/invoiceIn/front/basic-data/index.spec.js
deleted file mode 100644
index 98710ac35..000000000
--- a/modules/invoiceIn/front/basic-data/index.spec.js
+++ /dev/null
@@ -1,102 +0,0 @@
-import './index.js';
-import watcher from 'core/mocks/watcher';
-
-describe('InvoiceIn', () => {
- describe('Component vnInvoiceInBasicData', () => {
- let controller;
- let $scope;
- let $httpBackend;
- let $httpParamSerializer;
-
- beforeEach(ngModule('invoiceIn'));
-
- beforeEach(inject(($componentController, $rootScope, _$httpBackend_, _$httpParamSerializer_) => {
- $scope = $rootScope.$new();
- $httpBackend = _$httpBackend_;
- $httpParamSerializer = _$httpParamSerializer_;
- const $element = angular.element('');
- controller = $componentController('vnInvoiceInBasicData', {$element, $scope});
- controller.$.watcher = watcher;
- $httpBackend.expect('GET', `DmsContainers/allowedContentTypes`).respond({});
- }));
-
- describe('onFileChange()', () => {
- it('should set dms hasFileAttached property to true if has any files', () => {
- const files = [{id: 1, name: 'MyFile'}];
- controller.onFileChange(files);
-
- $scope.$apply();
-
- expect(controller.dms.hasFileAttached).toBeTruthy();
- });
- });
-
- describe('checkFileExists()', () => {
- it(`should return false if a file exists`, () => {
- const fileIdExists = 1;
- controller.checkFileExists(fileIdExists);
-
- expect(controller.editDownloadDisabled).toBe(false);
- });
- });
-
- describe('onEdit()', () => {
- it(`should perform a POST query to edit the dms properties`, () => {
- jest.spyOn(controller.vnApp, 'showSuccess');
-
- const dms = {
- dmsId: 1,
- reference: 'Ref1',
- warehouseId: 1,
- companyId: 442,
- dmsTypeId: 20,
- description: 'This is a description',
- files: []
- };
-
- controller.dms = dms;
- const serializedParams = $httpParamSerializer(controller.dms);
- const query = `dms/${controller.dms.dmsId}/updateFile?${serializedParams}`;
-
- $httpBackend.expectPOST(query).respond({});
- controller.onEdit();
- $httpBackend.flush();
-
- expect(controller.vnApp.showSuccess).toHaveBeenCalled();
- });
- });
-
- describe('onCreate()', () => {
- it(`should perform a POST query to create a new dms`, () => {
- jest.spyOn(controller.vnApp, 'showSuccess');
-
- const dms = {
- reference: 'Ref1',
- warehouseId: 1,
- companyId: 442,
- dmsTypeId: 20,
- description: 'This is a description',
- files: [{
- lastModified: 1668673957761,
- lastModifiedDate: Date.vnNew(),
- name: 'file-example.png',
- size: 19653,
- type: 'image/png',
- webkitRelativePath: ''
- }]
- };
-
- controller.dms = dms;
- const serializedParams = $httpParamSerializer(controller.dms);
- const query = `Dms/uploadFile?${serializedParams}`;
-
- $httpBackend.expectPOST(query).respond({});
- controller.onCreate();
- $httpBackend.flush();
-
- expect(controller.vnApp.showSuccess).toHaveBeenCalled();
- });
- });
- });
-});
-
diff --git a/modules/invoiceIn/front/basic-data/locale/en.yml b/modules/invoiceIn/front/basic-data/locale/en.yml
deleted file mode 100644
index 19f4dc8c2..000000000
--- a/modules/invoiceIn/front/basic-data/locale/en.yml
+++ /dev/null
@@ -1 +0,0 @@
-ContentTypesInfo: Allowed file types {{allowedContentTypes}}
diff --git a/modules/invoiceIn/front/basic-data/locale/es.yml b/modules/invoiceIn/front/basic-data/locale/es.yml
deleted file mode 100644
index e2e494fa5..000000000
--- a/modules/invoiceIn/front/basic-data/locale/es.yml
+++ /dev/null
@@ -1,15 +0,0 @@
-Upload file: Subir fichero
-Edit file: Editar fichero
-Upload: Subir
-Document: Documento
-ContentTypesInfo: "Tipos de archivo permitidos: {{allowedContentTypes}}"
-Generate identifier for original file: Generar identificador para archivo original
-File management: Gestión documental
-Hard copy: Copia
-This file will be deleted: Este fichero va a ser borrado
-Are you sure?: Estas seguro?
-File deleted: Fichero eliminado
-Remove file: Eliminar fichero
-Download file: Descargar fichero
-Edit document: Editar documento
-Create document: Crear documento
diff --git a/modules/invoiceIn/front/create/index.html b/modules/invoiceIn/front/create/index.html
deleted file mode 100644
index 16ecf26cf..000000000
--- a/modules/invoiceIn/front/create/index.html
+++ /dev/null
@@ -1,55 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/modules/invoiceIn/front/create/index.js b/modules/invoiceIn/front/create/index.js
deleted file mode 100644
index 885d55359..000000000
--- a/modules/invoiceIn/front/create/index.js
+++ /dev/null
@@ -1,30 +0,0 @@
-import ngModule from '../module';
-import Section from 'salix/components/section';
-
-class Controller extends Section {
- $onInit() {
- this.invoiceIn = {};
- if (this.$params && this.$params.supplierFk)
- this.invoiceIn.supplierFk = this.$params.supplierFk;
- this.invoiceIn.issued = Date.vnNew();
- }
-
- get companyFk() {
- return this.invoiceIn.companyFk || this.vnConfig.companyFk;
- }
-
- set companyFk(value) {
- this.invoiceIn.companyFk = value;
- }
-
- onSubmit() {
- this.$.watcher.submit().then(
- res => this.$state.go('invoiceIn.card.basicData', {id: res.data.id})
- );
- }
-}
-
-ngModule.vnComponent('vnInvoiceInCreate', {
- template: require('./index.html'),
- controller: Controller
-});
diff --git a/modules/invoiceIn/front/create/locale/es.yml b/modules/invoiceIn/front/create/locale/es.yml
deleted file mode 100644
index 35bfe3ca4..000000000
--- a/modules/invoiceIn/front/create/locale/es.yml
+++ /dev/null
@@ -1 +0,0 @@
-a:a
\ No newline at end of file
diff --git a/modules/invoiceIn/front/dueDay/index.html b/modules/invoiceIn/front/dueDay/index.html
deleted file mode 100644
index abc91312d..000000000
--- a/modules/invoiceIn/front/dueDay/index.html
+++ /dev/null
@@ -1,71 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/modules/invoiceIn/front/dueDay/index.js b/modules/invoiceIn/front/dueDay/index.js
deleted file mode 100644
index ee9b13e5c..000000000
--- a/modules/invoiceIn/front/dueDay/index.js
+++ /dev/null
@@ -1,37 +0,0 @@
-import ngModule from '../module';
-import Section from 'salix/components/section';
-
-class Controller extends Section {
- add() {
- this.$.model.insert({
- dueDated: Date.vnNew(),
- bankFk: this.vnConfig.local.bankFk
- });
- }
-
- onSubmit() {
- this.$.watcher.check();
- this.$.model.save().then(() => {
- this.$.watcher.notifySaved();
- this.$.watcher.updateOriginalData();
- this.card.reload();
- });
- }
-
- bankSearchFunc($search) {
- return /^\d+$/.test($search)
- ? {id: $search}
- : {bank: {like: '%' + $search + '%'}};
- }
-}
-
-ngModule.vnComponent('vnInvoiceInDueDay', {
- template: require('./index.html'),
- controller: Controller,
- require: {
- card: '^vnInvoiceInCard'
- },
- bindings: {
- invoiceIn: '<'
- }
-});
diff --git a/modules/invoiceIn/front/dueDay/index.spec.js b/modules/invoiceIn/front/dueDay/index.spec.js
deleted file mode 100644
index 7dddd3bb0..000000000
--- a/modules/invoiceIn/front/dueDay/index.spec.js
+++ /dev/null
@@ -1,44 +0,0 @@
-import './index.js';
-import watcher from 'core/mocks/watcher';
-import crudModel from 'core/mocks/crud-model';
-
-describe('InvoiceIn', () => {
- describe('Component due day', () => {
- let controller;
- let $scope;
- let vnApp;
-
- beforeEach(ngModule('invoiceIn'));
-
- beforeEach(inject(($componentController, $rootScope, _vnApp_) => {
- vnApp = _vnApp_;
- jest.spyOn(vnApp, 'showError');
- $scope = $rootScope.$new();
- $scope.model = crudModel;
- $scope.watcher = watcher;
-
- const $element = angular.element('');
- controller = $componentController('vnInvoiceInDueDay', {$element, $scope});
- controller.invoiceIn = {id: 1};
- }));
-
- describe('onSubmit()', () => {
- it('should make HTTP POST request to save due day values', () => {
- controller.card = {reload: () => {}};
- jest.spyOn($scope.watcher, 'check');
- jest.spyOn($scope.watcher, 'notifySaved');
- jest.spyOn($scope.watcher, 'updateOriginalData');
- jest.spyOn(controller.card, 'reload');
- jest.spyOn($scope.model, 'save');
-
- controller.onSubmit();
-
- expect($scope.model.save).toHaveBeenCalledWith();
- expect($scope.watcher.updateOriginalData).toHaveBeenCalledWith();
- expect($scope.watcher.check).toHaveBeenCalledWith();
- expect($scope.watcher.notifySaved).toHaveBeenCalledWith();
- expect(controller.card.reload).toHaveBeenCalledWith();
- });
- });
- });
-});
diff --git a/modules/invoiceIn/front/index.js b/modules/invoiceIn/front/index.js
index e257cfee3..8155e7089 100644
--- a/modules/invoiceIn/front/index.js
+++ b/modules/invoiceIn/front/index.js
@@ -1,17 +1,7 @@
export * from './module';
import './main';
-import './index/';
-import './search-panel';
import './card';
import './descriptor';
import './descriptor-popover';
import './summary';
-import './basic-data';
-import './tax';
-import './dueDay';
-import './intrastat';
-import './create';
-import './log';
-import './serial';
-import './serial-search-panel';
diff --git a/modules/invoiceIn/front/index/index.html b/modules/invoiceIn/front/index/index.html
deleted file mode 100644
index 008d615b1..000000000
--- a/modules/invoiceIn/front/index/index.html
+++ /dev/null
@@ -1,82 +0,0 @@
-
-
-
-
-
-
-
- ID
- Supplier
- Supplier ref.
- Serial number
- Serial
- File
- Issued
- Is booked
- AWB
- Amount
-
-
-
-
-
- {{::invoiceIn.id}}
-
-
- {{::invoiceIn.supplierName}}
-
-
- {{::invoiceIn.supplierRef | dashIfEmpty}}
- {{::invoiceIn.serialNumber}}
- {{::invoiceIn.serial}}
-
-
- {{::invoiceIn.file}}
-
-
- {{::invoiceIn.issued | date:'dd/MM/yyyy' | dashIfEmpty}}
-
-
-
-
- {{::invoiceIn.awbCode}}
- {{::invoiceIn.amount | currency:'EUR'}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/modules/invoiceIn/front/index/index.js b/modules/invoiceIn/front/index/index.js
deleted file mode 100644
index 254e6d3bf..000000000
--- a/modules/invoiceIn/front/index/index.js
+++ /dev/null
@@ -1,58 +0,0 @@
-import ngModule from '../module';
-import Section from 'salix/components/section';
-
-export default class Controller extends Section {
- constructor($element, $, vnFile) {
- super($element, $, vnFile);
- this.vnFile = vnFile;
- }
-
- exprBuilder(param, value) {
- switch (param) {
- case 'issued':
- return {'ii.issued': {
- between: this.dateRange(value)}
- };
- case 'id':
- case 'supplierFk':
- case 'supplierRef':
- case 'serialNumber':
- case 'serial':
- case 'created':
- case 'isBooked':
- return {[`ii.${param}`]: value};
- case 'account':
- case 'fi':
- return {[`s.${param}`]: value};
- case 'awbCode':
- return {'awb.code': value};
- default:
- return {[param]: value};
- }
- }
-
- dateRange(value) {
- const minHour = new Date(value);
- minHour.setHours(0, 0, 0, 0);
- const maxHour = new Date(value);
- maxHour.setHours(23, 59, 59, 59);
-
- return [minHour, maxHour];
- }
-
- preview(invoiceIn) {
- this.selectedInvoiceIn = invoiceIn;
- this.$.summary.show();
- }
-
- downloadFile(dmsId) {
- this.vnFile.download(`api/dms/${dmsId}/downloadFile`);
- }
-}
-
-Controller.$inject = ['$element', '$scope', 'vnFile'];
-
-ngModule.vnComponent('vnInvoiceInIndex', {
- template: require('./index.html'),
- controller: Controller
-});
diff --git a/modules/invoiceIn/front/index/locale/es.yml b/modules/invoiceIn/front/index/locale/es.yml
deleted file mode 100644
index e1b354316..000000000
--- a/modules/invoiceIn/front/index/locale/es.yml
+++ /dev/null
@@ -1,6 +0,0 @@
-Created: Fecha creación
-Issued: Fecha emisión
-Supplier ref.: Ref. proveedor
-Serial number: Num. serie
-Serial: Serie
-Is booked: Conciliada
\ No newline at end of file
diff --git a/modules/invoiceIn/front/intrastat/index.html b/modules/invoiceIn/front/intrastat/index.html
deleted file mode 100644
index b15fdf543..000000000
--- a/modules/invoiceIn/front/intrastat/index.html
+++ /dev/null
@@ -1,100 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/modules/invoiceIn/front/intrastat/index.js b/modules/invoiceIn/front/intrastat/index.js
deleted file mode 100644
index 659929513..000000000
--- a/modules/invoiceIn/front/intrastat/index.js
+++ /dev/null
@@ -1,60 +0,0 @@
-import ngModule from '../module';
-import Section from 'salix/components/section';
-
-class Controller extends Section {
- set invoceInIntrastat(value) {
- this._invoceInIntrastat = value;
-
- if (value) this.calculateTotals();
- }
-
- get invoceInIntrastat() {
- return this._invoceInIntrastat;
- }
-
- calculateTotals() {
- this.amountTotal = 0.0;
- this.netTotal = 0.0;
- this.stemsTotal = 0.0;
- if (!this.invoceInIntrastat) return;
-
- this.invoceInIntrastat.forEach(intrastat => {
- this.amountTotal += intrastat.amount;
- this.netTotal += intrastat.net;
- this.stemsTotal += intrastat.stems;
- });
- }
-
- add() {
- this.$.model.insert({});
- }
-
- deleteIntrastat($index) {
- this.$.model.remove($index);
- this.$.model.save().then(() => {
- this.vnApp.showSuccess(this.$t('Data saved!'));
- this.calculateTotals();
- });
- }
-
- onSubmit() {
- this.$.watcher.check();
- this.$.model.save().then(() => {
- this.$.watcher.notifySaved();
- this.$.watcher.updateOriginalData();
- this.calculateTotals();
- this.card.reload();
- });
- }
-}
-
-ngModule.vnComponent('vnInvoiceInIntrastat', {
- template: require('./index.html'),
- controller: Controller,
- require: {
- card: '^vnInvoiceInCard'
- },
- bindings: {
- invoiceIn: '<'
- }
-});
diff --git a/modules/invoiceIn/front/intrastat/index.spec.js b/modules/invoiceIn/front/intrastat/index.spec.js
deleted file mode 100644
index d7d50ac5b..000000000
--- a/modules/invoiceIn/front/intrastat/index.spec.js
+++ /dev/null
@@ -1,85 +0,0 @@
-import './index.js';
-import watcher from 'core/mocks/watcher';
-import crudModel from 'core/mocks/crud-model';
-
-describe('InvoiceIn', () => {
- describe('Component intrastat', () => {
- let controller;
- let $scope;
- let vnApp;
-
- beforeEach(ngModule('invoiceIn'));
-
- beforeEach(inject(($componentController, $rootScope, _vnApp_) => {
- vnApp = _vnApp_;
- jest.spyOn(vnApp, 'showError');
- $scope = $rootScope.$new();
- $scope.model = crudModel;
- $scope.watcher = watcher;
-
- const $element = angular.element('');
- controller = $componentController('vnInvoiceInIntrastat', {$element, $scope});
- controller.invoiceIn = {id: 1};
- }));
-
- describe('calculateTotals()', () => {
- it('should set amountTotal, netTotal and stemsTotal to 0 if salesClaimed has no data', () => {
- controller.invoceInIntrastat = [];
- controller.calculateTotals();
-
- expect(controller.amountTotal).toEqual(0);
- expect(controller.netTotal).toEqual(0);
- expect(controller.stemsTotal).toEqual(0);
- });
-
- it('should set amountTotal, netTotal and stemsTotal', () => {
- controller.invoceInIntrastat = [
- {
- id: 1,
- invoiceInFk: 1,
- net: 30.5,
- intrastatFk: 5080000,
- amount: 10,
- stems: 162,
- countryFk: 5,
- statisticalValue: 0
- },
- {
- id: 2,
- invoiceInFk: 1,
- net: 10,
- intrastatFk: 6021010,
- amount: 20,
- stems: 205,
- countryFk: 5,
- statisticalValue: 0
- }
- ];
- controller.calculateTotals();
-
- expect(controller.amountTotal).toEqual(30);
- expect(controller.netTotal).toEqual(40.5);
- expect(controller.stemsTotal).toEqual(367);
- });
- });
-
- describe('onSubmit()', () => {
- it('should make HTTP POST request to save intrastat values', () => {
- controller.card = {reload: () => {}};
- jest.spyOn($scope.watcher, 'check');
- jest.spyOn($scope.watcher, 'notifySaved');
- jest.spyOn($scope.watcher, 'updateOriginalData');
- jest.spyOn(controller.card, 'reload');
- jest.spyOn($scope.model, 'save');
-
- controller.onSubmit();
-
- expect($scope.model.save).toHaveBeenCalledWith();
- expect($scope.watcher.updateOriginalData).toHaveBeenCalledWith();
- expect($scope.watcher.check).toHaveBeenCalledWith();
- expect($scope.watcher.notifySaved).toHaveBeenCalledWith();
- expect(controller.card.reload).toHaveBeenCalledWith();
- });
- });
- });
-});
diff --git a/modules/invoiceIn/front/log/index.html b/modules/invoiceIn/front/log/index.html
deleted file mode 100644
index 2cfc9dfb1..000000000
--- a/modules/invoiceIn/front/log/index.html
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/modules/invoiceIn/front/log/index.js b/modules/invoiceIn/front/log/index.js
deleted file mode 100644
index 7a018de0f..000000000
--- a/modules/invoiceIn/front/log/index.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import ngModule from '../module';
-import Section from 'salix/components/section';
-
-ngModule.vnComponent('vnInvoiceInLog', {
- template: require('./index.html'),
- controller: Section,
-});
diff --git a/modules/invoiceIn/front/main/index.html b/modules/invoiceIn/front/main/index.html
index 2dc87b2ee..e69de29bb 100644
--- a/modules/invoiceIn/front/main/index.html
+++ b/modules/invoiceIn/front/main/index.html
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/modules/invoiceIn/front/main/index.js b/modules/invoiceIn/front/main/index.js
index f7b767458..c22b37924 100644
--- a/modules/invoiceIn/front/main/index.js
+++ b/modules/invoiceIn/front/main/index.js
@@ -1,7 +1,16 @@
import ngModule from '../module';
import ModuleMain from 'salix/components/module-main';
-export default class InvoiceIn extends ModuleMain {}
+export default class InvoiceIn extends ModuleMain {
+ constructor($element, $) {
+ super($element, $);
+ }
+
+ async $onInit() {
+ this.$state.go('home');
+ window.location.href = await this.vnApp.getUrl(`invoice-in/`);
+ }
+}
ngModule.vnComponent('vnInvoiceIn', {
controller: InvoiceIn,
diff --git a/modules/invoiceIn/front/search-panel/index.html b/modules/invoiceIn/front/search-panel/index.html
deleted file mode 100644
index 609fa56d8..000000000
--- a/modules/invoiceIn/front/search-panel/index.html
+++ /dev/null
@@ -1,97 +0,0 @@
-
-
-
diff --git a/modules/invoiceIn/front/search-panel/index.js b/modules/invoiceIn/front/search-panel/index.js
deleted file mode 100644
index a8e41b7ef..000000000
--- a/modules/invoiceIn/front/search-panel/index.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import ngModule from '../module';
-import SearchPanel from 'core/components/searchbar/search-panel';
-
-ngModule.vnComponent('vnInvoiceInSearchPanel', {
- template: require('./index.html'),
- controller: SearchPanel
-});
diff --git a/modules/invoiceIn/front/search-panel/locale/es.yml b/modules/invoiceIn/front/search-panel/locale/es.yml
deleted file mode 100644
index 57e2944ea..000000000
--- a/modules/invoiceIn/front/search-panel/locale/es.yml
+++ /dev/null
@@ -1,2 +0,0 @@
-Supplier fiscal id: CIF proveedor
-Search invoices in by id or supplier fiscal name: Buscar facturas recibidas por id o por nombre fiscal del proveedor
\ No newline at end of file
diff --git a/modules/invoiceIn/front/serial-search-panel/index.html b/modules/invoiceIn/front/serial-search-panel/index.html
deleted file mode 100644
index 0dda54852..000000000
--- a/modules/invoiceIn/front/serial-search-panel/index.html
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
- {{$ctrl.$t('Serial')}}: {{$ctrl.filter.serial}}
-
-
-
diff --git a/modules/invoiceIn/front/serial-search-panel/index.js b/modules/invoiceIn/front/serial-search-panel/index.js
deleted file mode 100644
index b11911ee3..000000000
--- a/modules/invoiceIn/front/serial-search-panel/index.js
+++ /dev/null
@@ -1,44 +0,0 @@
-import ngModule from '../module';
-import SearchPanel from 'core/components/searchbar/search-panel';
-import './style.scss';
-
-class Controller extends SearchPanel {
- constructor($element, $) {
- super($element, $);
- this.filter = {};
- const filter = {
- fields: ['daysAgo']
- };
- this.$http.get('InvoiceInConfigs', {filter}).then(res => {
- if (res.data) {
- this.invoiceInConfig = res.data[0];
- this.addFilters();
- }
- });
- }
-
- removeItemFilter(param) {
- this.filter[param] = null;
- this.addFilters();
- }
-
- onKeyPress($event) {
- if ($event.key === 'Enter')
- this.addFilters();
- }
-
- addFilters() {
- if (!this.filter.daysAgo)
- this.filter.daysAgo = this.invoiceInConfig.daysAgo;
-
- return this.model.addFilter({}, this.filter);
- }
-}
-
-ngModule.component('vnInvoiceInSerialSearchPanel', {
- template: require('./index.html'),
- controller: Controller,
- bindings: {
- model: '<'
- }
-});
diff --git a/modules/invoiceIn/front/serial-search-panel/index.spec.js b/modules/invoiceIn/front/serial-search-panel/index.spec.js
deleted file mode 100644
index b5228e126..000000000
--- a/modules/invoiceIn/front/serial-search-panel/index.spec.js
+++ /dev/null
@@ -1,43 +0,0 @@
-import './index.js';
-
-describe('InvoiceIn', () => {
- describe('Component serial-search-panel', () => {
- let controller;
- let $scope;
-
- beforeEach(ngModule('invoiceIn'));
-
- beforeEach(inject(($componentController, $rootScope) => {
- $scope = $rootScope.$new();
- const $element = angular.element('');
- controller = $componentController('vnInvoiceInSerialSearchPanel', {$element, $scope});
- controller.model = {
- addFilter: jest.fn(),
- };
- controller.invoiceInConfig = {
- daysAgo: 45,
- };
- }));
-
- describe('addFilters()', () => {
- it('should add default daysAgo if it is not already set', () => {
- controller.filter = {
- serial: 'R',
- };
- controller.addFilters();
-
- expect(controller.filter.daysAgo).toEqual(controller.invoiceInConfig.daysAgo);
- });
-
- it('should not add default daysAgo if it is already set', () => {
- controller.filter = {
- daysAgo: 1,
- serial: 'R',
- };
- controller.addFilters();
-
- expect(controller.filter.daysAgo).toEqual(1);
- });
- });
- });
-});
diff --git a/modules/invoiceIn/front/serial-search-panel/style.scss b/modules/invoiceIn/front/serial-search-panel/style.scss
deleted file mode 100644
index 4abfcbfa2..000000000
--- a/modules/invoiceIn/front/serial-search-panel/style.scss
+++ /dev/null
@@ -1,24 +0,0 @@
-@import "variables";
-
-vn-invoice-in-serial-search-panel vn-side-menu div {
- & > .input {
- padding-left: $spacing-md;
- padding-right: $spacing-md;
- border-color: $color-spacer;
- border-bottom: $border-thin;
- }
- & > .horizontal {
- grid-auto-flow: column;
- grid-column-gap: $spacing-sm;
- align-items: center;
- }
- & > .chips {
- display: flex;
- flex-wrap: wrap;
- padding: $spacing-md;
- overflow: hidden;
- max-width: 100%;
- border-color: $color-spacer;
- border-top: $border-thin;
- }
-}
diff --git a/modules/invoiceIn/front/serial/index.html b/modules/invoiceIn/front/serial/index.html
deleted file mode 100644
index 1649ec7d7..000000000
--- a/modules/invoiceIn/front/serial/index.html
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
- Serial
- Pending
- Total
-
-
-
-
-
- {{::invoiceIn.serial}}
- {{::invoiceIn.pending}}
- {{::invoiceIn.total}}
-
-
-
-
-
-
-
-
-
diff --git a/modules/invoiceIn/front/serial/index.js b/modules/invoiceIn/front/serial/index.js
deleted file mode 100644
index 193a57492..000000000
--- a/modules/invoiceIn/front/serial/index.js
+++ /dev/null
@@ -1,22 +0,0 @@
-import ngModule from '../module';
-import Section from 'salix/components/section';
-
-export default class Controller extends Section {
- constructor($element, $) {
- super($element, $);
- }
-
- goToIndex(daysAgo, serial) {
- const issued = Date.vnNew();
- issued.setDate(issued.getDate() - daysAgo);
- this.$state.go('invoiceIn.index',
- {q: `{"serial": "${serial}", "isBooked": false, "from": ${issued.getTime()}}`});
- }
-}
-
-Controller.$inject = ['$element', '$scope'];
-
-ngModule.vnComponent('vnInvoiceInSerial', {
- template: require('./index.html'),
- controller: Controller
-});
diff --git a/modules/invoiceIn/front/serial/locale/es.yml b/modules/invoiceIn/front/serial/locale/es.yml
deleted file mode 100644
index 92a49cc82..000000000
--- a/modules/invoiceIn/front/serial/locale/es.yml
+++ /dev/null
@@ -1,3 +0,0 @@
-Serial: Serie
-Pending: Pendientes
-Go to InvoiceIn: Ir al listado de facturas recibidas
diff --git a/modules/invoiceIn/front/tax/index.html b/modules/invoiceIn/front/tax/index.html
deleted file mode 100644
index e13f769ce..000000000
--- a/modules/invoiceIn/front/tax/index.html
+++ /dev/null
@@ -1,149 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- {{$ctrl.$t('New expense')}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/modules/invoiceIn/front/tax/index.js b/modules/invoiceIn/front/tax/index.js
deleted file mode 100644
index d05a77f29..000000000
--- a/modules/invoiceIn/front/tax/index.js
+++ /dev/null
@@ -1,66 +0,0 @@
-import ngModule from '../module';
-import Section from 'salix/components/section';
-import UserError from 'core/lib/user-error';
-
-class Controller extends Section {
- constructor($element, $, vnWeekDays) {
- super($element, $);
- this.expense = {};
- }
- taxRate(invoiceInTax, taxRateSelection) {
- const taxTypeSage = taxRateSelection && taxRateSelection.rate;
- const taxableBase = invoiceInTax && invoiceInTax.taxableBase;
-
- if (taxTypeSage && taxableBase)
- return (taxTypeSage / 100) * taxableBase;
-
- return 0;
- }
-
- add() {
- this.$.model.insert({
- invoiceIn: this.$params.id
- });
- }
-
- onSubmit() {
- this.$.watcher.check();
- this.$.model.save().then(() => {
- this.$.watcher.notifySaved();
- this.$.watcher.updateOriginalData();
- this.card.reload();
- });
- }
-
- onResponse() {
- try {
- if (!this.expense.code)
- throw new Error(`The code can't be empty`);
- if (!this.expense.description)
- throw new UserError(`The description can't be empty`);
-
- const data = [{
- id: this.expense.code,
- isWithheld: this.expense.isWithheld,
- name: this.expense.description
- }];
-
- this.$http.post(`Expenses`, data) .then(() => {
- this.vnApp.showSuccess(this.$t('Expense saved!'));
- });
- } catch (e) {
- this.vnApp.showError(this.$t(e.message));
- }
- }
-}
-
-ngModule.vnComponent('vnInvoiceInTax', {
- template: require('./index.html'),
- controller: Controller,
- require: {
- card: '^vnInvoiceInCard'
- },
- bindings: {
- invoiceIn: '<'
- }
-});
diff --git a/modules/invoiceIn/front/tax/index.spec.js b/modules/invoiceIn/front/tax/index.spec.js
deleted file mode 100644
index 52114afe5..000000000
--- a/modules/invoiceIn/front/tax/index.spec.js
+++ /dev/null
@@ -1,113 +0,0 @@
-import './index.js';
-import watcher from 'core/mocks/watcher';
-import crudModel from 'core/mocks/crud-model';
-
-describe('InvoiceIn', () => {
- describe('Component tax', () => {
- let controller;
- let $scope;
- let vnApp;
- let $httpBackend;
-
- beforeEach(ngModule('invoiceIn'));
-
- beforeEach(inject(($componentController, $rootScope, _vnApp_, _$httpBackend_) => {
- $httpBackend = _$httpBackend_;
- vnApp = _vnApp_;
- jest.spyOn(vnApp, 'showError');
- $scope = $rootScope.$new();
- $scope.model = crudModel;
- $scope.watcher = watcher;
-
- const $element = angular.element('');
- controller = $componentController('vnInvoiceInTax', {$element, $scope});
- controller.$.model = crudModel;
- controller.invoiceIn = {id: 1};
- }));
-
- describe('taxRate()', () => {
- it('should set tax rate with the Sage tax type value', () => {
- const taxRateSelection = {
- rate: 21
- };
- const invoiceInTax = {
- taxableBase: 200
- };
-
- const taxRate = controller.taxRate(invoiceInTax, taxRateSelection);
-
- expect(taxRate).toEqual(42);
- });
- });
-
- describe('onSubmit()', () => {
- it('should make HTTP POST request to save tax values', () => {
- controller.card = {reload: () => {}};
- jest.spyOn($scope.watcher, 'check');
- jest.spyOn($scope.watcher, 'notifySaved');
- jest.spyOn($scope.watcher, 'updateOriginalData');
- jest.spyOn(controller.card, 'reload');
- jest.spyOn($scope.model, 'save');
-
- controller.onSubmit();
-
- expect($scope.model.save).toHaveBeenCalledWith();
- expect($scope.watcher.updateOriginalData).toHaveBeenCalledWith();
- expect($scope.watcher.check).toHaveBeenCalledWith();
- expect($scope.watcher.notifySaved).toHaveBeenCalledWith();
- expect(controller.card.reload).toHaveBeenCalledWith();
- });
- });
-
- describe('onResponse()', () => {
- it('should return success message', () => {
- controller.expense = {
- code: 7050000005,
- isWithheld: 0,
- description: 'Test'
- };
-
- const data = [{
- id: controller.expense.code,
- isWithheld: controller.expense.isWithheld,
- name: controller.expense.description
- }];
-
- jest.spyOn(controller.vnApp, 'showSuccess');
- $httpBackend.expect('POST', `Expenses`, data).respond();
-
- controller.onResponse();
- $httpBackend.flush();
-
- expect(controller.vnApp.showSuccess).toHaveBeenCalledWith('Expense saved!');
- });
-
- it('should return an error if code is empty', () => {
- controller.expense = {
- code: null,
- isWithheld: 0,
- description: 'Test'
- };
-
- jest.spyOn(controller.vnApp, 'showError');
- controller.onResponse();
-
- expect(controller.vnApp.showError).toHaveBeenCalledWith(`The code can't be empty`);
- });
-
- it('should return an error if description is empty', () => {
- controller.expense = {
- code: 7050000005,
- isWithheld: 0,
- description: null
- };
-
- jest.spyOn(controller.vnApp, 'showError');
- controller.onResponse();
-
- expect(controller.vnApp.showError).toHaveBeenCalledWith(`The description can't be empty`);
- });
- });
- });
-});
-
diff --git a/modules/invoiceIn/front/tax/locale/es.yml b/modules/invoiceIn/front/tax/locale/es.yml
deleted file mode 100644
index 3ff68ea40..000000000
--- a/modules/invoiceIn/front/tax/locale/es.yml
+++ /dev/null
@@ -1,7 +0,0 @@
-Create expense: Crear gasto
-New expense: Nuevo gasto
-It's a withholding: Es una retención
-The fields can't be empty: Los campos no pueden estar vacíos
-The code can't be empty: El código no puede estar vacío
-The description can't be empty: La descripción no puede estar vacía
-Expense saved!: Gasto guardado!
\ No newline at end of file