From 0740acfb9104288351a20775618781b67479bc55 Mon Sep 17 00:00:00 2001 From: carlossa Date: Tue, 1 Oct 2024 12:38:52 +0200 Subject: [PATCH] fix: refs #7366 remove back Travel --- e2e/paths/10-travel/01_create.spec.js | 42 ---- .../10-travel/02_basic_data_and_log.spec.js | 97 --------- e2e/paths/10-travel/03_descriptor.spec.js | 36 ---- .../10-travel/04_extra_community.spec.js | 42 ---- e2e/paths/10-travel/06_search_panel.spec.js | 62 ------ modules/travel/front/basic-data/index.html | 92 --------- modules/travel/front/basic-data/index.js | 21 -- modules/travel/front/basic-data/index.spec.js | 28 --- modules/travel/front/basic-data/locale/es.yml | 1 - modules/travel/front/card/index.html | 5 - modules/travel/front/card/index.js | 31 --- modules/travel/front/create/index.html | 61 ------ modules/travel/front/create/index.js | 48 ----- modules/travel/front/create/index.spec.js | 88 -------- .../travel/front/descriptor-menu/index.html | 59 ------ modules/travel/front/descriptor-menu/index.js | 95 --------- .../front/descriptor-menu/index.spec.js | 71 ------- .../front/descriptor-menu/locale/es.yml | 8 - .../travel/front/descriptor-menu/style.scss | 24 --- .../front/descriptor-popover/index.html | 4 - .../travel/front/descriptor-popover/index.js | 9 - modules/travel/front/descriptor/index.html | 48 ----- modules/travel/front/descriptor/index.js | 63 ------ modules/travel/front/descriptor/index.spec.js | 26 --- modules/travel/front/descriptor/locale/es.yml | 6 - .../extra-community-search-panel/index.html | 92 --------- .../extra-community-search-panel/index.js | 31 --- .../travel/front/extra-community/index.html | 189 ------------------ modules/travel/front/extra-community/index.js | 162 --------------- .../front/extra-community/index.spec.js | 128 ------------ .../front/extra-community/locale/es.yml | 11 - .../travel/front/extra-community/style.scss | 67 ------- modules/travel/front/index.js | 15 -- modules/travel/front/index/index.html | 107 ---------- modules/travel/front/index/index.js | 39 ---- modules/travel/front/index/index.spec.js | 78 -------- modules/travel/front/index/locale/es.yml | 3 - modules/travel/front/index/style.scss | 11 - modules/travel/front/log/index.html | 1 - modules/travel/front/log/index.js | 7 - modules/travel/front/main/index.html | 6 - modules/travel/front/main/index.js | 4 + modules/travel/front/routes.json | 74 ------- modules/travel/front/search-panel/index.html | 146 -------------- modules/travel/front/search-panel/index.js | 72 ------- .../travel/front/search-panel/index.spec.js | 38 ---- .../travel/front/search-panel/locale/es.yml | 7 - modules/travel/front/search-panel/style.scss | 37 ---- modules/travel/front/summary/index.html | 167 ---------------- modules/travel/front/summary/index.js | 71 ------- modules/travel/front/summary/index.spec.js | 86 -------- modules/travel/front/summary/locale/es.yml | 18 -- modules/travel/front/summary/style.scss | 6 - .../front/thermograph/create/index.html | 177 ---------------- .../travel/front/thermograph/create/index.js | 122 ----------- .../front/thermograph/create/index.spec.js | 108 ---------- .../travel/front/thermograph/edit/index.html | 87 -------- .../travel/front/thermograph/edit/index.js | 98 --------- .../front/thermograph/edit/index.spec.js | 120 ----------- .../travel/front/thermograph/edit/style.scss | 7 - .../travel/front/thermograph/index/index.html | 70 ------- .../travel/front/thermograph/index/index.js | 51 ----- .../travel/front/thermograph/index/style.scss | 6 - .../travel/front/thermograph/locale/es.yml | 20 -- 64 files changed, 4 insertions(+), 3602 deletions(-) delete mode 100644 e2e/paths/10-travel/01_create.spec.js delete mode 100644 e2e/paths/10-travel/02_basic_data_and_log.spec.js delete mode 100644 e2e/paths/10-travel/03_descriptor.spec.js delete mode 100644 e2e/paths/10-travel/04_extra_community.spec.js delete mode 100644 e2e/paths/10-travel/06_search_panel.spec.js delete mode 100644 modules/travel/front/basic-data/index.html delete mode 100644 modules/travel/front/basic-data/index.js delete mode 100644 modules/travel/front/basic-data/index.spec.js delete mode 100644 modules/travel/front/basic-data/locale/es.yml delete mode 100644 modules/travel/front/card/index.html delete mode 100644 modules/travel/front/card/index.js delete mode 100644 modules/travel/front/create/index.html delete mode 100644 modules/travel/front/create/index.js delete mode 100644 modules/travel/front/create/index.spec.js delete mode 100644 modules/travel/front/descriptor-menu/index.html delete mode 100644 modules/travel/front/descriptor-menu/index.js delete mode 100644 modules/travel/front/descriptor-menu/index.spec.js delete mode 100644 modules/travel/front/descriptor-menu/locale/es.yml delete mode 100644 modules/travel/front/descriptor-menu/style.scss delete mode 100644 modules/travel/front/descriptor-popover/index.html delete mode 100644 modules/travel/front/descriptor-popover/index.js delete mode 100644 modules/travel/front/descriptor/index.html delete mode 100644 modules/travel/front/descriptor/index.js delete mode 100644 modules/travel/front/descriptor/index.spec.js delete mode 100644 modules/travel/front/descriptor/locale/es.yml delete mode 100644 modules/travel/front/extra-community-search-panel/index.html delete mode 100644 modules/travel/front/extra-community-search-panel/index.js delete mode 100644 modules/travel/front/extra-community/index.html delete mode 100644 modules/travel/front/extra-community/index.js delete mode 100644 modules/travel/front/extra-community/index.spec.js delete mode 100644 modules/travel/front/extra-community/locale/es.yml delete mode 100644 modules/travel/front/extra-community/style.scss delete mode 100644 modules/travel/front/index/index.html delete mode 100644 modules/travel/front/index/index.js delete mode 100644 modules/travel/front/index/index.spec.js delete mode 100644 modules/travel/front/index/locale/es.yml delete mode 100644 modules/travel/front/index/style.scss delete mode 100644 modules/travel/front/log/index.html delete mode 100644 modules/travel/front/log/index.js delete mode 100644 modules/travel/front/search-panel/index.html delete mode 100644 modules/travel/front/search-panel/index.js delete mode 100644 modules/travel/front/search-panel/index.spec.js delete mode 100644 modules/travel/front/search-panel/locale/es.yml delete mode 100644 modules/travel/front/search-panel/style.scss delete mode 100644 modules/travel/front/summary/index.html delete mode 100644 modules/travel/front/summary/index.js delete mode 100644 modules/travel/front/summary/index.spec.js delete mode 100644 modules/travel/front/summary/locale/es.yml delete mode 100644 modules/travel/front/summary/style.scss delete mode 100644 modules/travel/front/thermograph/create/index.html delete mode 100644 modules/travel/front/thermograph/create/index.js delete mode 100644 modules/travel/front/thermograph/create/index.spec.js delete mode 100644 modules/travel/front/thermograph/edit/index.html delete mode 100644 modules/travel/front/thermograph/edit/index.js delete mode 100644 modules/travel/front/thermograph/edit/index.spec.js delete mode 100644 modules/travel/front/thermograph/edit/style.scss delete mode 100644 modules/travel/front/thermograph/index/index.html delete mode 100644 modules/travel/front/thermograph/index/index.js delete mode 100644 modules/travel/front/thermograph/index/style.scss delete mode 100644 modules/travel/front/thermograph/locale/es.yml diff --git a/e2e/paths/10-travel/01_create.spec.js b/e2e/paths/10-travel/01_create.spec.js deleted file mode 100644 index 98ade4852..000000000 --- a/e2e/paths/10-travel/01_create.spec.js +++ /dev/null @@ -1,42 +0,0 @@ -import selectors from '../../helpers/selectors.js'; -import getBrowser from '../../helpers/puppeteer'; - -describe('Travel create path', () => { - let browser; - let page; - - beforeAll(async() => { - browser = await getBrowser(); - page = browser.page; - await page.loginAndModule('buyer', 'travel'); - }); - - afterAll(async() => { - await browser.close(); - }); - - it('should create a new travel and check it was created with the correct data', async() => { - const date = Date.vnNew(); - date.setDate(15); - date.setUTCHours(0, 0, 0, 0); - - await page.waitToClick(selectors.travelIndex.newTravelButton); - await page.waitForState('travel.create'); - - const values = { - reference: 'Testing reference', - agencyMode: 'inhouse pickup', - shipped: date, - landed: date, - warehouseOut: 'Warehouse One', - warehouseIn: 'Warehouse Five' - }; - - const message = await page.sendForm('vn-travel-create form', values); - await page.waitForState('travel.card.basicData'); - const formValues = await page.fetchForm('vn-travel-basic-data form', Object.keys(values)); - - expect(message.isSuccess).toBeTrue(); - expect(formValues).toEqual(values); - }); -}); diff --git a/e2e/paths/10-travel/02_basic_data_and_log.spec.js b/e2e/paths/10-travel/02_basic_data_and_log.spec.js deleted file mode 100644 index 701e6b1b4..000000000 --- a/e2e/paths/10-travel/02_basic_data_and_log.spec.js +++ /dev/null @@ -1,97 +0,0 @@ -import selectors from '../../helpers/selectors.js'; -import getBrowser from '../../helpers/puppeteer'; - -describe('Travel basic data path', () => { - let browser; - let page; - - beforeAll(async() => { - browser = await getBrowser(); - page = browser.page; - await page.loginAndModule('buyer', 'travel'); - await page.write(selectors.travelIndex.generalSearchFilter, '3'); - await page.keyboard.press('Enter'); - await page.accessToSection('travel.card.basicData'); - }); - - afterAll(async() => { - await browser.close(); - }); - - it('should reach the thermograph section', async() => { - await page.waitForState('travel.card.basicData'); - }); - - it('should set a wrong delivery date then receive an error on submit', async() => { - await page.loginAndModule('buyer', 'travel'); - await page.write(selectors.travelIndex.generalSearchFilter, '4'); - await page.keyboard.press('Enter'); - await page.accessToSection('travel.card.basicData'); - await page.waitForState('travel.card.basicData'); - - const lastMonth = Date.vnNew(); - lastMonth.setMonth(lastMonth.getMonth() - 2); - - await page.pickDate(selectors.travelBasicData.deliveryDate, lastMonth); - await page.waitToClick(selectors.travelBasicData.save); - const message = await page.waitForSnackbar(); - - expect(message.text).toContain('Landing cannot be lesser than shipment'); - }); - - it('should undo the changes', async() => { - await page.clearInput(selectors.travelBasicData.reference); - await page.write(selectors.travelBasicData.reference, 'totally pointless ref'); - await page.waitToClick(selectors.travelBasicData.undoChanges); - const result = await page.waitToGetProperty(selectors.travelBasicData.reference, 'value'); - - expect(result).toEqual('fourth travel'); - }); - - it('should now edit the whole form then save', async() => { - await page.clearInput(selectors.travelBasicData.reference); - await page.write(selectors.travelBasicData.reference, 'new reference!'); - await page.autocompleteSearch(selectors.travelBasicData.agency, 'Entanglement'); - await page.autocompleteSearch(selectors.travelBasicData.outputWarehouse, 'Warehouse Three'); - await page.autocompleteSearch(selectors.travelBasicData.inputWarehouse, 'Warehouse Four'); - await page.waitToClick(selectors.travelBasicData.delivered); - await page.waitToClick(selectors.travelBasicData.received); - await page.waitToClick(selectors.travelBasicData.save); - const message = await page.waitForSnackbar(); - - expect(message.text).toContain('Data saved!'); - }); - - it('should reload the section and check the reference was saved', async() => { - await page.reloadSection('travel.card.basicData'); - const result = await page.waitToGetProperty(selectors.travelBasicData.reference, 'value'); - - expect(result).toEqual('new reference!'); - }); - - it('should check the agency was saved', async() => { - const result = await page.waitToGetProperty(selectors.travelBasicData.agency, 'value'); - - expect(result).toEqual('Entanglement'); - }); - - it('should check the output warehouse date was saved', async() => { - const result = await page.waitToGetProperty(selectors.travelBasicData.outputWarehouse, 'value'); - - expect(result).toEqual('Warehouse Three'); - }); - - it('should check the input warehouse date was saved', async() => { - const result = await page.waitToGetProperty(selectors.travelBasicData.inputWarehouse, 'value'); - - expect(result).toEqual('Warehouse Four'); - }); - - it(`should check the delivered checkbox was saved even tho it doesn't make sense`, async() => { - await page.waitForClassPresent(selectors.travelBasicData.delivered, 'checked'); - }); - - it(`should check the received checkbox was saved even tho it doesn't make sense`, async() => { - await page.waitForClassPresent(selectors.travelBasicData.received, 'checked'); - }); -}); diff --git a/e2e/paths/10-travel/03_descriptor.spec.js b/e2e/paths/10-travel/03_descriptor.spec.js deleted file mode 100644 index f066a74ca..000000000 --- a/e2e/paths/10-travel/03_descriptor.spec.js +++ /dev/null @@ -1,36 +0,0 @@ -import selectors from '../../helpers/selectors.js'; -import getBrowser from '../../helpers/puppeteer'; - -describe('Travel descriptor path', () => { - let browser; - let page; - - beforeAll(async() => { - browser = await getBrowser(); - page = browser.page; - await page.loginAndModule('buyer', 'travel'); - await page.write(selectors.travelIndex.generalSearchFilter, '3'); - await page.keyboard.press('Enter'); - await page.waitForState('travel.card.summary'); - }); - - afterAll(async() => { - await browser.close(); - }); - - it('should click the descriptor button to navigate to the travel index showing all travels with current agency', async() => { - await page.waitToClick(selectors.travelDescriptor.filterByAgencyButton); - await page.waitForState('travel.index'); - const result = await page.countElement(selectors.travelIndex.anySearchResult); - - expect(result).toBeGreaterThanOrEqual(1); - }); - - it('should navigate to the first search result', async() => { - await page.waitToClick(selectors.travelIndex.firstSearchResult); - await page.waitForState('travel.card.summary'); - const state = await page.getState(); - - expect(state).toBe('travel.card.summary'); - }); -}); diff --git a/e2e/paths/10-travel/04_extra_community.spec.js b/e2e/paths/10-travel/04_extra_community.spec.js deleted file mode 100644 index c5975c958..000000000 --- a/e2e/paths/10-travel/04_extra_community.spec.js +++ /dev/null @@ -1,42 +0,0 @@ -import selectors from '../../helpers/selectors.js'; -import getBrowser from '../../helpers/puppeteer'; - -describe('Travel extra community path', () => { - let browser; - let page; - - beforeAll(async() => { - browser = await getBrowser(); - page = browser.page; - await page.loginAndModule('buyer', 'travel'); - await page.accessToSection('travel.extraCommunity'); - }); - - afterAll(async() => { - await browser.close(); - }); - - it('should edit the travel reference and the locked kilograms', async() => { - await page.waitToClick(selectors.travelExtraCommunity.removeContinentFilter); - await page.waitForSpinnerLoad(); - await page.writeOnEditableTD(selectors.travelExtraCommunity.firstTravelReference, 'edited reference'); - await page.waitForSpinnerLoad(); - await page.writeOnEditableTD(selectors.travelExtraCommunity.firstTravelLockedKg, '1500'); - - const message = await page.waitForSnackbar(); - - expect(message.text).toContain('Data saved!'); - }); - - it('should reload the index and confirm the reference and locked kg were edited', async() => { - await page.accessToSection('travel.index'); - await page.accessToSection('travel.extraCommunity'); - await page.waitToClick(selectors.travelExtraCommunity.removeContinentFilter); - await page.waitForTextInElement(selectors.travelExtraCommunity.firstTravelReference, 'edited reference'); - const reference = await page.getProperty(selectors.travelExtraCommunity.firstTravelReference, 'innerText'); - const lockedKg = await page.getProperty(selectors.travelExtraCommunity.firstTravelLockedKg, 'innerText'); - - expect(reference).toContain('edited reference'); - expect(lockedKg).toContain(1500); - }); -}); diff --git a/e2e/paths/10-travel/06_search_panel.spec.js b/e2e/paths/10-travel/06_search_panel.spec.js deleted file mode 100644 index 420ceaf48..000000000 --- a/e2e/paths/10-travel/06_search_panel.spec.js +++ /dev/null @@ -1,62 +0,0 @@ -import selectors from '../../helpers/selectors.js'; -import getBrowser from '../../helpers/puppeteer'; - -describe('Travel search panel path', () => { - let browser; - let page; - let httpRequest; - - beforeAll(async() => { - browser = await getBrowser(); - page = browser.page; - await page.loginAndModule('buyer', 'travel'); - page.on('request', req => { - if (req.url().includes(`Travels/filter`)) - httpRequest = req.url(); - }); - }); - - afterAll(async() => { - await browser.close(); - }); - - it('should filter using all the fields', async() => { - await page.click(selectors.travelIndex.chip); - await page.write(selectors.travelIndex.generalSearchFilter, 'travel'); - await page.keyboard.press('Enter'); - - expect(httpRequest).toContain('search=travel'); - - await page.click(selectors.travelIndex.chip); - await page.autocompleteSearch(selectors.travelIndex.agencyFilter, 'Entanglement'); - - expect(httpRequest).toContain('agencyModeFk'); - - await page.click(selectors.travelIndex.chip); - await page.autocompleteSearch(selectors.travelIndex.warehouseOutFilter, 'Warehouse One'); - - expect(httpRequest).toContain('warehouseOutFk'); - - await page.click(selectors.travelIndex.chip); - await page.autocompleteSearch(selectors.travelIndex.warehouseInFilter, 'Warehouse Two'); - - expect(httpRequest).toContain('warehouseInFk'); - - await page.click(selectors.travelIndex.chip); - await page.overwrite(selectors.travelIndex.scopeDaysFilter, '15'); - await page.keyboard.press('Enter'); - - expect(httpRequest).toContain('scopeDays=15'); - - await page.click(selectors.travelIndex.chip); - await page.autocompleteSearch(selectors.travelIndex.continentFilter, 'Asia'); - - expect(httpRequest).toContain('continent'); - - await page.click(selectors.travelIndex.chip); - await page.write(selectors.travelIndex.totalEntriesFilter, '1'); - await page.keyboard.press('Enter'); - - expect(httpRequest).toContain('totalEntries=1'); - }); -}); diff --git a/modules/travel/front/basic-data/index.html b/modules/travel/front/basic-data/index.html deleted file mode 100644 index 783208d9a..000000000 --- a/modules/travel/front/basic-data/index.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
diff --git a/modules/travel/front/basic-data/index.js b/modules/travel/front/basic-data/index.js deleted file mode 100644 index 581fd71e5..000000000 --- a/modules/travel/front/basic-data/index.js +++ /dev/null @@ -1,21 +0,0 @@ -import ngModule from '../module'; -import Section from 'salix/components/section'; - -class Controller extends Section { - onSubmit() { - return this.$.watcher.submit().then(() => - this.card.reload() - ); - } -} - -ngModule.vnComponent('vnTravelBasicData', { - template: require('./index.html'), - controller: Controller, - bindings: { - travel: '<' - }, - require: { - card: '^vnTravelCard' - } -}); diff --git a/modules/travel/front/basic-data/index.spec.js b/modules/travel/front/basic-data/index.spec.js deleted file mode 100644 index 11894d6e0..000000000 --- a/modules/travel/front/basic-data/index.spec.js +++ /dev/null @@ -1,28 +0,0 @@ -import './index.js'; - -describe('Travel Component vnTravelBasicData', () => { - let controller; - - beforeEach(angular.mock.module('travel', $translateProvider => { - $translateProvider.translations('en', {}); - })); - - beforeEach(inject($componentController => { - const $element = angular.element(''); - controller = $componentController('vnTravelBasicData', {$element}); - controller.card = {reload: () => {}}; - controller.$.watcher = {submit: () => {}}; - })); - - describe('onSubmit()', () => { - it('should call the card reload method after the watcher submits', done => { - jest.spyOn(controller.card, 'reload'); - jest.spyOn(controller.$.watcher, 'submit').mockReturnValue(Promise.resolve()); - - controller.onSubmit().then(() => { - expect(controller.card.reload).toHaveBeenCalledWith(); - done(); - }).catch(done.fail); - }); - }); -}); diff --git a/modules/travel/front/basic-data/locale/es.yml b/modules/travel/front/basic-data/locale/es.yml deleted file mode 100644 index d95675612..000000000 --- a/modules/travel/front/basic-data/locale/es.yml +++ /dev/null @@ -1 +0,0 @@ -Undo changes: Deshacer cambios diff --git a/modules/travel/front/card/index.html b/modules/travel/front/card/index.html deleted file mode 100644 index 91964be21..000000000 --- a/modules/travel/front/card/index.html +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/modules/travel/front/card/index.js b/modules/travel/front/card/index.js deleted file mode 100644 index d46244cb5..000000000 --- a/modules/travel/front/card/index.js +++ /dev/null @@ -1,31 +0,0 @@ -import ngModule from '../module'; -import ModuleCard from 'salix/components/module-card'; - -class Controller extends ModuleCard { - reload() { - let filter = { - include: [ - { - relation: 'warehouseIn', - scope: { - fields: ['id', 'name'] - } - }, { - relation: 'warehouseOut', - scope: { - fields: ['id', 'name'] - } - } - ] - }; - - this.$http.get(`Travels/${this.$params.id}`, {filter}) - .then(response => this.travel = response.data); - } -} - -ngModule.vnComponent('vnTravelCard', { - template: require('./index.html'), - controller: Controller -}); - diff --git a/modules/travel/front/create/index.html b/modules/travel/front/create/index.html deleted file mode 100644 index 593887a22..000000000 --- a/modules/travel/front/create/index.html +++ /dev/null @@ -1,61 +0,0 @@ - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
diff --git a/modules/travel/front/create/index.js b/modules/travel/front/create/index.js deleted file mode 100644 index a85917ca8..000000000 --- a/modules/travel/front/create/index.js +++ /dev/null @@ -1,48 +0,0 @@ -import ngModule from '../module'; -import Section from 'salix/components/section'; - -class Controller extends Section { - $onChanges() { - if (this.$params && this.$params.q) - this.travel = JSON.parse(this.$params.q); - } - - onShippedChange(value) { - let hasFilledProperties; - let hasAgencyMode; - if (this.travel) { - hasAgencyMode = Boolean(this.travel.agencyModeFk); - hasFilledProperties = this.travel.landed || this.travel.warehouseInFk || this.travel.warehouseOutFk; - } - if (!hasAgencyMode || hasFilledProperties) - return; - - const query = `travels/getAverageDays`; - const params = { - agencyModeFk: this.travel.agencyModeFk - }; - this.$http.get(query, {params}).then(res => { - if (!res.data) - return; - - const landed = new Date(value); - const futureDate = landed.getDate() + res.data.dayDuration; - landed.setDate(futureDate); - - this.travel.landed = landed; - this.travel.warehouseInFk = res.data.warehouseInFk; - this.travel.warehouseOutFk = res.data.warehouseOutFk; - }); - } - - onSubmit() { - return this.$.watcher.submit().then( - res => this.$state.go('travel.card.basicData', {id: res.data.id}) - ); - } -} - -ngModule.vnComponent('vnTravelCreate', { - template: require('./index.html'), - controller: Controller -}); diff --git a/modules/travel/front/create/index.spec.js b/modules/travel/front/create/index.spec.js deleted file mode 100644 index cdff8cfb9..000000000 --- a/modules/travel/front/create/index.spec.js +++ /dev/null @@ -1,88 +0,0 @@ -import './index'; -import watcher from 'core/mocks/watcher'; - -describe('Travel Component vnTravelCreate', () => { - let $scope; - let $state; - let controller; - let $httpBackend; - - beforeEach(ngModule('travel')); - - beforeEach(inject(($componentController, $rootScope, _$state_, _$httpBackend_) => { - $httpBackend = _$httpBackend_; - $scope = $rootScope.$new(); - $state = _$state_; - $scope.watcher = watcher; - const $element = angular.element(''); - controller = $componentController('vnTravelCreate', {$element, $scope}); - })); - - describe('onSubmit()', () => { - it(`should call submit() on the watcher then expect a callback`, () => { - jest.spyOn($state, 'go'); - - controller.onSubmit(); - - expect(controller.$state.go).toHaveBeenCalledWith('travel.card.basicData', {id: 1234}); - }); - }); - - describe('$onChanges()', () => { - it('should update the travel data when $params.q is defined', () => { - controller.$params = {q: '{"ref": 1,"agencyModeFk": 1}'}; - - const params = {q: '{"ref": 1, "agencyModeFk": 1}'}; - const json = JSON.parse(params.q); - - controller.$onChanges(); - - expect(controller.travel).toEqual(json); - }); - }); - - describe('onShippedChange()', () => { - it(`should do nothing if there's no agencyModeFk in the travel.`, () => { - controller.travel = {}; - controller.onShippedChange(); - - expect(controller.travel.landed).toBeUndefined(); - expect(controller.travel.warehouseInFk).toBeUndefined(); - expect(controller.travel.warehouseOutFk).toBeUndefined(); - }); - - it(`should do nothing if there's no response data.`, () => { - controller.travel = {agencyModeFk: 4}; - const tomorrow = Date.vnNew(); - - const query = `travels/getAverageDays?agencyModeFk=${controller.travel.agencyModeFk}`; - $httpBackend.expectGET(query).respond(undefined); - controller.onShippedChange(tomorrow); - $httpBackend.flush(); - - expect(controller.travel.warehouseInFk).toBeUndefined(); - expect(controller.travel.warehouseOutFk).toBeUndefined(); - expect(controller.travel.dayDuration).toBeUndefined(); - }); - - it(`should fill the fields when it's selected a date and agency.`, () => { - controller.travel = {agencyModeFk: 1}; - const tomorrow = Date.vnNew(); - tomorrow.setDate(tomorrow.getDate() + 9); - const expectedResponse = { - id: 8, - dayDuration: 9, - warehouseInFk: 5, - warehouseOutFk: 1 - }; - - const query = `travels/getAverageDays?agencyModeFk=${controller.travel.agencyModeFk}`; - $httpBackend.expectGET(query).respond(expectedResponse); - controller.onShippedChange(tomorrow); - $httpBackend.flush(); - - expect(controller.travel.warehouseInFk).toEqual(expectedResponse.warehouseInFk); - expect(controller.travel.warehouseOutFk).toEqual(expectedResponse.warehouseOutFk); - }); - }); -}); diff --git a/modules/travel/front/descriptor-menu/index.html b/modules/travel/front/descriptor-menu/index.html deleted file mode 100644 index 19831860b..000000000 --- a/modules/travel/front/descriptor-menu/index.html +++ /dev/null @@ -1,59 +0,0 @@ - - - - - - Clone travel - - - Clone travel and his entries - - - Delete travel - - - Add entry - - - - - - - - - - - - - - - diff --git a/modules/travel/front/descriptor-menu/index.js b/modules/travel/front/descriptor-menu/index.js deleted file mode 100644 index f68502ec3..000000000 --- a/modules/travel/front/descriptor-menu/index.js +++ /dev/null @@ -1,95 +0,0 @@ -import ngModule from '../module'; -import Section from 'salix/components/section'; -import './style.scss'; - -class Controller extends Section { - constructor($element, $) { - super($element, $); - } - - get travelId() { - return this._travelId; - } - - set travelId(value) { - this._travelId = value; - - if (value) this.loadData(); - } - - loadData() { - const filter = { - fields: [ - 'id', - 'ref', - 'shipped', - 'landed', - 'totalEntries', - 'agencyModeFk', - 'warehouseInFk', - 'warehouseOutFk', - 'cargoSupplierFk' - ], - include: [ - { - relation: 'warehouseIn', - scope: { - fields: ['name'] - } - }, { - relation: 'warehouseOut', - scope: { - fields: ['name'] - } - } - ] - }; - this.$http.get(`Travels/${this.travelId}`, {filter}) - .then(res => this.travel = res.data); - - this.$http.get(`Travels/${this.travelId}/getEntries`) - .then(res => this.entries = res.data); - } - - get isBuyer() { - return this.aclService.hasAny(['buyer']); - } - - onDeleteAccept() { - this.$http.delete(`Travels/${this.travelId}`) - .then(() => this.$state.go('travel.index')) - .then(() => this.vnApp.showSuccess(this.$t('Travel deleted'))); - } - - onCloneAccept() { - const params = JSON.stringify({ - ref: this.travel.ref, - agencyModeFk: this.travel.agencyModeFk, - shipped: this.travel.shipped, - landed: this.travel.landed, - warehouseInFk: this.travel.warehouseInFk, - warehouseOutFk: this.travel.warehouseOutFk - }); - this.$state.go('travel.create', {q: params}); - } - - async redirectToCreateEntry() { - this.$state.go('home'); - window.location.href = await this.vnApp.getUrl(`entry/create?travelFk=${this.travelId}`); - } - - onCloneWithEntriesAccept() { - this.$http.post(`Travels/${this.travelId}/cloneWithEntries`) - .then(res => this.$state.go('travel.card.basicData', {id: res.data})); - } -} - -Controller.$inject = ['$element', '$scope']; - -ngModule.vnComponent('vnTravelDescriptorMenu', { - template: require('./index.html'), - controller: Controller, - bindings: { - travelId: '<', - } -}); diff --git a/modules/travel/front/descriptor-menu/index.spec.js b/modules/travel/front/descriptor-menu/index.spec.js deleted file mode 100644 index 40319e8e2..000000000 --- a/modules/travel/front/descriptor-menu/index.spec.js +++ /dev/null @@ -1,71 +0,0 @@ -import './index.js'; - -describe('Travel Component vnTravelDescriptorMenu', () => { - let controller; - let $httpBackend; - beforeEach(ngModule('travel')); - - beforeEach(inject(($componentController, _$httpBackend_) => { - $httpBackend = _$httpBackend_; - const $element = angular.element(''); - controller = $componentController('vnTravelDescriptorMenu', {$element}); - controller._travelId = 5; - })); - - describe('onCloneAccept()', () => { - it('should call state.go with the travel data', () => { - jest.spyOn(controller.$state, 'go').mockReturnValue('ok'); - - controller.travel = { - ref: 'the ref', - agencyModeFk: 'the agency', - shipped: 'the shipped date', - landed: 'the landing date', - warehouseInFk: 'the receiver warehouse', - warehouseOutFk: 'the sender warehouse' - }; - - controller.onCloneAccept(); - - const params = JSON.stringify({ - ref: controller.travel.ref, - agencyModeFk: controller.travel.agencyModeFk, - shipped: controller.travel.shipped, - landed: controller.travel.landed, - warehouseInFk: controller.travel.warehouseInFk, - warehouseOutFk: controller.travel.warehouseOutFk - }); - - expect(controller.$state.go).toHaveBeenCalledWith('travel.create', {'q': params}); - }); - }); - - describe('onDeleteAccept()', () => { - it('should perform a delete query', () => { - jest.spyOn(controller.$state, 'go').mockReturnValue('ok'); - controller.travelId = 1; - - $httpBackend.when('GET', `Travels/${controller.travelId}`).respond(200); - $httpBackend.when('GET', `Travels/${controller.travelId}/getEntries`).respond(200); - $httpBackend.expect('DELETE', `Travels/${controller.travelId}`).respond(200); - controller.onDeleteAccept(); - $httpBackend.flush(); - - expect(controller.$state.go).toHaveBeenCalledWith('travel.index'); - }); - }); - - describe('onCloneWithEntriesAccept()', () => { - it('should make an HTTP query and then call to the $state.go method with the returned id', () => { - jest.spyOn(controller.$state, 'go').mockReturnValue('ok'); - - $httpBackend.expect('POST', `Travels/${controller.travelId}/cloneWithEntries`).respond(200, 9); - controller.onCloneWithEntriesAccept(); - $httpBackend.flush(); - - expect(controller.$state.go).toHaveBeenCalledWith('travel.card.basicData', { - id: jasmine.any(Number) - }); - }); - }); -}); diff --git a/modules/travel/front/descriptor-menu/locale/es.yml b/modules/travel/front/descriptor-menu/locale/es.yml deleted file mode 100644 index e019d1769..000000000 --- a/modules/travel/front/descriptor-menu/locale/es.yml +++ /dev/null @@ -1,8 +0,0 @@ -Clone travel: Clonar envío -Add entry: Añadir entrada -Clone travel and his entries: Clonar travel y sus entradas -Do you want to clone this travel and all containing entries?: ¿Quieres clonar este travel y todas las entradas que contiene? -Delete travel: Eliminar envío -The travel will be deleted: El envío será eliminado -Do you want to delete this travel?: ¿Quieres eliminar este envío? -Travel deleted: Envío eliminado \ No newline at end of file diff --git a/modules/travel/front/descriptor-menu/style.scss b/modules/travel/front/descriptor-menu/style.scss deleted file mode 100644 index beab9335e..000000000 --- a/modules/travel/front/descriptor-menu/style.scss +++ /dev/null @@ -1,24 +0,0 @@ -@import "./effects"; -@import "variables"; - -vn-travel-descriptor-menu { - & > vn-icon-button[icon="more_vert"] { - display: flex; - min-width: 45px; - height: 45px; - box-sizing: border-box; - align-items: center; - justify-content: center; - } - & > vn-icon-button[icon="more_vert"] { - @extend %clickable; - color: inherit; - - & > vn-icon { - padding: 10px; - } - vn-icon { - font-size: 1.75rem; - } - } -} \ No newline at end of file diff --git a/modules/travel/front/descriptor-popover/index.html b/modules/travel/front/descriptor-popover/index.html deleted file mode 100644 index 376423bbc..000000000 --- a/modules/travel/front/descriptor-popover/index.html +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/modules/travel/front/descriptor-popover/index.js b/modules/travel/front/descriptor-popover/index.js deleted file mode 100644 index 12c5908ca..000000000 --- a/modules/travel/front/descriptor-popover/index.js +++ /dev/null @@ -1,9 +0,0 @@ -import ngModule from '../module'; -import DescriptorPopover from 'salix/components/descriptor-popover'; - -class Controller extends DescriptorPopover {} - -ngModule.vnComponent('vnTravelDescriptorPopover', { - slotTemplate: require('./index.html'), - controller: Controller -}); diff --git a/modules/travel/front/descriptor/index.html b/modules/travel/front/descriptor/index.html deleted file mode 100644 index bbf5721fd..000000000 --- a/modules/travel/front/descriptor/index.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - -
- - - - - - - - - - -
- -
-
- - - \ No newline at end of file diff --git a/modules/travel/front/descriptor/index.js b/modules/travel/front/descriptor/index.js deleted file mode 100644 index b1f2f53be..000000000 --- a/modules/travel/front/descriptor/index.js +++ /dev/null @@ -1,63 +0,0 @@ -import ngModule from '../module'; -import Descriptor from 'salix/components/descriptor'; - -class Controller extends Descriptor { - get travel() { - return this.entity; - } - - set travel(value) { - this.entity = value; - } - - get travelFilter() { - let travelFilter; - const travel = this.travel; - - if (travel && travel.agencyModeFk) { - travelFilter = this.travel && JSON.stringify({ - agencyModeFk: this.travel.agencyModeFk - }); - } - return travelFilter; - } - - loadData() { - const filter = { - fields: [ - 'id', - 'ref', - 'shipped', - 'landed', - 'totalEntries', - 'warehouseInFk', - 'warehouseOutFk', - 'cargoSupplierFk' - ], - include: [ - { - relation: 'warehouseIn', - scope: { - fields: ['name'] - } - }, { - relation: 'warehouseOut', - scope: { - fields: ['name'] - } - } - ] - }; - - return this.getData(`Travels/${this.id}`, {filter}) - .then(res => this.entity = res.data); - } -} - -ngModule.vnComponent('vnTravelDescriptor', { - template: require('./index.html'), - controller: Controller, - bindings: { - travel: '<' - } -}); diff --git a/modules/travel/front/descriptor/index.spec.js b/modules/travel/front/descriptor/index.spec.js deleted file mode 100644 index 0a88c8607..000000000 --- a/modules/travel/front/descriptor/index.spec.js +++ /dev/null @@ -1,26 +0,0 @@ -import './index.js'; - -describe('vnTravelDescriptor', () => { - let controller; - let $httpBackend; - - beforeEach(ngModule('travel')); - - beforeEach(inject(($componentController, _$httpBackend_) => { - $httpBackend = _$httpBackend_; - controller = $componentController('vnTravelDescriptor', {$element: null}); - })); - - describe('loadData()', () => { - it(`should perform a get query to store the worker data into the controller`, () => { - const id = 1; - const response = 'foo'; - - $httpBackend.expectRoute('GET', `Travels/${id}`).respond(response); - controller.id = id; - $httpBackend.flush(); - - expect(controller.travel).toEqual(response); - }); - }); -}); diff --git a/modules/travel/front/descriptor/locale/es.yml b/modules/travel/front/descriptor/locale/es.yml deleted file mode 100644 index 3e6d62735..000000000 --- a/modules/travel/front/descriptor/locale/es.yml +++ /dev/null @@ -1,6 +0,0 @@ -Reference: Referencia -Wh. In: Alm. entrada -Wh. Out: Alm. salida -Shipped: F. envío -Landed: F. entrega -Total entries: Entradas totales \ No newline at end of file diff --git a/modules/travel/front/extra-community-search-panel/index.html b/modules/travel/front/extra-community-search-panel/index.html deleted file mode 100644 index c0d726718..000000000 --- a/modules/travel/front/extra-community-search-panel/index.html +++ /dev/null @@ -1,92 +0,0 @@ -
- - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
diff --git a/modules/travel/front/extra-community-search-panel/index.js b/modules/travel/front/extra-community-search-panel/index.js deleted file mode 100644 index 1add11dce..000000000 --- a/modules/travel/front/extra-community-search-panel/index.js +++ /dev/null @@ -1,31 +0,0 @@ -import ngModule from '../module'; -import SearchPanel from 'core/components/searchbar/search-panel'; - -class Controller extends SearchPanel { - constructor($, $element) { - super($, $element); - - this.filter = this.$.filter; - } - - get shippedFrom() { - return this.filter.shippedFrom; - } - - set shippedFrom(value) { - this.filter.shippedFrom = value; - } - - get landedTo() { - return this.filter.landedTo; - } - - set landedTo(value) { - this.filter.landedTo = value; - } -} - -ngModule.vnComponent('vnExtraCommunitySearchPanel', { - template: require('./index.html'), - controller: Controller -}); diff --git a/modules/travel/front/extra-community/index.html b/modules/travel/front/extra-community/index.html deleted file mode 100644 index 8132bddb1..000000000 --- a/modules/travel/front/extra-community/index.html +++ /dev/null @@ -1,189 +0,0 @@ - - - - - - - - - -
- - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Id - - Supplier - - Agency - - Amount - - Reference - - Packages - - Bl. KG - - Phy. KG - - Vol. KG - - Wh. Out - - W. Shipped - - Wh. In - - W. Landed -
- - {{::travel.id}} - - - - {{::travel.cargoSupplierNickname}} - - {{::travel.agencyModeName}} - - {{travel.ref}} - - - - - - {{::travel.stickers}} - - {{travel.kg}} - - - - - - {{::travel.loadedKg}}{{::travel.volumeKg}}{{::travel.warehouseOutName}}{{::travel.shipped | date: 'dd/MM/yyyy'}}{{::travel.warehouseInName}}{{::travel.landed | date: 'dd/MM/yyyy'}}
- - {{::entry.id}} - - - - {{::entry.supplierName}} - - {{::entry.invoiceAmount | currency: 'EUR': 2}}{{::entry.reference}}{{::entry.stickers}}{{::entry.loadedkg}}{{::entry.volumeKg}}
-
-
-
- - - - - - diff --git a/modules/travel/front/extra-community/index.js b/modules/travel/front/extra-community/index.js deleted file mode 100644 index 6e9c39f43..000000000 --- a/modules/travel/front/extra-community/index.js +++ /dev/null @@ -1,162 +0,0 @@ -import ngModule from '../module'; -import Section from 'salix/components/section'; -import './style.scss'; - -class Controller extends Section { - constructor($element, $, vnReport) { - super($element, $); - - this.vnReport = vnReport; - - const draggable = this.element.querySelector('.travel-list'); - draggable.addEventListener('dragstart', - event => this.dragStart(event)); - draggable.addEventListener('dragend', - event => this.dragEnd(event)); - - draggable.addEventListener('dragover', - event => this.dragOver(event)); - draggable.addEventListener('dragenter', - event => this.dragEnter(event)); - draggable.addEventListener('dragleave', - event => this.dragLeave(event)); - - this.draggableElement = 'tr[draggable]'; - this.droppableElement = 'tbody[vn-droppable]'; - - const twoDays = 2; - const shippedFrom = Date.vnNew(); - shippedFrom.setDate(shippedFrom.getDate() - twoDays); - shippedFrom.setHours(0, 0, 0, 0); - - const sevenDays = 7; - const landedTo = Date.vnNew(); - landedTo.setDate(landedTo.getDate() + sevenDays); - landedTo.setHours(23, 59, 59, 59); - - this.defaultFilter = { - shippedFrom: shippedFrom, - landedTo: landedTo, - continent: 'AM' - }; - - this.smartTableOptions = {}; - } - - onDragInterval() { - if (this.dragClientY > 0 && this.dragClientY < 75) - this.$window.scrollTo(0, this.$window.scrollY - 10); - - const maxHeight = window.screen.availHeight - (window.outerHeight - window.innerHeight); - if (this.dragClientY > maxHeight - 75 && this.dragClientY < maxHeight) - this.$window.scrollTo(0, this.$window.scrollY + 10); - } - - findDraggable($event) { - const target = $event.target; - const draggable = target.closest(this.draggableElement); - - return draggable; - } - - findDroppable($event) { - const target = $event.target; - const droppable = target.closest(this.droppableElement); - - return droppable; - } - - dragStart($event) { - const draggable = this.findDraggable($event); - draggable.classList.add('dragging'); - - const id = parseInt(draggable.id); - this.entryId = id; - this.entry = draggable; - this.interval = setInterval(() => this.onDragInterval(), 50); - } - - dragEnd($event) { - const draggable = this.findDraggable($event); - draggable.classList.remove('dragging'); - this.entryId = null; - this.entry = null; - - clearInterval(this.interval); - } - - onDrop($event) { - const model = this.$.model; - const droppable = this.findDroppable($event); - const travelId = parseInt(droppable.id); - - const currentDroppable = this.entry.closest(this.droppableElement); - - if (currentDroppable == droppable) return; - - if (this.entryId && travelId) { - const path = `Entries/${this.entryId}`; - this.$http.patch(path, {travelFk: travelId}) - .then(() => model.refresh()) - .then(() => this.vnApp.showSuccess(this.$t('Data saved!'))); - } - } - - undrop() { - if (!this.dropping) return; - this.dropping.classList.remove('dropping'); - this.dropping = null; - } - - dragOver($event) { - this.dragClientY = $event.clientY; - $event.preventDefault(); - } - - dragEnter($event) { - let element = this.findDroppable($event); - if (element) this.dropCount++; - - if (element != this.dropping) { - this.undrop(); - if (element) element.classList.add('dropping'); - this.dropping = element; - } - } - - dragLeave($event) { - let element = this.findDroppable($event); - - if (element) { - this.dropCount--; - if (this.dropCount == 0) this.undrop(); - } - } - - save(id, data) { - const endpoint = `Travels/${id}`; - this.$http.patch(endpoint, data) - .then(() => this.vnApp.showSuccess(this.$t('Data saved!'))); - } - - get reportParams() { - const userParams = this.$.model.userParams; - const currentFilter = this.$.model.currentFilter; - - return Object.assign({ - authorization: this.vnToken.tokenMultimedia, - filter: currentFilter - }, userParams); - } - - showReport() { - this.vnReport.show(`Travels/extra-community-pdf`, this.reportParams); - } -} - -Controller.$inject = ['$element', '$scope', 'vnReport']; - -ngModule.vnComponent('vnTravelExtraCommunity', { - template: require('./index.html'), - controller: Controller -}); diff --git a/modules/travel/front/extra-community/index.spec.js b/modules/travel/front/extra-community/index.spec.js deleted file mode 100644 index 18ddee665..000000000 --- a/modules/travel/front/extra-community/index.spec.js +++ /dev/null @@ -1,128 +0,0 @@ -import './index.js'; - -describe('Travel Component vnTravelExtraCommunity', () => { - let controller; - let $httpBackend; - - beforeEach(ngModule('travel')); - - beforeEach(inject(($componentController, _$httpBackend_) => { - $httpBackend = _$httpBackend_; - const $element = angular.element('
'); - controller = $componentController('vnTravelExtraCommunity', {$element}); - controller.$.model = {}; - controller.$.model.refresh = jest.fn(); - })); - - describe('findDraggable()', () => { - it('should find the draggable element', () => { - const draggable = document.createElement('tr'); - draggable.setAttribute('draggable', true); - - const $event = new Event('dragstart'); - const target = document.createElement('div'); - draggable.appendChild(target); - target.dispatchEvent($event); - - const result = controller.findDraggable($event); - - expect(result).toEqual(draggable); - }); - }); - - describe('findDroppable()', () => { - it('should find the droppable element', () => { - const droppable = document.createElement('tbody'); - droppable.setAttribute('vn-droppable', true); - - const $event = new Event('drop'); - const target = document.createElement('div'); - droppable.appendChild(target); - target.dispatchEvent($event); - - const result = controller.findDroppable($event); - - expect(result).toEqual(droppable); - }); - }); - - describe('dragStart()', () => { - it(`should add the class "dragging" to the draggable element - and then set the entryId controller property`, () => { - const draggable = document.createElement('tr'); - draggable.setAttribute('draggable', true); - draggable.setAttribute('id', 3); - - jest.spyOn(controller, 'findDraggable').mockReturnValue(draggable); - - const $event = new Event('dragStart'); - controller.dragStart($event); - - const firstClass = draggable.classList[0]; - - expect(firstClass).toEqual('dragging'); - expect(controller.entryId).toEqual(3); - expect(controller.entry).toEqual(draggable); - }); - }); - - describe('dragEnd()', () => { - it(`should remove the class "dragging" from the draggable element - and then set the entryId controller property to null`, () => { - const draggable = document.createElement('tr'); - draggable.setAttribute('draggable', true); - draggable.setAttribute('id', 3); - draggable.classList.add('dragging'); - - jest.spyOn(controller, 'findDraggable').mockReturnValue(draggable); - - const $event = new Event('dragStart'); - controller.dragEnd($event); - - const classList = draggable.classList; - - expect(classList.length).toEqual(0); - expect(controller.entryId).toBeNull(); - expect(controller.entry).toBeNull(); - }); - }); - - describe('onDrop()', () => { - it('should make an HTTP patch query', () => { - const droppable = document.createElement('tbody'); - droppable.setAttribute('vn-droppable', true); - droppable.setAttribute('id', 1); - - jest.spyOn(controller, 'findDroppable').mockReturnValue(droppable); - - const oldDroppable = document.createElement('tbody'); - oldDroppable.setAttribute('vn-droppable', true); - const entry = document.createElement('div'); - oldDroppable.appendChild(entry); - - controller.entryId = 3; - controller.entry = entry; - - const $event = new Event('drop'); - const expectedData = {travelFk: 1}; - $httpBackend.expect('PATCH', `Entries/3`, expectedData).respond(200); - controller.onDrop($event); - $httpBackend.flush(); - }); - }); - - describe('save()', () => { - it('should make an HTTP query', () => { - jest.spyOn(controller.vnApp, 'showSuccess'); - - const travelId = 1; - const data = {ref: 'New reference'}; - const expectedData = {ref: 'New reference'}; - $httpBackend.expect('PATCH', `Travels/${travelId}`, expectedData).respond(200); - controller.save(travelId, data); - $httpBackend.flush(); - - expect(controller.vnApp.showSuccess).toHaveBeenCalledWith('Data saved!'); - }); - }); -}); diff --git a/modules/travel/front/extra-community/locale/es.yml b/modules/travel/front/extra-community/locale/es.yml deleted file mode 100644 index ed6179c91..000000000 --- a/modules/travel/front/extra-community/locale/es.yml +++ /dev/null @@ -1,11 +0,0 @@ -Family: Familia -Extra community: Extra comunitarios -Freighter: Transitario -Bl. KG: KG Bloq. -Phy. KG: KG físico -Vol. KG: KG Vol. -Search by travel id or reference: Buscar por id de travel o referencia -Search by extra community travel: Buscar por envío extra comunitario -Continent Out: Cont. salida -W. Shipped: F. envío -W. Landed: F. llegada diff --git a/modules/travel/front/extra-community/style.scss b/modules/travel/front/extra-community/style.scss deleted file mode 100644 index fb64822f9..000000000 --- a/modules/travel/front/extra-community/style.scss +++ /dev/null @@ -1,67 +0,0 @@ -@import "variables"; - -vn-travel-extra-community { - .header { - margin-bottom: 16px; - line-height: 1; - padding: 7px; - padding-bottom: 7px; - padding-bottom: 4px; - font-weight: lighter; - background-color: $color-bg; - color: white; - border-bottom: 1px solid #f7931e; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - cursor: pointer; - .multi-line{ - padding-top: 15px; - padding-bottom: 15px; - } - } - - table[vn-droppable] { - border-radius: 0; - } - - tr[draggable] { - transition: all .5s; - cursor: move; - overflow: auto; - outline: 0; - height: 65px; - pointer-events: fill; - user-select: all; - } - - tr[draggable] *::selection { - background-color: transparent; - } - - tr[draggable]:hover { - background-color: $color-hover-cd; - } - - tr[draggable].dragging { - background-color: $color-primary-light; - color: $color-font-light; - font-weight: bold; - } - - - .multi-line{ - max-width: 200px; - word-wrap: normal; - white-space: normal; - } - - vn-td-editable text { - background-color: transparent; - padding: 0; - border: 0; - border-bottom: 1px dashed $color-active; - border-radius: 0; - color: $color-active - } -} diff --git a/modules/travel/front/index.js b/modules/travel/front/index.js index e4375c59d..a7209a0bd 100644 --- a/modules/travel/front/index.js +++ b/modules/travel/front/index.js @@ -1,18 +1,3 @@ export * from './module'; import './main'; -import './index/'; -import './search-panel'; -import './descriptor'; -import './card'; -import './summary'; -import './basic-data'; -import './log'; -import './create'; -import './thermograph/index/'; -import './thermograph/create/'; -import './thermograph/edit/'; -import './descriptor-popover'; -import './descriptor-menu'; -import './extra-community'; -import './extra-community-search-panel'; diff --git a/modules/travel/front/index/index.html b/modules/travel/front/index/index.html deleted file mode 100644 index a768e4a29..000000000 --- a/modules/travel/front/index/index.html +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - - - - - - - - Reference - Agency - Warehouse Out - Shipped - - Warehouse In - Landed - - Total entries - - - - - - {{::travel.ref}} - {{::travel.agencyModeName}} - {{::travel.warehouseOutName}} - - - {{::travel.shipped | date:'dd/MM/yyyy'}} - - - - - - - {{::travel.warehouseInName}} - - - {{::travel.landed | date:'dd/MM/yyyy'}} - - - - - - - {{::travel.totalEntries}} - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/modules/travel/front/index/index.js b/modules/travel/front/index/index.js deleted file mode 100644 index a570146fe..000000000 --- a/modules/travel/front/index/index.js +++ /dev/null @@ -1,39 +0,0 @@ -import ngModule from '../module'; -import Section from 'salix/components/section'; -import './style.scss'; - -export default class Controller extends Section { - preview(travel) { - this.travelSelected = travel; - this.$.summary.show(); - } - - onCloneAccept(travel) { - const params = JSON.stringify({ - ref: travel.ref, - agencyModeFk: travel.agencyModeFk, - shipped: travel.shipped, - landed: travel.landed, - warehouseInFk: travel.warehouseInFk, - warehouseOutFk: travel.warehouseOutFk - }); - this.$state.go('travel.create', {q: params}); - } - - compareDate(date) { - let today = Date.vnNew(); - today.setHours(0, 0, 0, 0); - - date = new Date(date); - date.setHours(0, 0, 0, 0); - - const timeDifference = today - date; - if (timeDifference == 0) return 'warning'; - if (timeDifference < 0) return 'success'; - } -} - -ngModule.vnComponent('vnTravelIndex', { - template: require('./index.html'), - controller: Controller -}); diff --git a/modules/travel/front/index/index.spec.js b/modules/travel/front/index/index.spec.js deleted file mode 100644 index 9083c4519..000000000 --- a/modules/travel/front/index/index.spec.js +++ /dev/null @@ -1,78 +0,0 @@ -import './index.js'; - -describe('Travel Component vnTravelIndex', () => { - let controller; - let travel = { - id: 1, - warehouseInFk: 1, - totalEntries: 3, - isDelivered: false - }; - - beforeEach(ngModule('travel')); - - beforeEach(inject($componentController => { - const $element = angular.element(''); - controller = $componentController('vnTravelIndex', {$element}); - controller.$.summary = {show: jasmine.createSpy('show')}; - })); - - describe('preview()', () => { - it('should show the dialog summary', () => { - let event = new MouseEvent('click', { - bubbles: true, - cancelable: true - }); - controller.preview(event, travel); - - expect(controller.$.summary.show).toHaveBeenCalledWith(); - }); - }); - - describe('onCloneAccept()', () => { - it('should call go() then update travelSelected in the controller', () => { - jest.spyOn(controller.$state, 'go'); - - const travel = { - ref: 1, - agencyModeFk: 1 - }; - const travelParams = { - ref: travel.ref, - agencyModeFk: travel.agencyModeFk - }; - const queryParams = JSON.stringify(travelParams); - controller.onCloneAccept(travel); - - expect(controller.$state.go).toHaveBeenCalledWith('travel.create', {q: queryParams}); - }); - }); - - describe('compareDate()', () => { - it('should return warning if the date passed to compareDate() is todays', () => { - const today = Date.vnNew(); - - const result = controller.compareDate(today); - - expect(result).toEqual('warning'); - }); - - it('should return success if the date passed to compareDate() is in the future', () => { - const tomorrow = Date.vnNew(); - tomorrow.setDate(tomorrow.getDate() + 1); - - const result = controller.compareDate(tomorrow); - - expect(result).toEqual('success'); - }); - - it('should return undefined if the date passed to compareDate() is in the past', () => { - const yesterday = Date.vnNew(); - yesterday.setDate(yesterday.getDate() - 1); - - const result = controller.compareDate(yesterday); - - expect(result).toBeUndefined(); - }); - }); -}); diff --git a/modules/travel/front/index/locale/es.yml b/modules/travel/front/index/locale/es.yml deleted file mode 100644 index 5ce4c502f..000000000 --- a/modules/travel/front/index/locale/es.yml +++ /dev/null @@ -1,3 +0,0 @@ -Do you want to clone this travel?: ¿Desea clonar este envio? -All it's properties will be copied: Todas sus propiedades serán copiadas -Clone: Clonar \ No newline at end of file diff --git a/modules/travel/front/index/style.scss b/modules/travel/front/index/style.scss deleted file mode 100644 index ca1cf538b..000000000 --- a/modules/travel/front/index/style.scss +++ /dev/null @@ -1,11 +0,0 @@ -@import "variables"; - -vn-travel-index { - vn-icon { - color: $color-font-secondary - } - - vn-icon.active { - color: $color-success - } -} diff --git a/modules/travel/front/log/index.html b/modules/travel/front/log/index.html deleted file mode 100644 index fc4622e5a..000000000 --- a/modules/travel/front/log/index.html +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/modules/travel/front/log/index.js b/modules/travel/front/log/index.js deleted file mode 100644 index 7af601b5c..000000000 --- a/modules/travel/front/log/index.js +++ /dev/null @@ -1,7 +0,0 @@ -import ngModule from '../module'; -import Section from 'salix/components/section'; - -ngModule.vnComponent('vnTravelLog', { - template: require('./index.html'), - controller: Section, -}); diff --git a/modules/travel/front/main/index.html b/modules/travel/front/main/index.html index 131d9409e..e69de29bb 100644 --- a/modules/travel/front/main/index.html +++ b/modules/travel/front/main/index.html @@ -1,6 +0,0 @@ - - - - - - diff --git a/modules/travel/front/main/index.js b/modules/travel/front/main/index.js index 6a153f21a..37dcbb0dc 100644 --- a/modules/travel/front/main/index.js +++ b/modules/travel/front/main/index.js @@ -5,6 +5,10 @@ export default class Travel extends ModuleMain { constructor() { super(); } + async $onInit() { + this.$state.go('home'); + window.location.href = await this.vnApp.getUrl(`travel/`); + } } ngModule.vnComponent('vnTravel', { diff --git a/modules/travel/front/routes.json b/modules/travel/front/routes.json index 5a63620d4..6ae61bd02 100644 --- a/modules/travel/front/routes.json +++ b/modules/travel/front/routes.json @@ -27,80 +27,6 @@ "state": "travel.index", "component": "vn-travel-index", "description": "Travels" - }, { - "url": "/:id", - "state": "travel.card", - "abstract": true, - "component": "vn-travel-card" - }, { - "url": "/summary", - "state": "travel.card.summary", - "component": "vn-travel-summary", - "description": "Summary", - "params": { - "travel": "$ctrl.travel" - } - }, { - "url": "/basic-data", - "state": "travel.card.basicData", - "component": "vn-travel-basic-data", - "description": "Basic data", - "acl": ["buyer","logistic"], - "params": { - "travel": "$ctrl.travel" - } - }, { - "url" : "/log", - "state": "travel.card.log", - "component": "vn-travel-log", - "description": "Log" - }, { - "url": "/create?q", - "state": "travel.create", - "component": "vn-travel-create", - "description": "New travel" - }, { - "url": "/thermograph", - "state": "travel.card.thermograph", - "abstract": true, - "component": "ui-view" - }, { - "url" : "/index", - "state": "travel.card.thermograph.index", - "component": "vn-travel-thermograph-index", - "description": "Thermographs", - "params": { - "travel": "$ctrl.travel" - }, - "acl": ["buyer"] - }, { - "url" : "/create", - "state": "travel.card.thermograph.create", - "component": "vn-travel-thermograph-create", - "description": "Add thermograph", - "params": { - "travel": "$ctrl.travel" - }, - "acl": ["buyer"] - }, { - "url" : "/:thermographId/edit", - "state": "travel.card.thermograph.edit", - "component": "vn-travel-thermograph-edit", - "description": "Edit thermograph", - "params": { - "travel": "$ctrl.travel" - }, - "acl": ["buyer"] - }, - { - "url": "/extra-community?q", - "state": "travel.extraCommunity", - "component": "vn-travel-extra-community", - "description": "Extra community", - "acl": ["buyer"], - "params": { - "travel": "$ctrl.travel" - } } ] } diff --git a/modules/travel/front/search-panel/index.html b/modules/travel/front/search-panel/index.html deleted file mode 100644 index dd8d98af1..000000000 --- a/modules/travel/front/search-panel/index.html +++ /dev/null @@ -1,146 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Id/{{$ctrl.$t('Reference')}}: {{$ctrl.filter.search}} - - - {{$ctrl.$t('Agency')}}: {{agency.selection.name}} - - - {{$ctrl.$t('Warehouse Out')}}: {{warehouseOut.selection.name}} - - - {{$ctrl.$t('Warehouse In')}}: {{warehouseIn.selection.name}} - - - {{$ctrl.$t('Days onward')}}: {{$ctrl.filter.scopeDays}} - - - {{$ctrl.$t('Landed from')}}: {{$ctrl.filter.landedFrom | date:'dd/MM/yyyy'}} - - - {{$ctrl.$t('Landed to')}}: {{$ctrl.filter.landedTo | date:'dd/MM/yyyy'}} - - - {{$ctrl.$t('Continent Out')}}: {{continent.selection.name}} - - - {{$ctrl.$t('Total entries')}}: {{$ctrl.filter.totalEntries}} - -
-
diff --git a/modules/travel/front/search-panel/index.js b/modules/travel/front/search-panel/index.js deleted file mode 100644 index 5969a8c3f..000000000 --- a/modules/travel/front/search-panel/index.js +++ /dev/null @@ -1,72 +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.initFilter(); - this.fetchData(); - } - - $onChanges() { - if (this.model) - this.applyFilters(); - } - - fetchData() { - this.$http.get('AgencyModes').then(res => { - this.agencyModes = res.data; - }); - this.$http.get('Warehouses').then(res => { - this.warehouses = res.data; - }); - this.$http.get('Continents').then(res => { - this.continents = res.data; - }); - } - - initFilter() { - this.filter = {}; - if (this.$params.q) { - this.filter = JSON.parse(this.$params.q); - this.search = this.filter.search; - this.totalEntries = this.filter.totalEntries; - } - if (!this.filter.scopeDays) this.filter.scopeDays = 7; - } - - applyFilters(param) { - if (this.filter?.search) - delete this.filter.scopeDays; - - this.model.applyFilter({}, this.filter) - .then(() => { - if (param && this.model._orgData.length === 1) - this.$state.go('travel.card.summary', {id: this.model._orgData[0].id}); - else - this.$state.go(this.$state.current.name, {q: JSON.stringify(this.filter)}, {location: 'replace'}); - }); - } - - removeParamFilter(param) { - if (this[param]) delete this[param]; - delete this.filter[param]; - this.applyFilters(); - } - - onKeyPress($event, param) { - if ($event.key === 'Enter') { - this.filter[param] = this[param]; - this.applyFilters(param === 'search'); - } - } -} - -ngModule.vnComponent('vnTravelSearchPanel', { - template: require('./index.html'), - controller: Controller, - bindings: { - model: '<' - } -}); diff --git a/modules/travel/front/search-panel/index.spec.js b/modules/travel/front/search-panel/index.spec.js deleted file mode 100644 index 488143e80..000000000 --- a/modules/travel/front/search-panel/index.spec.js +++ /dev/null @@ -1,38 +0,0 @@ -import './index'; - -describe('Travel Component vnTravelSearchPanel', () => { - let controller; - - beforeEach(ngModule('travel')); - - beforeEach(inject($componentController => { - controller = $componentController('vnTravelSearchPanel', {$element: null}); - controller.$t = () => {}; - })); - - describe('applyFilters()', () => { - it('should apply filters', async() => { - controller.filter = {foo: 'bar'}; - controller.model = { - applyFilter: jest.fn().mockResolvedValue(), - _orgData: [{id: 1}] - }; - controller.$state = { - current: { - name: 'foo' - }, - go: jest.fn() - }; - - await controller.applyFilters(true); - - expect(controller.model.applyFilter).toHaveBeenCalledWith({}, controller.filter); - expect(controller.$state.go).toHaveBeenCalledWith('travel.card.summary', {id: 1}); - - await controller.applyFilters(false); - - expect(controller.$state.go).toHaveBeenCalledWith(controller.$state.current.name, - {q: JSON.stringify(controller.filter)}, {location: 'replace'}); - }); - }); -}); diff --git a/modules/travel/front/search-panel/locale/es.yml b/modules/travel/front/search-panel/locale/es.yml deleted file mode 100644 index 1f892a742..000000000 --- a/modules/travel/front/search-panel/locale/es.yml +++ /dev/null @@ -1,7 +0,0 @@ -Ticket id: Id ticket -Client id: Id cliente -Nickname: Alias -From: Desde -To: Hasta -Agency: Agencia -Warehouse: Almacén \ No newline at end of file diff --git a/modules/travel/front/search-panel/style.scss b/modules/travel/front/search-panel/style.scss deleted file mode 100644 index 0da52408a..000000000 --- a/modules/travel/front/search-panel/style.scss +++ /dev/null @@ -1,37 +0,0 @@ -@import "variables"; - -vn-travel-search-panel vn-side-menu { - .menu { - min-width: $menu-width; - } - & > div { - .input { - padding-left: $spacing-md; - padding-right: $spacing-md; - border-color: $color-spacer; - border-bottom: $border-thin; - } - .horizontal { - padding-left: $spacing-md; - padding-right: $spacing-md; - 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; - } - - .or { - align-self: center; - font-weight: bold; - font-size: 26px; - color: $color-font-secondary; - } - } -} diff --git a/modules/travel/front/summary/index.html b/modules/travel/front/summary/index.html deleted file mode 100644 index d9dbb0f90..000000000 --- a/modules/travel/front/summary/index.html +++ /dev/null @@ -1,167 +0,0 @@ - -
- - - - {{$ctrl.travelData.id}} - {{$ctrl.travelData.ref}} - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Entries

- - - - Confirmed - Entry Id - Supplier - Reference - HB - Freight - Package - CC - Pallet - - - - - - - - - - - - - {{entry.id}} - - - {{entry.supplierName}} - {{entry.reference}} - {{entry.hb}} - {{entry.freightValue | currency: 'EUR': 2}} - {{entry.packageValue | currency: 'EUR': 2}} - {{entry.cc}} - {{entry.pallet}} - {{entry.m3}} - - - - - - - - - - - - - {{$ctrl.total('hb')}} - {{$ctrl.total('freightValue') | currency: 'EUR': 2}} - {{$ctrl.total('packageValue') | currency: 'EUR': 2}} - {{$ctrl.total('cc') | number:2}} - {{$ctrl.total('pallet') | number:2}} - {{$ctrl.total('m3') | number:2}} - - - - -
- -

- - Thermograph - -

-

- Thermograph -

- - - - Code - Temperature - State - Destination - Created - - - - - {{thermograph.thermographFk}} - {{thermograph.temperatureFk}} - {{thermograph.result}} - {{thermograph.warehouse.name}} - {{thermograph.created | date: 'dd/MM/yyyy'}} - - - -
-
-
- - diff --git a/modules/travel/front/summary/index.js b/modules/travel/front/summary/index.js deleted file mode 100644 index 5144a0bb5..000000000 --- a/modules/travel/front/summary/index.js +++ /dev/null @@ -1,71 +0,0 @@ -import ngModule from '../module'; -import Summary from 'salix/components/summary'; -import './style.scss'; - -class Controller extends Summary { - $onInit() { - this.entries = []; - } - - get travel() { - return this._travel; - } - - set travel(value) { - this._travel = value; - - if (value && value.id) { - this.getTravel(); - this.getEntries(); - this.getThermographs(); - } - } - - getTravel() { - return this.$http.get(`Travels/${this.travel.id}/getTravel`) - .then(res => this.travelData = res.data); - } - - getEntries() { - return this.$http.get(`Travels/${this.travel.id}/getEntries`) - .then(res => this.entries = res.data); - } - - getThermographs() { - const filter = { - include: { - relation: 'warehouse', - scope: { - fields: ['id', 'name'] - } - }, - where: { - travelFk: this.travel.id - } - }; - - return this.$http.get(`TravelThermographs`, {filter}) - .then(res => this.travelThermographs = res.data); - } - - total(field) { - let total = 0; - - for (let entry of this.entries) - total += entry[field]; - - return total; - } - - get isBuyer() { - return this.aclService.hasAny(['buyer']); - } -} - -ngModule.vnComponent('vnTravelSummary', { - template: require('./index.html'), - controller: Controller, - bindings: { - travel: '<' - } -}); diff --git a/modules/travel/front/summary/index.spec.js b/modules/travel/front/summary/index.spec.js deleted file mode 100644 index b1b750689..000000000 --- a/modules/travel/front/summary/index.spec.js +++ /dev/null @@ -1,86 +0,0 @@ -import './index'; - -describe('component vnTravelSummary', () => { - let controller; - let $httpBackend; - let $scope; - let $httpParamSerializer; - - beforeEach(angular.mock.module('travel', $translateProvider => { - $translateProvider.translations('en', {}); - })); - - beforeEach(inject(($componentController, $rootScope, _$httpBackend_, _$httpParamSerializer_) => { - $httpBackend = _$httpBackend_; - $httpParamSerializer = _$httpParamSerializer_; - $scope = $rootScope.$new(); - const $element = angular.element(``); - controller = $componentController('vnTravelSummary', {$element, $scope}); - })); - - describe('travel setter/getter', () => { - it('should return the travel and then call both getTravel() and getEntries()', () => { - jest.spyOn(controller, 'getTravel'); - jest.spyOn(controller, 'getEntries'); - jest.spyOn(controller, 'getThermographs'); - controller.travel = {id: 99}; - - expect(controller._travel.id).toEqual(99); - expect(controller.getTravel).toHaveBeenCalledWith(); - expect(controller.getEntries).toHaveBeenCalledWith(); - expect(controller.getThermographs).toHaveBeenCalledWith(); - }); - }); - - describe('getTravel()', () => { - it('should perform a get and then store data on the controller', () => { - controller._travel = {id: 999}; - - const query = `Travels/${controller._travel.id}/getTravel`; - $httpBackend.expectGET(query).respond('I am the travelData'); - controller.getTravel(); - $httpBackend.flush(); - - expect(controller.travelData).toEqual('I am the travelData'); - }); - }); - - describe('getEntries()', () => { - it('should call the getEntries method to get the entries data', () => { - controller._travel = {id: 999}; - - const query = `Travels/${controller._travel.id}/getEntries`; - $httpBackend.expectGET(query).respond('I am the entries'); - controller.getEntries(); - $httpBackend.flush(); - - expect(controller.entries).toEqual('I am the entries'); - }); - }); - - describe('getThermographs()', () => { - it('should call the getThermographs method to get the thermographs', () => { - controller._travel = {id: 2}; - - $httpBackend.expectGET(`TravelThermographs`).respond('I am the thermographs'); - controller.getThermographs(); - $httpBackend.flush(); - - expect(controller.travelThermographs).toEqual('I am the thermographs'); - }); - }); - - describe('total()', () => { - it('should calculate the total amount of a given property for every row', () => { - controller.entries = [ - {id: 1, freightValue: 1, packageValue: 2, cc: 0.01}, - {id: 2, freightValue: 1, packageValue: 2, cc: 0.01}, - {id: 3, freightValue: 1, packageValue: 2, cc: 0.01} - ]; - - expect(controller.total('freightValue')).toEqual(3); - expect(controller.total('packageValue')).toEqual(6); - expect(controller.total('cc')).toEqual(0.03); - }); - }); -}); diff --git a/modules/travel/front/summary/locale/es.yml b/modules/travel/front/summary/locale/es.yml deleted file mode 100644 index aa6adc938..000000000 --- a/modules/travel/front/summary/locale/es.yml +++ /dev/null @@ -1,18 +0,0 @@ -Reference: Referencia -Warehouse In: Alm. entrada -Warehouse Out: Alm. salida -Shipped: F. envío -Landed: F. entrega -Total entries: Ent. totales -Delivered: Enviada -Received: Recibida -Agency: Agencia -Entries: Entradas -Confirmed: Confirmada -Entry Id: Id entrada -Supplier: Proveedor -Pallet: Pallet -Freight: Porte -Package: Embalaje -Half box: Media caja -Go to the travel: Ir al envío diff --git a/modules/travel/front/summary/style.scss b/modules/travel/front/summary/style.scss deleted file mode 100644 index dd4cfa72d..000000000 --- a/modules/travel/front/summary/style.scss +++ /dev/null @@ -1,6 +0,0 @@ -@import "variables"; - - -vn-travel-summary .summary { - max-width: $width-lg; -} \ No newline at end of file diff --git a/modules/travel/front/thermograph/create/index.html b/modules/travel/front/thermograph/create/index.html deleted file mode 100644 index 41709e1fb..000000000 --- a/modules/travel/front/thermograph/create/index.html +++ /dev/null @@ -1,177 +0,0 @@ - - - - - - - - -
-
- - - - - {{thermographFk}} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/modules/travel/front/thermograph/create/index.js b/modules/travel/front/thermograph/create/index.js deleted file mode 100644 index 9f0678807..000000000 --- a/modules/travel/front/thermograph/create/index.js +++ /dev/null @@ -1,122 +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, $) { - super($element, $); - this.dms = {files: [], state: 'Ok'}; - } - - get travel() { - return this._travel; - } - - set travel(value) { - this._travel = value; - - if (value) { - this.setDefaultParams(); - this.getAllowedContentTypes(); - } - } - - getAllowedContentTypes() { - this.$http.get('DmsContainers/allowedContentTypes').then(res => { - const contentTypes = res.data.join(', '); - this.allowedContentTypes = contentTypes; - }); - } - - get contentTypesInfo() { - return this.$t('ContentTypesInfo', { - allowedContentTypes: this.allowedContentTypes - }); - } - - setDefaultParams() { - const params = {filter: { - where: {code: 'miscellaneous'} - }}; - this.$http.get('DmsTypes/findOne', {params}).then(res => { - const dmsTypeId = res.data && res.data.id; - const companyId = this.vnConfig.companyFk; - const warehouseId = this.vnConfig.warehouseFk; - const defaultParams = { - reference: this.travel.id, - warehouseId: warehouseId, - companyId: companyId, - dmsTypeId: dmsTypeId, - description: this.$t('TravelFileDescription', { - travelId: this.travel.id - }).toUpperCase() - }; - - this.dms = Object.assign(this.dms, defaultParams); - }); - } - - onAddThermographClick(event) { - const defaultTemperature = 'cool'; - const defaultModel = 'DISPOSABLE'; - - event.preventDefault(); - this.newThermograph = { - thermographId: this.thermographId, - warehouseId: this.warehouseId, - temperatureFk: defaultTemperature, - model: defaultModel - }; - - this.$.modelsModel.refresh(); - this.$.newThermographDialog.show(); - } - - onNewThermographAccept() { - const hasMissingField = - !this.newThermograph.thermographId || - !this.newThermograph.warehouseId || - !this.newThermograph.temperatureFk || - !this.newThermograph.model; - - if (hasMissingField) - throw new UserError(`Some fields are invalid`); - - return this.$http.post(`Thermographs/createThermograph`, this.newThermograph) - .then(res => this.dms.thermographId = res.data.id); - } - - onSubmit() { - const query = `Travels/${this.travel.id}/saveThermograph`; - 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 => { - this.vnApp.showSuccess(this.$t('Data saved!')); - this.$.watcher.updateOriginalData(); - this.$state.go('travel.card.thermograph.index'); - }); - } -} - -ngModule.vnComponent('vnTravelThermographCreate', { - template: require('./index.html'), - controller: Controller, - bindings: { - travel: '<' - } -}); diff --git a/modules/travel/front/thermograph/create/index.spec.js b/modules/travel/front/thermograph/create/index.spec.js deleted file mode 100644 index 1ad263d31..000000000 --- a/modules/travel/front/thermograph/create/index.spec.js +++ /dev/null @@ -1,108 +0,0 @@ -import './index'; - -describe('Ticket', () => { - describe('Component vnTravelThermographCreate', () => { - let controller; - let $httpBackend; - let $httpParamSerializer; - const travelId = 3; - const dmsTypeId = 5; - - beforeEach(ngModule('travel')); - - beforeEach(inject(($componentController, _$httpBackend_, _$httpParamSerializer_) => { - $httpBackend = _$httpBackend_; - $httpParamSerializer = _$httpParamSerializer_; - const $element = angular.element(''); - controller = $componentController('vnTravelThermographCreate', {$element}); - controller._travel = { - id: travelId - }; - })); - - describe('travel() setter', () => { - it('should set the travel data and then call setDefaultParams() and getAllowedContentTypes()', () => { - jest.spyOn(controller, 'setDefaultParams'); - jest.spyOn(controller, 'getAllowedContentTypes'); - controller.travel = { - id: travelId - }; - - expect(controller.travel).toBeDefined(); - expect(controller.setDefaultParams).toHaveBeenCalledWith(); - expect(controller.getAllowedContentTypes).toHaveBeenCalledWith(); - }); - }); - - describe('setDefaultParams()', () => { - it('should perform a GET query and define the dms property on controller', () => { - const params = {filter: { - where: {code: 'miscellaneous'} - }}; - let serializedParams = $httpParamSerializer(params); - $httpBackend.expect('GET', `DmsTypes/findOne?${serializedParams}`).respond({id: dmsTypeId, code: 'miscellaneous'}); - controller.setDefaultParams(); - $httpBackend.flush(); - - expect(controller.dms).toBeDefined(); - expect(controller.dms.reference).toEqual(travelId); - expect(controller.dms.dmsTypeId).toEqual(dmsTypeId); - }); - }); - - describe('getAllowedContentTypes()', () => { - it('should make an HTTP GET request to get the allowed content types', () => { - const expectedResponse = ['application/pdf', 'image/png', 'image/jpg']; - $httpBackend.expect('GET', `DmsContainers/allowedContentTypes`).respond(expectedResponse); - controller.getAllowedContentTypes(); - $httpBackend.flush(); - - expect(controller.allowedContentTypes).toBeDefined(); - expect(controller.allowedContentTypes).toEqual('application/pdf, image/png, image/jpg'); - }); - }); - - describe('onAddThermographClick()', () => { - it('should call the show() function of the create thermograph dialog', () => { - controller.$.newThermographDialog = {show: jest.fn()}; - controller.$.modelsModel = {refresh: jest.fn()}; - controller.$.temperaturesModel = {refresh: jest.fn()}; - - const event = new Event('click'); - jest.spyOn(event, 'preventDefault'); - - controller.onAddThermographClick(event); - - expect(event.preventDefault).toHaveBeenCalledTimes(1); - expect(controller.$.newThermographDialog.show).toHaveBeenCalledTimes(1); - }); - }); - - describe('onNewThermographAccept()', () => { - it('should set the created thermograph data on to the controller for the autocomplete to use it', () => { - const id = 'the created id'; - const warehouseId = 1; - const temperatureId = 'cool'; - const model = 'my model'; - - controller.newThermograph = { - thermographId: id, - warehouseId: warehouseId, - temperatureFk: temperatureId, - model: model - }; - const response = { - id: id, - warehouseId: warehouseId, - temperatureFk: temperatureId, - model: model - }; - $httpBackend.when('POST', `Thermographs/createThermograph`).respond(response); - controller.onNewThermographAccept(); - $httpBackend.flush(); - - expect(controller.dms.thermographId).toEqual(response.id); - }); - }); - }); -}); diff --git a/modules/travel/front/thermograph/edit/index.html b/modules/travel/front/thermograph/edit/index.html deleted file mode 100644 index 3fe448b56..000000000 --- a/modules/travel/front/thermograph/edit/index.html +++ /dev/null @@ -1,87 +0,0 @@ - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
diff --git a/modules/travel/front/thermograph/edit/index.js b/modules/travel/front/thermograph/edit/index.js deleted file mode 100644 index 17caf9ef2..000000000 --- a/modules/travel/front/thermograph/edit/index.js +++ /dev/null @@ -1,98 +0,0 @@ -import ngModule from '../../module'; -import Section from 'salix/components/section'; -import './style.scss'; - -class Controller extends Section { - get travel() { - return this._travel; - } - - set travel(value) { - this._travel = value; - - if (value) { - this.setDefaultParams(); - this.getAllowedContentTypes(); - } - } - - getAllowedContentTypes() { - this.$http.get('DmsContainers/allowedContentTypes').then(res => { - const contentTypes = res.data.join(', '); - this.allowedContentTypes = contentTypes; - }); - } - - get contentTypesInfo() { - return this.$t('ContentTypesInfo', { - allowedContentTypes: this.allowedContentTypes - }); - } - - setDefaultParams() { - const filterObj = {include: {relation: 'dms'}}; - const filter = encodeURIComponent(JSON.stringify(filterObj)); - const path = `TravelThermographs/${this.$params.thermographId}?filter=${filter}`; - this.$http.get(path).then(res => { - const thermograph = res.data; - this.thermograph = { - thermographId: thermograph.thermographFk, - state: thermograph.result, - reference: thermograph.dms.reference, - warehouseId: thermograph.dms.warehouseFk, - companyId: thermograph.dms.companyFk, - dmsTypeId: thermograph.dms.dmsTypeFk, - description: thermograph.dms.description, - hasFile: thermograph.dms.hasFile, - hasFileAttached: false, - files: [] - }; - }); - } - - onSubmit() { - const query = `travels/${this.$params.id}/saveThermograph`; - const options = { - method: 'POST', - url: query, - params: this.thermograph, - headers: { - 'Content-Type': undefined - }, - transformRequest: files => { - const formData = new FormData(); - - for (const element of files) - formData.append(element.name, element); - - return formData; - }, - data: this.thermograph.files - }; - this.$http(options).then(res => { - if (res) { - this.vnApp.showSuccess(this.$t('Data saved!')); - this.$.watcher.updateOriginalData(); - this.$state.go('travel.card.thermograph.index'); - } - }); - } - - onFileChange(files) { - let hasFileAttached = false; - if (files.length > 0) - hasFileAttached = true; - - this.$.$applyAsync(() => { - this.thermograph.hasFileAttached = hasFileAttached; - }); - } -} - -ngModule.vnComponent('vnTravelThermographEdit', { - template: require('./index.html'), - controller: Controller, - bindings: { - travel: '<' - } -}); diff --git a/modules/travel/front/thermograph/edit/index.spec.js b/modules/travel/front/thermograph/edit/index.spec.js deleted file mode 100644 index 0b3ef4fbe..000000000 --- a/modules/travel/front/thermograph/edit/index.spec.js +++ /dev/null @@ -1,120 +0,0 @@ -import './index'; -import watcher from 'core/mocks/watcher.js'; - -describe('Worker', () => { - describe('Component vnTravelThermographEdit', () => { - let controller; - let $scope; - let $httpBackend; - let $httpParamSerializer; - - beforeEach(ngModule('travel')); - - beforeEach(inject(($componentController, $rootScope, _$httpBackend_, _$httpParamSerializer_) => { - $scope = $rootScope.$new(); - $httpBackend = _$httpBackend_; - $httpParamSerializer = _$httpParamSerializer_; - const $element = angular.element(` { - it('should set the travel data and then call setDefaultParams() and getAllowedContentTypes()', () => { - jest.spyOn(controller, 'setDefaultParams'); - jest.spyOn(controller, 'getAllowedContentTypes'); - controller._travel = undefined; - controller.travel = { - id: 3 - }; - - expect(controller.setDefaultParams).toHaveBeenCalledWith(); - expect(controller.travel).toBeDefined(); - expect(controller.getAllowedContentTypes).toHaveBeenCalledWith(); - }); - }); - - describe('setDefaultParams()', () => { - it('should perform a GET query and define the dms property on controller', () => { - const thermographId = 6; - const expectedResponse = { - thermographFk: 6, - result: 'Ok', - dms: { - reference: '123456-01', - warehouseFk: 1, - companyFk: 442, - dmsTypeFk: 3, - description: 'Test' - } - }; - - const filterObj = {include: {relation: 'dms'}}; - const filter = encodeURIComponent(JSON.stringify(filterObj)); - const query = `TravelThermographs/${thermographId}?filter=${filter}`; - $httpBackend.expect('GET', query).respond(expectedResponse); - controller.setDefaultParams(); - $httpBackend.flush(); - - expect(controller.thermograph).toBeDefined(); - expect(controller.thermograph.reference).toEqual('123456-01'); - expect(controller.thermograph.dmsTypeId).toEqual(3); - expect(controller.thermograph.state).toEqual('Ok'); - }); - }); - - describe('onFileChange()', () => { - it('should set dms hasFileAttached property to true if has any files', () => { - const files = [{id: 1, name: 'MyFile'}]; - controller.thermograph = {hasFileAttached: false}; - controller.onFileChange(files); - $scope.$apply(); - - expect(controller.thermograph.hasFileAttached).toBeTruthy(); - }); - }); - - describe('getAllowedContentTypes()', () => { - it('should make an HTTP GET request to get the allowed content types', () => { - const expectedResponse = ['image/png', 'image/jpg']; - $httpBackend.expect('GET', `DmsContainers/allowedContentTypes`).respond(expectedResponse); - controller.getAllowedContentTypes(); - $httpBackend.flush(); - - expect(controller.allowedContentTypes).toBeDefined(); - expect(controller.allowedContentTypes).toEqual('image/png, image/jpg'); - }); - }); - - describe('contentTypesInfo()', () => { - it('should return a description with a list of allowed content types', () => { - controller.allowedContentTypes = ['image/png', 'image/jpg']; - const expectedTypes = controller.allowedContentTypes.join(', '); - - const expectedResult = `Allowed content types: ${expectedTypes}`; - jest.spyOn(controller.$translate, 'instant').mockReturnValue(expectedResult); - - const result = controller.contentTypesInfo; - - expect(result).toEqual(expectedResult); - }); - }); - - describe('onSubmit()', () => { - it('should make an HTTP POST request to save the form data', () => { - jest.spyOn(controller.$.watcher, 'updateOriginalData'); - - const files = [{id: 1, name: 'MyFile'}]; - controller.thermograph = {files}; - const serializedParams = $httpParamSerializer(controller.thermograph); - const query = `travels/${controller.$params.id}/saveThermograph?${serializedParams}`; - - $httpBackend.expect('POST', query).respond({}); - controller.onSubmit(); - $httpBackend.flush(); - }); - }); - }); -}); diff --git a/modules/travel/front/thermograph/edit/style.scss b/modules/travel/front/thermograph/edit/style.scss deleted file mode 100644 index 73f136fc1..000000000 --- a/modules/travel/front/thermograph/edit/style.scss +++ /dev/null @@ -1,7 +0,0 @@ -vn-ticket-request { - .vn-textfield { - margin: 0!important; - max-width: 100px; - } -} - diff --git a/modules/travel/front/thermograph/index/index.html b/modules/travel/front/thermograph/index/index.html deleted file mode 100644 index 4d711613d..000000000 --- a/modules/travel/front/thermograph/index/index.html +++ /dev/null @@ -1,70 +0,0 @@ - - - -
- - - - - Code - Temperature - State - Destination - Created - - - - - - {{::thermograph.thermographFk}} - {{::thermograph.temperatureFk}} - {{::thermograph.result}} - {{::thermograph.warehouse.name}} - {{::thermograph.created | date: 'dd/MM/yyyy'}} - - - - - - - - - - - - - - - - -
-
- - - - - - - \ No newline at end of file diff --git a/modules/travel/front/thermograph/index/index.js b/modules/travel/front/thermograph/index/index.js deleted file mode 100644 index f8b239cfe..000000000 --- a/modules/travel/front/thermograph/index/index.js +++ /dev/null @@ -1,51 +0,0 @@ -import ngModule from '../../module'; -import Section from 'salix/components/section'; -import './style.scss'; - -class Controller extends Section { - constructor($element, $, vnFile) { - super($element, $); - this.vnFile = vnFile; - this.filter = { - include: - {relation: 'warehouse', - scope: { - fields: ['id', 'name'] - } - } - }; - } - - showDeleteConfirm(index) { - this.thermographIndex = index; - this.$.confirm.show(); - } - - deleteThermograph() { - const data = this.travelThermographs; - const thermographId = data[this.thermographIndex].id; - const query = `Travels/deleteThermograph?id=${thermographId}`; - this.$http.delete(query).then(() => { - this.vnApp.showSuccess(this.$t('Thermograph deleted')); - this.$.model.remove(this.thermographIndex); - this.thermographIndex = null; - }); - } - - downloadFile(dmsId) { - this.vnFile.download(`api/dms/${dmsId}/downloadFile`); - } -} - -Controller.$inject = ['$element', '$scope', 'vnFile']; - -ngModule.vnComponent('vnTravelThermographIndex', { - template: require('./index.html'), - controller: Controller, - require: { - card: '^vnTravelCard' - }, - bindings: { - travel: '<' - } -}); diff --git a/modules/travel/front/thermograph/index/style.scss b/modules/travel/front/thermograph/index/style.scss deleted file mode 100644 index 2c287ed9d..000000000 --- a/modules/travel/front/thermograph/index/style.scss +++ /dev/null @@ -1,6 +0,0 @@ -@import "variables"; - -vn-route-tickets form{ - margin: 0 auto; - max-width: $width-lg; -} \ No newline at end of file diff --git a/modules/travel/front/thermograph/locale/es.yml b/modules/travel/front/thermograph/locale/es.yml deleted file mode 100644 index 1fdb98c8e..000000000 --- a/modules/travel/front/thermograph/locale/es.yml +++ /dev/null @@ -1,20 +0,0 @@ -Code: Código -Temperature: Temperatura -State: Estado -Destination: Destino -Created: Creado -Remove thermograph: Eliminar termógrafo -Upload file: Subir fichero -Edit file: Editar fichero -Upload: Subir -File: Fichero -TravelFileDescription: Travel id {{travelId}} -ContentTypesInfo: 'Tipos de archivo permitidos: {{allowedContentTypes}}' -Are you sure you want to continue?: ¿Seguro que quieres continuar? -Add thermograph: Añadir termógrafo -Edit thermograph: Editar termógrafo -Thermograph deleted: Termógrafo eliminado -Thermograph: Termógrafo -New thermograph: Nuevo termógrafo -Are you sure you want to remove the thermograph?: ¿Seguro que quieres quitar el termógrafo? -Identifier: Identificador \ No newline at end of file -- 2.40.1