diff --git a/db/changes/10320-monitors/00-ticketGetProblems.sql b/db/changes/10320-monitors/00-ticketGetProblems.sql index 85d6e40182..06d0275b31 100644 --- a/db/changes/10320-monitors/00-ticketGetProblems.sql +++ b/db/changes/10320-monitors/00-ticketGetProblems.sql @@ -120,7 +120,7 @@ BEGIN GROUP BY tl.ticketFk ON DUPLICATE KEY UPDATE isAvailable = 0; -/* + INSERT INTO tmp.ticketProblems(ticketFk, itemShortage) SELECT ticketFk, problem FROM ( @@ -142,10 +142,10 @@ BEGIN AND NOT i.generic AND CURDATE() = vDate AND t.warehouseFk = vWarehouse - GROUP BY tl.ticketFk LIMIT 1) sub + GROUP BY tl.ticketFk) sub ON DUPLICATE KEY UPDATE itemShortage = sub.problem; -*/ + INSERT INTO tmp.ticketProblems(ticketFk, itemDelay) SELECT ticketFk, problem FROM ( @@ -165,7 +165,7 @@ BEGIN AND NOT i.generic AND CURDATE() = vDate AND t.warehouseFk = vWarehouse - GROUP BY tl.ticketFk LIMIT 1) sub + GROUP BY tl.ticketFk) sub ON DUPLICATE KEY UPDATE itemDelay = sub.problem; END WHILE; @@ -182,7 +182,6 @@ BEGIN DROP TEMPORARY TABLE tmp.clientGetDebt, - tmp.ticketList; - + tmp.ticketList; END;;$$ DELIMITER ; diff --git a/db/changes/10330-jun2021/00-invoiceInLog.sql b/db/changes/10330-jun2021/00-invoiceInLog.sql new file mode 100644 index 0000000000..899c6c63f9 --- /dev/null +++ b/db/changes/10330-jun2021/00-invoiceInLog.sql @@ -0,0 +1,18 @@ +CREATE TABLE `vn`.`invoiceInLog` ( + `id` int(11) unsigned NOT NULL AUTO_INCREMENT, + `originFk` MEDIUMINT UNSIGNED NOT NULL, + `userFk` int(10) unsigned DEFAULT NULL, + `action` set('insert','update','delete') COLLATE utf8_unicode_ci NOT NULL, + `creationDate` timestamp NULL DEFAULT current_timestamp(), + `description` text CHARACTER SET utf8 DEFAULT NULL, + `changedModel` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + `oldInstance` text COLLATE utf8_unicode_ci DEFAULT NULL, + `newInstance` text COLLATE utf8_unicode_ci DEFAULT NULL, + `changedModelId` int(11) DEFAULT NULL, + `changedModelValue` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `originFk` (`originFk`), + KEY `userFk` (`userFk`), + CONSTRAINT `invoiceInLog_ibfk_1` FOREIGN KEY (`originFk`) REFERENCES `vn`.`invoiceIn` (`id`) ON DELETE CASCADE ON UPDATE CASCADE, + CONSTRAINT `invoiceInLog_ibfk_2` FOREIGN KEY (`userFk`) REFERENCES `account`.`user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; \ No newline at end of file diff --git a/e2e/helpers/selectors.js b/e2e/helpers/selectors.js index 7b50935cc7..5060a8921c 100644 --- a/e2e/helpers/selectors.js +++ b/e2e/helpers/selectors.js @@ -151,6 +151,7 @@ export default { mobile: 'vn-client-basic-data vn-textfield[ng-model="$ctrl.client.mobile"]', salesPerson: 'vn-client-basic-data vn-autocomplete[ng-model="$ctrl.client.salesPersonFk"]', channel: 'vn-client-basic-data vn-autocomplete[ng-model="$ctrl.client.contactChannelFk"]', + transferor: 'vn-client-basic-data vn-autocomplete[ng-model="$ctrl.client.transferorFk"]', saveButton: 'vn-client-basic-data button[type=submit]' }, clientFiscalData: { @@ -162,7 +163,6 @@ export default { postcode: 'vn-client-fiscal-data vn-datalist[ng-model="$ctrl.client.postcode"]', sageTax: 'vn-client-fiscal-data vn-autocomplete[ng-model="$ctrl.client.sageTaxTypeFk"]', sageTransaction: 'vn-client-fiscal-data vn-autocomplete[ng-model="$ctrl.client.sageTransactionTypeFk"]', - transferor: 'vn-client-fiscal-data vn-autocomplete[ng-model="$ctrl.client.transferorFk"]', city: 'vn-client-fiscal-data vn-datalist[ng-model="$ctrl.client.city"]', province: 'vn-client-fiscal-data vn-autocomplete[ng-model="$ctrl.client.provinceFk"]', country: 'vn-client-fiscal-data vn-autocomplete[ng-model="$ctrl.client.countryFk"]', diff --git a/e2e/paths/02-client/02_edit_basic_data.spec.js b/e2e/paths/02-client/02_edit_basic_data.spec.js index d770e7523f..f35483edfc 100644 --- a/e2e/paths/02-client/02_edit_basic_data.spec.js +++ b/e2e/paths/02-client/02_edit_basic_data.spec.js @@ -34,6 +34,7 @@ describe('Client Edit basicData path', () => { await page.clearInput(selectors.clientBasicData.email); await page.write(selectors.clientBasicData.email, 'PWallace@verdnatura.es'); await page.autocompleteSearch(selectors.clientBasicData.channel, 'Rumors on the streets'); + await page.autocompleteSearch(selectors.clientBasicData.transferor, 'Max Eisenhardt'); await page.waitToClick(selectors.clientBasicData.saveButton); const message = await page.waitForSnackbar(); @@ -67,6 +68,13 @@ describe('Client Edit basicData path', () => { expect(result).toEqual('Rumors on the streets'); }); + + it('should confirm the previous client have been selected', async() => { + const result = await page + .waitToGetProperty(selectors.clientBasicData.transferor, 'value'); + + expect(result).toEqual('Max Eisenhardt'); + }); }); describe('as salesAssistant', () => { diff --git a/e2e/paths/02-client/03_edit_fiscal_data.spec.js b/e2e/paths/02-client/03_edit_fiscal_data.spec.js index d57cd968e3..ab0a61ddc9 100644 --- a/e2e/paths/02-client/03_edit_fiscal_data.spec.js +++ b/e2e/paths/02-client/03_edit_fiscal_data.spec.js @@ -68,7 +68,6 @@ describe('Client Edit fiscalData path', () => { await page.write(selectors.clientFiscalData.city, 'Valencia'); await page.autocompleteSearch(selectors.clientFiscalData.sageTax, 'operaciones no sujetas'); await page.autocompleteSearch(selectors.clientFiscalData.sageTransaction, 'regularización de inversiones'); - await page.autocompleteSearch(selectors.clientFiscalData.transferor, 'Max Eisenhardt'); await page.clearInput(selectors.clientFiscalData.postcode); await page.write(selectors.clientFiscalData.postcode, '46000'); await page.waitToClick(selectors.clientFiscalData.activeCheckbox); @@ -202,12 +201,6 @@ describe('Client Edit fiscalData path', () => { expect(result).toEqual('36: Regularización de inversiones'); }); - it('should confirm the transferor have been edited', async() => { - const result = await page.waitToGetProperty(selectors.clientFiscalData.transferor, 'value'); - - expect(result).toEqual('Max Eisenhardt'); - }); - it('should confirm the city have been autocompleted', async() => { const result = await page.waitToGetProperty(selectors.clientFiscalData.city, 'value'); diff --git a/modules/client/front/basic-data/index.html b/modules/client/front/basic-data/index.html index e4debac16e..4a705c3842 100644 --- a/modules/client/front/basic-data/index.html +++ b/modules/client/front/basic-data/index.html @@ -69,6 +69,19 @@ label="Channel"> + + + + {{id}}: {{transaction}} - - \ No newline at end of file diff --git a/modules/invoiceIn/front/log/index.js b/modules/invoiceIn/front/log/index.js new file mode 100644 index 0000000000..7a018de0fe --- /dev/null +++ b/modules/invoiceIn/front/log/index.js @@ -0,0 +1,7 @@ +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/routes.json b/modules/invoiceIn/front/routes.json index 05eff347b2..5f842f760c 100644 --- a/modules/invoiceIn/front/routes.json +++ b/modules/invoiceIn/front/routes.json @@ -12,6 +12,10 @@ { "state": "invoiceIn.card.basicData", "icon": "settings" + }, + { + "state": "invoiceIn.card.log", + "icon": "history" } ] }, @@ -53,7 +57,15 @@ "description": "Basic data", "params": { "invoice-in": "$ctrl.invoiceIn" - } + }, + "acl": ["administrative"] + }, + { + "url": "/log", + "state": "invoiceIn.card.log", + "component": "vn-invoice-in-log", + "description": "Log", + "acl": ["administrative"] } ] } \ No newline at end of file diff --git a/modules/monitor/back/methods/sales-monitor/salesFilter.js b/modules/monitor/back/methods/sales-monitor/salesFilter.js index ecbdc48958..b84dff8a07 100644 --- a/modules/monitor/back/methods/sales-monitor/salesFilter.js +++ b/modules/monitor/back/methods/sales-monitor/salesFilter.js @@ -304,7 +304,6 @@ module.exports = Self => { stmts.push( `DROP TEMPORARY TABLE tmp.filter, - tmp.ticket, tmp.ticket_problems`); let sql = ParameterizedSQL.join(stmts, ';'); diff --git a/modules/monitor/front/index/tickets/index.html b/modules/monitor/front/index/tickets/index.html index dffc1ee8d0..6a9f15e82f 100644 --- a/modules/monitor/front/index/tickets/index.html +++ b/modules/monitor/front/index/tickets/index.html @@ -38,7 +38,7 @@ Salesperson Date Hour - Closure + Closure Province State Zone diff --git a/modules/ticket/back/methods/ticket/filter.js b/modules/ticket/back/methods/ticket/filter.js index 6826f55ecc..5d7c014f75 100644 --- a/modules/ticket/back/methods/ticket/filter.js +++ b/modules/ticket/back/methods/ticket/filter.js @@ -304,7 +304,6 @@ module.exports = Self => { stmts.push( `DROP TEMPORARY TABLE tmp.filter, - tmp.ticket, tmp.ticket_problems`); let sql = ParameterizedSQL.join(stmts, ';'); diff --git a/modules/ticket/front/index/index.html b/modules/ticket/front/index/index.html index b86aaba9d4..4865c8c62d 100644 --- a/modules/ticket/front/index/index.html +++ b/modules/ticket/front/index/index.html @@ -18,7 +18,7 @@ Salesperson Date Hour - Closure + Closure Alias Province State