From 734f9cb60d7a9bb75f991e0686f3d1ee2057fb8a Mon Sep 17 00:00:00 2001 From: vicent Date: Wed, 11 May 2022 07:28:17 +0200 Subject: [PATCH 1/7] feat(item.itemType): added section itemType --- modules/account/front/role/index/index.js | 1 + modules/account/front/role/summary/index.js | 1 + modules/item/back/models/item-type.json | 7 ++- modules/item/front/index.js | 2 +- .../front/item-type/basic-data/index.html | 38 +++++++++++++++ .../item/front/item-type/basic-data/index.js | 12 +++++ modules/item/front/item-type/card/index.html | 5 ++ modules/item/front/item-type/card/index.js | 17 +++++++ .../item/front/item-type/card/index.spec.js | 25 ++++++++++ .../item/front/item-type/create/index.html | 38 +++++++++++++++ modules/item/front/item-type/create/index.js | 15 ++++++ .../front/item-type/descriptor/index.html | 27 +++++++++++ .../item/front/item-type/descriptor/index.js | 30 ++++++++++++ .../front/item-type/descriptor/index.spec.js | 29 ++++++++++++ .../front/item-type/descriptor/locale/es.yml | 2 + modules/item/front/item-type/index.js | 8 ++++ modules/item/front/item-type/index/index.html | 46 +++++++++++++++++++ modules/item/front/item-type/index/index.js | 15 ++++++ .../item/front/item-type/index/locale/es.yml | 1 + modules/item/front/item-type/main/index.html | 18 ++++++++ modules/item/front/item-type/main/index.js | 24 ++++++++++ .../front/item-type/search-panel/index.html | 21 +++++++++ .../front/item-type/search-panel/index.js | 7 +++ .../item/front/item-type/summary/index.html | 20 ++++++++ modules/item/front/item-type/summary/index.js | 26 +++++++++++ modules/item/front/routes.json | 44 +++++++++++++++++- 26 files changed, 475 insertions(+), 4 deletions(-) create mode 100644 modules/item/front/item-type/basic-data/index.html create mode 100644 modules/item/front/item-type/basic-data/index.js create mode 100644 modules/item/front/item-type/card/index.html create mode 100644 modules/item/front/item-type/card/index.js create mode 100644 modules/item/front/item-type/card/index.spec.js create mode 100644 modules/item/front/item-type/create/index.html create mode 100644 modules/item/front/item-type/create/index.js create mode 100644 modules/item/front/item-type/descriptor/index.html create mode 100644 modules/item/front/item-type/descriptor/index.js create mode 100644 modules/item/front/item-type/descriptor/index.spec.js create mode 100644 modules/item/front/item-type/descriptor/locale/es.yml create mode 100644 modules/item/front/item-type/index.js create mode 100644 modules/item/front/item-type/index/index.html create mode 100644 modules/item/front/item-type/index/index.js create mode 100644 modules/item/front/item-type/index/locale/es.yml create mode 100644 modules/item/front/item-type/main/index.html create mode 100644 modules/item/front/item-type/main/index.js create mode 100644 modules/item/front/item-type/search-panel/index.html create mode 100644 modules/item/front/item-type/search-panel/index.js create mode 100644 modules/item/front/item-type/summary/index.html create mode 100644 modules/item/front/item-type/summary/index.js diff --git a/modules/account/front/role/index/index.js b/modules/account/front/role/index/index.js index 40773b23b..49b9be53b 100644 --- a/modules/account/front/role/index/index.js +++ b/modules/account/front/role/index/index.js @@ -4,6 +4,7 @@ import Section from 'salix/components/section'; export default class Controller extends Section { preview(role) { this.selectedRole = role; + console.log(this.selectedRole); this.$.summary.show(); } } diff --git a/modules/account/front/role/summary/index.js b/modules/account/front/role/summary/index.js index 0a08fe8b2..eb528a894 100644 --- a/modules/account/front/role/summary/index.js +++ b/modules/account/front/role/summary/index.js @@ -6,6 +6,7 @@ class Controller extends Component { this._role = value; this.$.summary = null; if (!value) return; + console.log(value); this.$http.get(`Roles/${value.id}`) .then(res => this.$.summary = res.data); diff --git a/modules/item/back/models/item-type.json b/modules/item/back/models/item-type.json index cb9d5ace8..b7a8ced2f 100644 --- a/modules/item/back/models/item-type.json +++ b/modules/item/back/models/item-type.json @@ -18,10 +18,13 @@ "name": { "type": "string" }, - "life": { + "workerFk": { "type": "number" }, - "isPackaging": { + "categoryFk": { + "type": "boolean" + }, + "temperatureFk": { "type": "boolean" } }, diff --git a/modules/item/front/index.js b/modules/item/front/index.js index c328b1c8d..6a8d1b3b7 100644 --- a/modules/item/front/index.js +++ b/modules/item/front/index.js @@ -23,4 +23,4 @@ import './waste/index/'; import './waste/detail'; import './fixed-price'; import './fixed-price-search-panel'; - +import './item-type'; diff --git a/modules/item/front/item-type/basic-data/index.html b/modules/item/front/item-type/basic-data/index.html new file mode 100644 index 000000000..f2888fcdf --- /dev/null +++ b/modules/item/front/item-type/basic-data/index.html @@ -0,0 +1,38 @@ + + +
+ + + + + + + + + + + + + + +
\ No newline at end of file diff --git a/modules/item/front/item-type/basic-data/index.js b/modules/item/front/item-type/basic-data/index.js new file mode 100644 index 000000000..fdb0305d6 --- /dev/null +++ b/modules/item/front/item-type/basic-data/index.js @@ -0,0 +1,12 @@ +import ngModule from '../../module'; +import Section from 'salix/components/section'; + +export default class Controller extends Section {} + +ngModule.component('vnItemTypeBasicData', { + template: require('./index.html'), + controller: Controller, + bindings: { + role: '<' + } +}); diff --git a/modules/item/front/item-type/card/index.html b/modules/item/front/item-type/card/index.html new file mode 100644 index 000000000..5ed275c6a --- /dev/null +++ b/modules/item/front/item-type/card/index.html @@ -0,0 +1,5 @@ + + + + + diff --git a/modules/item/front/item-type/card/index.js b/modules/item/front/item-type/card/index.js new file mode 100644 index 000000000..090279c5b --- /dev/null +++ b/modules/item/front/item-type/card/index.js @@ -0,0 +1,17 @@ +import ngModule from '../../module'; +import ModuleCard from 'salix/components/module-card'; + +class Controller extends ModuleCard { + reload() { + this.$http.get(`ItemTypes/${this.$params.id}`) + .then(res => { + this.itemType = res.data; + console.log(this.itemType); + }); + } +} + +ngModule.vnComponent('vnItemTypeCard', { + template: require('./index.html'), + controller: Controller +}); diff --git a/modules/item/front/item-type/card/index.spec.js b/modules/item/front/item-type/card/index.spec.js new file mode 100644 index 000000000..f39840e5f --- /dev/null +++ b/modules/item/front/item-type/card/index.spec.js @@ -0,0 +1,25 @@ +import './index'; + +describe('component vnRoleCard', () => { + let controller; + let $httpBackend; + + beforeEach(ngModule('account')); + + beforeEach(inject(($componentController, _$httpBackend_) => { + $httpBackend = _$httpBackend_; + controller = $componentController('vnRoleCard', {$element: null}); + })); + + describe('reload()', () => { + it('should reload the controller data', () => { + controller.$params.id = 1; + + $httpBackend.expectGET('Roles/1').respond('foo'); + controller.reload(); + $httpBackend.flush(); + + expect(controller.role).toBe('foo'); + }); + }); +}); diff --git a/modules/item/front/item-type/create/index.html b/modules/item/front/item-type/create/index.html new file mode 100644 index 000000000..02900d580 --- /dev/null +++ b/modules/item/front/item-type/create/index.html @@ -0,0 +1,38 @@ + + +
+ + + + + + + + + + + + + + +
diff --git a/modules/item/front/item-type/create/index.js b/modules/item/front/item-type/create/index.js new file mode 100644 index 000000000..1474ad5e5 --- /dev/null +++ b/modules/item/front/item-type/create/index.js @@ -0,0 +1,15 @@ +import ngModule from '../../module'; +import Section from 'salix/components/section'; + +export default class Controller extends Section { + onSubmit() { + return this.$.watcher.submit().then(res => + this.$state.go('account.role.card.basicData', {id: res.data.id}) + ); + } +} + +ngModule.component('vnItemTypeCreate', { + template: require('./index.html'), + controller: Controller +}); diff --git a/modules/item/front/item-type/descriptor/index.html b/modules/item/front/item-type/descriptor/index.html new file mode 100644 index 000000000..e4b8a6bbf --- /dev/null +++ b/modules/item/front/item-type/descriptor/index.html @@ -0,0 +1,27 @@ + + + + Delete + + + +
+ + +
+
+
+ + \ No newline at end of file diff --git a/modules/item/front/item-type/descriptor/index.js b/modules/item/front/item-type/descriptor/index.js new file mode 100644 index 000000000..83c9a1da2 --- /dev/null +++ b/modules/item/front/item-type/descriptor/index.js @@ -0,0 +1,30 @@ +import ngModule from '../../module'; +import Descriptor from 'salix/components/descriptor'; + +class Controller extends Descriptor { + $onInit() { + console.log(this.itemType, this.entity); + } + + get itemType() { + return this.entity; + } + + set itemType(value) { + this.entity = value; + } + + onDelete() { + return this.$http.delete(`ItemTypes/${this.id}`) + .then(() => this.$state.go('item.itemType')) + .then(() => this.vnApp.showSuccess(this.$t('ItemType removed'))); + } +} + +ngModule.component('vnItemTypeDescriptor', { + template: require('./index.html'), + controller: Controller, + bindings: { + itemType: '<' + } +}); diff --git a/modules/item/front/item-type/descriptor/index.spec.js b/modules/item/front/item-type/descriptor/index.spec.js new file mode 100644 index 000000000..e2761c639 --- /dev/null +++ b/modules/item/front/item-type/descriptor/index.spec.js @@ -0,0 +1,29 @@ +import './index'; + +describe('component vnRoleDescriptor', () => { + let controller; + let $httpBackend; + + let role = {id: 1, name: 'foo'}; + + beforeEach(ngModule('account')); + + beforeEach(inject(($componentController, _$httpBackend_) => { + $httpBackend = _$httpBackend_; + controller = $componentController('vnRoleDescriptor', {$element: null}, {role}); + })); + + describe('onDelete()', () => { + it('should delete entity and go to index', () => { + controller.$state.go = jest.fn(); + jest.spyOn(controller.vnApp, 'showSuccess'); + + $httpBackend.expectDELETE('Roles/1').respond(); + controller.onDelete(); + $httpBackend.flush(); + + expect(controller.$state.go).toHaveBeenCalledWith('account.role'); + expect(controller.vnApp.showSuccess).toHaveBeenCalled(); + }); + }); +}); diff --git a/modules/item/front/item-type/descriptor/locale/es.yml b/modules/item/front/item-type/descriptor/locale/es.yml new file mode 100644 index 000000000..1ca512e4f --- /dev/null +++ b/modules/item/front/item-type/descriptor/locale/es.yml @@ -0,0 +1,2 @@ +Role will be removed: El rol va a ser eliminado +Role removed: Rol eliminado \ No newline at end of file diff --git a/modules/item/front/item-type/index.js b/modules/item/front/item-type/index.js new file mode 100644 index 000000000..c8282e196 --- /dev/null +++ b/modules/item/front/item-type/index.js @@ -0,0 +1,8 @@ +import './main'; +import './index/'; +import './summary'; +import './card'; +import './descriptor'; +import './search-panel'; +import './create'; +import './basic-data'; diff --git a/modules/item/front/item-type/index/index.html b/modules/item/front/item-type/index/index.html new file mode 100644 index 000000000..459b5d71c --- /dev/null +++ b/modules/item/front/item-type/index/index.html @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/modules/item/front/item-type/index/index.js b/modules/item/front/item-type/index/index.js new file mode 100644 index 000000000..5530e5cf3 --- /dev/null +++ b/modules/item/front/item-type/index/index.js @@ -0,0 +1,15 @@ +import ngModule from '../../module'; +import Section from 'salix/components/section'; + +export default class Controller extends Section { + preview(itemType) { + this.selectedItemType = itemType; + console.log(this.selectedItemType); + this.$.summary.show(); + } +} + +ngModule.component('vnItemTypeIndex', { + template: require('./index.html'), + controller: Controller +}); diff --git a/modules/item/front/item-type/index/locale/es.yml b/modules/item/front/item-type/index/locale/es.yml new file mode 100644 index 000000000..3a36f7c96 --- /dev/null +++ b/modules/item/front/item-type/index/locale/es.yml @@ -0,0 +1 @@ +Item Type: Familia \ No newline at end of file diff --git a/modules/item/front/item-type/main/index.html b/modules/item/front/item-type/main/index.html new file mode 100644 index 000000000..faba696c0 --- /dev/null +++ b/modules/item/front/item-type/main/index.html @@ -0,0 +1,18 @@ + + + + + + + + + \ No newline at end of file diff --git a/modules/item/front/item-type/main/index.js b/modules/item/front/item-type/main/index.js new file mode 100644 index 000000000..0dea00abb --- /dev/null +++ b/modules/item/front/item-type/main/index.js @@ -0,0 +1,24 @@ +import ngModule from '../../module'; +import ModuleMain from 'salix/components/module-main'; + +export default class ItemType extends ModuleMain { + exprBuilder(param, value) { + switch (param) { + case 'search': + return /^\d+$/.test(value) + ? {id: value} + : {or: [ + {name: {like: `%${value}%`}}, + {code: {like: `%${value}%`}} + ]}; + case 'name': + case 'code': + return {[param]: {like: `%${value}%`}}; + } + } +} + +ngModule.vnComponent('vnItemType', { + controller: ItemType, + template: require('./index.html') +}); diff --git a/modules/item/front/item-type/search-panel/index.html b/modules/item/front/item-type/search-panel/index.html new file mode 100644 index 000000000..ce2919910 --- /dev/null +++ b/modules/item/front/item-type/search-panel/index.html @@ -0,0 +1,21 @@ +
+
+ + + + + + + + + + + +
+
\ No newline at end of file diff --git a/modules/item/front/item-type/search-panel/index.js b/modules/item/front/item-type/search-panel/index.js new file mode 100644 index 000000000..3a6ed4f86 --- /dev/null +++ b/modules/item/front/item-type/search-panel/index.js @@ -0,0 +1,7 @@ +import ngModule from '../../module'; +import SearchPanel from 'core/components/searchbar/search-panel'; + +ngModule.component('vnItemTypePanel', { + template: require('./index.html'), + controller: SearchPanel +}); diff --git a/modules/item/front/item-type/summary/index.html b/modules/item/front/item-type/summary/index.html new file mode 100644 index 000000000..f7971190c --- /dev/null +++ b/modules/item/front/item-type/summary/index.html @@ -0,0 +1,20 @@ + +
{{summary.name}}
+ + +

Basic data

+ + + + + + +
+
+
\ No newline at end of file diff --git a/modules/item/front/item-type/summary/index.js b/modules/item/front/item-type/summary/index.js new file mode 100644 index 000000000..1048fa88d --- /dev/null +++ b/modules/item/front/item-type/summary/index.js @@ -0,0 +1,26 @@ +import ngModule from '../../module'; +import Component from 'core/lib/component'; + +class Controller extends Component { + set itemType(value) { + this._itemType = value; + this.$.summary = null; + if (!value) return; + console.log(value); + + this.$http.get(`ItemTypes/${value.id}`) + .then(res => console.log(res.data)); + } + + get itemType() { + return this._itemType; + } +} + +ngModule.component('vnItemTypeSummary', { + template: require('./index.html'), + controller: Controller, + bindings: { + itemType: '<' + } +}); diff --git a/modules/item/front/routes.json b/modules/item/front/routes.json index 9e21e1697..400399c38 100644 --- a/modules/item/front/routes.json +++ b/modules/item/front/routes.json @@ -9,7 +9,8 @@ {"state": "item.index", "icon": "icon-item"}, {"state": "item.request", "icon": "icon-buyrequest"}, {"state": "item.waste.index", "icon": "icon-claims"}, - {"state": "item.fixedPrice", "icon": "icon-fixedPrice"} + {"state": "item.fixedPrice", "icon": "icon-fixedPrice"}, + {"state": "item.itemType", "icon": "contact_support"} ], "card": [ {"state": "item.card.basicData", "icon": "settings"}, @@ -169,6 +170,47 @@ "component": "vn-fixed-price", "description": "Fixed prices", "acl": ["buyer"] + }, + { + "url" : "/item-type?q", + "state": "item.itemType", + "component": "vn-item-type", + "description": "Item Type", + "acl": ["buyer"] + }, + { + "url": "/create", + "state": "item.itemType.create", + "component": "vn-item-type-create", + "description": "New itemType", + "acl": ["buyer"] + }, + { + "url": "/:id", + "state": "item.itemType.card", + "component": "vn-item-type-card", + "abstract": true, + "description": "Detail" + }, + { + "url": "/summary", + "state": "item.itemType.card.summary", + "component": "vn-item-type-summary", + "description": "Summary", + "params": { + "itemType": "$ctrl.itemType" + }, + "acl": ["buyer"] + }, + { + "url": "/basic-data", + "state": "item.itemType.card.basicData", + "component": "vn-item-type-basic-data", + "description": "Basic data", + "params": { + "itemType": "$ctrl.itemType" + }, + "acl": ["buyer"] } ] } \ No newline at end of file From 13a6f1f8c1e17b6bba6f5f8bed3172a229f01fda Mon Sep 17 00:00:00 2001 From: vicent Date: Wed, 11 May 2022 14:47:54 +0200 Subject: [PATCH 2/7] feat(item): add section itemType --- db/changes/10460-motherDay/00-aclItemType.sql | 3 ++ db/dump/fixtures.sql | 24 ++++++------ modules/account/front/role/summary/index.js | 2 - modules/item/back/models/item-type.json | 4 +- .../front/item-type/basic-data/index.html | 34 ++++++++++++++--- .../item/front/item-type/basic-data/index.js | 2 +- modules/item/front/item-type/card/index.html | 2 +- modules/item/front/item-type/card/index.js | 5 +-- .../item/front/item-type/card/index.spec.js | 10 ++--- .../item/front/item-type/create/index.html | 38 +++++++++++++++---- modules/item/front/item-type/create/index.js | 2 +- .../front/item-type/descriptor/index.html | 6 ++- .../item/front/item-type/descriptor/index.js | 4 -- .../front/item-type/descriptor/index.spec.js | 12 +++--- modules/item/front/item-type/index.js | 1 - modules/item/front/item-type/index/index.html | 9 ++--- modules/item/front/item-type/index/index.js | 1 - .../item/front/item-type/index/locale/es.yml | 3 +- .../front/item-type/search-panel/index.html | 21 ---------- .../front/item-type/search-panel/index.js | 7 ---- .../item/front/item-type/summary/index.html | 20 ++++++++-- modules/item/front/item-type/summary/index.js | 11 ++++-- modules/item/front/routes.json | 7 +++- 23 files changed, 132 insertions(+), 96 deletions(-) create mode 100644 db/changes/10460-motherDay/00-aclItemType.sql delete mode 100644 modules/item/front/item-type/search-panel/index.html delete mode 100644 modules/item/front/item-type/search-panel/index.js diff --git a/db/changes/10460-motherDay/00-aclItemType.sql b/db/changes/10460-motherDay/00-aclItemType.sql new file mode 100644 index 000000000..86fae1b1f --- /dev/null +++ b/db/changes/10460-motherDay/00-aclItemType.sql @@ -0,0 +1,3 @@ +INSERT INTO salix.ACL +(model, property, accessType, permission, principalType, principalId) +VALUES('ItemType', '*', '*', 'ALLOW', 'ROLE', 'employee'); \ No newline at end of file diff --git a/db/dump/fixtures.sql b/db/dump/fixtures.sql index e03027b36..1d794c359 100644 --- a/db/dump/fixtures.sql +++ b/db/dump/fixtures.sql @@ -773,14 +773,19 @@ INSERT INTO `vn`.`itemCategory`(`id`, `name`, `display`, `color`, `icon`, `code` (7, 'Accessories', 1, NULL, 'icon-accessory', 'accessory'), (8, 'Fruit', 1, NULL, 'icon-fruit', 'fruit'); -INSERT INTO `vn`.`itemType`(`id`, `code`, `name`, `categoryFk`, `warehouseFk`, `life`,`workerFk`, `isPackaging`) +INSERT INTO `vn`.`temperature`(`code`, `name`, `description`) VALUES - (1, 'CRI', 'Crisantemo', 2, 1, 31, 35, 0), - (2, 'ITG', 'Anthurium', 1, 1, 31, 35, 0), - (3, 'WPN', 'Paniculata', 2, 1, 31, 35, 0), - (4, 'PRT', 'Delivery ports', 3, 1, NULL, 35, 1), - (5, 'CON', 'Container', 3, 1, NULL, 35, 1), - (6, 'ALS', 'Alstroemeria', 1, 1, 31, 16, 0); + ('warm', 'Warm', 'Warm'), + ('cool', 'Cool', 'Cool'); + +INSERT INTO `vn`.`itemType`(`id`, `code`, `name`, `categoryFk`, `warehouseFk`, `life`,`workerFk`, `isPackaging`, `temperatureFk`) + VALUES + (1, 'CRI', 'Crisantemo', 2, 1, 31, 35, 0, 'cool'), + (2, 'ITG', 'Anthurium', 1, 1, 31, 35, 0, 'cool'), + (3, 'WPN', 'Paniculata', 2, 1, 31, 35, 0, 'cool'), + (4, 'PRT', 'Delivery ports', 3, 1, NULL, 35, 1, 'warm'), + (5, 'CON', 'Container', 3, 1, NULL, 35, 1, 'warm'), + (6, 'ALS', 'Alstroemeria', 1, 1, 31, 16, 0, 'warm'); INSERT INTO `vn`.`ink`(`id`, `name`, `picture`, `showOrder`, `hex`) VALUES @@ -2309,11 +2314,6 @@ INSERT INTO `vn`.`workerTimeControlParams` (`id`, `dayBreak`, `weekBreak`, `week (1, 43200, 129600, 734400, 43200, 50400, 259200, 1296000, 36000); INSERT IGNORE INTO `vn`.`greugeConfig` (`id`, `freightPickUpPrice`) VALUES ('1', '11'); - -INSERT INTO `vn`.`temperature`(`code`, `name`, `description`) - VALUES - ('warm', 'Warm', 'Warm'), - ('cool', 'Cool', 'Cool'); INSERT INTO `vn`.`thermograph`(`id`, `model`) VALUES diff --git a/modules/account/front/role/summary/index.js b/modules/account/front/role/summary/index.js index eb528a894..4f321fa98 100644 --- a/modules/account/front/role/summary/index.js +++ b/modules/account/front/role/summary/index.js @@ -6,8 +6,6 @@ class Controller extends Component { this._role = value; this.$.summary = null; if (!value) return; - console.log(value); - this.$http.get(`Roles/${value.id}`) .then(res => this.$.summary = res.data); } diff --git a/modules/item/back/models/item-type.json b/modules/item/back/models/item-type.json index b7a8ced2f..c7a90aea9 100644 --- a/modules/item/back/models/item-type.json +++ b/modules/item/back/models/item-type.json @@ -22,10 +22,10 @@ "type": "number" }, "categoryFk": { - "type": "boolean" + "type": "number" }, "temperatureFk": { - "type": "boolean" + "type": "string" } }, "relations": { diff --git a/modules/item/front/item-type/basic-data/index.html b/modules/item/front/item-type/basic-data/index.html index f2888fcdf..1417a05ab 100644 --- a/modules/item/front/item-type/basic-data/index.html +++ b/modules/item/front/item-type/basic-data/index.html @@ -1,7 +1,7 @@
+ + + + + + diff --git a/modules/item/front/item-type/basic-data/index.js b/modules/item/front/item-type/basic-data/index.js index fdb0305d6..ec280fdf8 100644 --- a/modules/item/front/item-type/basic-data/index.js +++ b/modules/item/front/item-type/basic-data/index.js @@ -7,6 +7,6 @@ ngModule.component('vnItemTypeBasicData', { template: require('./index.html'), controller: Controller, bindings: { - role: '<' + itemType: '<' } }); diff --git a/modules/item/front/item-type/card/index.html b/modules/item/front/item-type/card/index.html index 5ed275c6a..80af6088e 100644 --- a/modules/item/front/item-type/card/index.html +++ b/modules/item/front/item-type/card/index.html @@ -1,5 +1,5 @@ - + diff --git a/modules/item/front/item-type/card/index.js b/modules/item/front/item-type/card/index.js index 090279c5b..b610f7566 100644 --- a/modules/item/front/item-type/card/index.js +++ b/modules/item/front/item-type/card/index.js @@ -4,10 +4,7 @@ import ModuleCard from 'salix/components/module-card'; class Controller extends ModuleCard { reload() { this.$http.get(`ItemTypes/${this.$params.id}`) - .then(res => { - this.itemType = res.data; - console.log(this.itemType); - }); + .then(res => this.itemType = res.data); } } diff --git a/modules/item/front/item-type/card/index.spec.js b/modules/item/front/item-type/card/index.spec.js index f39840e5f..179f65274 100644 --- a/modules/item/front/item-type/card/index.spec.js +++ b/modules/item/front/item-type/card/index.spec.js @@ -1,25 +1,25 @@ import './index'; -describe('component vnRoleCard', () => { +describe('component vnItemTypeCard', () => { let controller; let $httpBackend; - beforeEach(ngModule('account')); + beforeEach(ngModule('item')); beforeEach(inject(($componentController, _$httpBackend_) => { $httpBackend = _$httpBackend_; - controller = $componentController('vnRoleCard', {$element: null}); + controller = $componentController('vnItemTypeCard', {$element: null}); })); describe('reload()', () => { it('should reload the controller data', () => { controller.$params.id = 1; - $httpBackend.expectGET('Roles/1').respond('foo'); + $httpBackend.expectGET('ItemTypes/1').respond('foo'); controller.reload(); $httpBackend.flush(); - expect(controller.role).toBe('foo'); + expect(controller.itemType).toBe('foo'); }); }); }); diff --git a/modules/item/front/item-type/create/index.html b/modules/item/front/item-type/create/index.html index 02900d580..44cb5183d 100644 --- a/modules/item/front/item-type/create/index.html +++ b/modules/item/front/item-type/create/index.html @@ -1,7 +1,7 @@ @@ -12,16 +12,40 @@ + + + + + + @@ -32,7 +56,7 @@ + ui-sref="item.itemType"> diff --git a/modules/item/front/item-type/create/index.js b/modules/item/front/item-type/create/index.js index 1474ad5e5..ccf7744be 100644 --- a/modules/item/front/item-type/create/index.js +++ b/modules/item/front/item-type/create/index.js @@ -4,7 +4,7 @@ import Section from 'salix/components/section'; export default class Controller extends Section { onSubmit() { return this.$.watcher.submit().then(res => - this.$state.go('account.role.card.basicData', {id: res.data.id}) + this.$state.go('item.itemType.card.basicData', {id: res.data.id}) ); } } diff --git a/modules/item/front/item-type/descriptor/index.html b/modules/item/front/item-type/descriptor/index.html index e4b8a6bbf..63bbf8726 100644 --- a/modules/item/front/item-type/descriptor/index.html +++ b/modules/item/front/item-type/descriptor/index.html @@ -1,7 +1,7 @@ + description="$ctrl.itemType.code">
+ + diff --git a/modules/item/front/item-type/descriptor/index.js b/modules/item/front/item-type/descriptor/index.js index 83c9a1da2..02fd59932 100644 --- a/modules/item/front/item-type/descriptor/index.js +++ b/modules/item/front/item-type/descriptor/index.js @@ -2,10 +2,6 @@ import ngModule from '../../module'; import Descriptor from 'salix/components/descriptor'; class Controller extends Descriptor { - $onInit() { - console.log(this.itemType, this.entity); - } - get itemType() { return this.entity; } diff --git a/modules/item/front/item-type/descriptor/index.spec.js b/modules/item/front/item-type/descriptor/index.spec.js index e2761c639..3da1bad1a 100644 --- a/modules/item/front/item-type/descriptor/index.spec.js +++ b/modules/item/front/item-type/descriptor/index.spec.js @@ -1,16 +1,16 @@ import './index'; -describe('component vnRoleDescriptor', () => { +describe('component vnItemTypeDescriptor', () => { let controller; let $httpBackend; - let role = {id: 1, name: 'foo'}; + let itemType = {id: 1, name: 'foo'}; - beforeEach(ngModule('account')); + beforeEach(ngModule('item')); beforeEach(inject(($componentController, _$httpBackend_) => { $httpBackend = _$httpBackend_; - controller = $componentController('vnRoleDescriptor', {$element: null}, {role}); + controller = $componentController('vnItemTypeDescriptor', {$element: null}, {itemType}); })); describe('onDelete()', () => { @@ -18,11 +18,11 @@ describe('component vnRoleDescriptor', () => { controller.$state.go = jest.fn(); jest.spyOn(controller.vnApp, 'showSuccess'); - $httpBackend.expectDELETE('Roles/1').respond(); + $httpBackend.expectDELETE('ItemTypes/1').respond(); controller.onDelete(); $httpBackend.flush(); - expect(controller.$state.go).toHaveBeenCalledWith('account.role'); + expect(controller.$state.go).toHaveBeenCalledWith('item.itemType'); expect(controller.vnApp.showSuccess).toHaveBeenCalled(); }); }); diff --git a/modules/item/front/item-type/index.js b/modules/item/front/item-type/index.js index c8282e196..f33658da3 100644 --- a/modules/item/front/item-type/index.js +++ b/modules/item/front/item-type/index.js @@ -3,6 +3,5 @@ import './index/'; import './summary'; import './card'; import './descriptor'; -import './search-panel'; import './create'; import './basic-data'; diff --git a/modules/item/front/item-type/index/index.html b/modules/item/front/item-type/index/index.html index 459b5d71c..50b9eb172 100644 --- a/modules/item/front/item-type/index/index.html +++ b/modules/item/front/item-type/index/index.html @@ -33,14 +33,11 @@ - + - \ No newline at end of file diff --git a/modules/item/front/item-type/index/index.js b/modules/item/front/item-type/index/index.js index 5530e5cf3..54ecba997 100644 --- a/modules/item/front/item-type/index/index.js +++ b/modules/item/front/item-type/index/index.js @@ -4,7 +4,6 @@ import Section from 'salix/components/section'; export default class Controller extends Section { preview(itemType) { this.selectedItemType = itemType; - console.log(this.selectedItemType); this.$.summary.show(); } } diff --git a/modules/item/front/item-type/index/locale/es.yml b/modules/item/front/item-type/index/locale/es.yml index 3a36f7c96..1a71ff212 100644 --- a/modules/item/front/item-type/index/locale/es.yml +++ b/modules/item/front/item-type/index/locale/es.yml @@ -1 +1,2 @@ -Item Type: Familia \ No newline at end of file +Item Type: Familia +New itemType: Nueva familia \ No newline at end of file diff --git a/modules/item/front/item-type/search-panel/index.html b/modules/item/front/item-type/search-panel/index.html deleted file mode 100644 index ce2919910..000000000 --- a/modules/item/front/item-type/search-panel/index.html +++ /dev/null @@ -1,21 +0,0 @@ -
-
- - - - - - - - - - - -
-
\ No newline at end of file diff --git a/modules/item/front/item-type/search-panel/index.js b/modules/item/front/item-type/search-panel/index.js deleted file mode 100644 index 3a6ed4f86..000000000 --- a/modules/item/front/item-type/search-panel/index.js +++ /dev/null @@ -1,7 +0,0 @@ -import ngModule from '../../module'; -import SearchPanel from 'core/components/searchbar/search-panel'; - -ngModule.component('vnItemTypePanel', { - template: require('./index.html'), - controller: SearchPanel -}); diff --git a/modules/item/front/item-type/summary/index.html b/modules/item/front/item-type/summary/index.html index f7971190c..d6704fc8b 100644 --- a/modules/item/front/item-type/summary/index.html +++ b/modules/item/front/item-type/summary/index.html @@ -1,5 +1,7 @@ -
{{summary.name}}
+
+ {{summary.id}} - {{summary.name}} - {{summary.worker.firstName}} {{summary.worker.lastName}} +

Basic data

@@ -7,13 +9,25 @@ label="Id" value="{{summary.id}}">
+ + + label="Worker" + value="{{summary.worker.firstName}} {{summary.worker.lastName}}"> + + + + diff --git a/modules/item/front/item-type/summary/index.js b/modules/item/front/item-type/summary/index.js index 1048fa88d..0a3bdc13c 100644 --- a/modules/item/front/item-type/summary/index.js +++ b/modules/item/front/item-type/summary/index.js @@ -6,10 +6,15 @@ class Controller extends Component { this._itemType = value; this.$.summary = null; if (!value) return; - console.log(value); - this.$http.get(`ItemTypes/${value.id}`) - .then(res => console.log(res.data)); + const filter = { + include: [ + {relation: 'worker'}, + {relation: 'category'} + ] + }; + this.$http.get(`ItemTypes/${value.id}`, {filter}) + .then(res => this.$.summary = res.data); } get itemType() { diff --git a/modules/item/front/routes.json b/modules/item/front/routes.json index 400399c38..5743d0ce7 100644 --- a/modules/item/front/routes.json +++ b/modules/item/front/routes.json @@ -21,6 +21,9 @@ {"state": "item.card.diary", "icon": "icon-transaction"}, {"state": "item.card.last-entries", "icon": "icon-regentry"}, {"state": "item.card.log", "icon": "history"} + ], + "itemType": [ + {"state": "item.itemType.card.basicData", "icon": "settings"} ] }, "keybindings": [ @@ -198,7 +201,7 @@ "component": "vn-item-type-summary", "description": "Summary", "params": { - "itemType": "$ctrl.itemType" + "item-type": "$ctrl.itemType" }, "acl": ["buyer"] }, @@ -208,7 +211,7 @@ "component": "vn-item-type-basic-data", "description": "Basic data", "params": { - "itemType": "$ctrl.itemType" + "item-type": "$ctrl.itemType" }, "acl": ["buyer"] } From 16fdf982c84d0879e232334bf6c327a4eed63b8f Mon Sep 17 00:00:00 2001 From: vicent Date: Thu, 12 May 2022 07:40:24 +0200 Subject: [PATCH 3/7] feat(item.itemtype): add frontTest --- .../item/front/item-type/create/index.spec.js | 34 +++++++++++++++++++ .../item/front/item-type/index/index.spec.js | 34 +++++++++++++++++++ .../item/front/item-type/main/index.spec.js | 31 +++++++++++++++++ 3 files changed, 99 insertions(+) create mode 100644 modules/item/front/item-type/create/index.spec.js create mode 100644 modules/item/front/item-type/index/index.spec.js create mode 100644 modules/item/front/item-type/main/index.spec.js diff --git a/modules/item/front/item-type/create/index.spec.js b/modules/item/front/item-type/create/index.spec.js new file mode 100644 index 000000000..4b000df9a --- /dev/null +++ b/modules/item/front/item-type/create/index.spec.js @@ -0,0 +1,34 @@ +import './index'; + +describe('component vnItemTypeCreate', () => { + let $scope; + let $state; + let controller; + + beforeEach(ngModule('item')); + + beforeEach(inject(($componentController, $rootScope, _$state_) => { + $scope = $rootScope.$new(); + $state = _$state_; + $scope.watcher = { + submit: () => { + return { + then: callback => { + callback({data: {id: '1234'}}); + } + }; + } + }; + const $element = angular.element(''); + controller = $componentController('vnItemTypeCreate', {$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('item.itemType.card.basicData', {id: '1234'}); + }); + }); +}); diff --git a/modules/item/front/item-type/index/index.spec.js b/modules/item/front/item-type/index/index.spec.js new file mode 100644 index 000000000..887c03f7f --- /dev/null +++ b/modules/item/front/item-type/index/index.spec.js @@ -0,0 +1,34 @@ +import './index'; + +describe('Item', () => { + describe('Component vnItemTypeIndex', () => { + let controller; + let $window; + + beforeEach(ngModule('item')); + + beforeEach(inject(($componentController, _$window_) => { + $window = _$window_; + const $element = angular.element(''); + controller = $componentController('vnItemTypeIndex', {$element}); + })); + + describe('preview()', () => { + it('should show the dialog summary', () => { + controller.$.summary = {show: () => {}}; + jest.spyOn(controller.$.summary, 'show'); + + const itemType = {id: 1}; + + const event = new MouseEvent('click', { + view: $window, + bubbles: true, + cancelable: true + }); + controller.preview(event, itemType); + + expect(controller.$.summary.show).toHaveBeenCalledWith(); + }); + }); + }); +}); diff --git a/modules/item/front/item-type/main/index.spec.js b/modules/item/front/item-type/main/index.spec.js new file mode 100644 index 000000000..dcb14ec0e --- /dev/null +++ b/modules/item/front/item-type/main/index.spec.js @@ -0,0 +1,31 @@ +import './index'; + +describe('Item', () => { + describe('Component vnItemType', () => { + let controller; + + beforeEach(ngModule('item')); + + beforeEach(inject($componentController => { + const $element = angular.element(''); + controller = $componentController('vnItemType', {$element}); + })); + + describe('exprBuilder()', () => { + it('should return a filter based on a search by id', () => { + const filter = controller.exprBuilder('search', '123'); + + expect(filter).toEqual({id: '123'}); + }); + + it('should return a filter based on a search by name or code', () => { + const filter = controller.exprBuilder('search', 'Alstroemeria'); + + expect(filter).toEqual({or: [ + {name: {like: '%Alstroemeria%'}}, + {code: {like: '%Alstroemeria%'}}, + ]}); + }); + }); + }); +}); From 3335cb8a01dc10084ba336b1a48e4af4f2a9e64a Mon Sep 17 00:00:00 2001 From: vicent Date: Tue, 17 May 2022 08:32:45 +0200 Subject: [PATCH 4/7] feat(item.itemType): add fields --- db/changes/10460-motherDay/00-aclItemType.sql | 10 +++++-- modules/item/back/models/item-type.json | 12 ++++++++ modules/item/front/item-type/card/index.js | 9 +++++- .../front/item-type/descriptor/index.html | 16 +++++----- .../item/front/item-type/descriptor/index.js | 6 ---- .../front/item-type/descriptor/index.spec.js | 29 ------------------- .../item/front/item-type/summary/index.html | 16 ++++++++++ .../front/item-type/summary/locale/es.yml | 4 +++ 8 files changed, 55 insertions(+), 47 deletions(-) delete mode 100644 modules/item/front/item-type/descriptor/index.spec.js create mode 100644 modules/item/front/item-type/summary/locale/es.yml diff --git a/db/changes/10460-motherDay/00-aclItemType.sql b/db/changes/10460-motherDay/00-aclItemType.sql index 86fae1b1f..67dc652e5 100644 --- a/db/changes/10460-motherDay/00-aclItemType.sql +++ b/db/changes/10460-motherDay/00-aclItemType.sql @@ -1,3 +1,7 @@ -INSERT INTO salix.ACL -(model, property, accessType, permission, principalType, principalId) -VALUES('ItemType', '*', '*', 'ALLOW', 'ROLE', 'employee'); \ No newline at end of file +INSERT INTO `salix`.`ACL` +(`model`, `property`, `accessType`, `permission`, `principalType`, `principalId`) +VALUES('ItemType', '*', 'READ', 'ALLOW', 'ROLE', 'employee'); + +INSERT INTO `salix`.`ACL` +(`model`, `property`, `accessType`, `permission`, `principalType`, `principalId`) +VALUES('ItemType', '*', 'WRITE', 'ALLOW', 'ROLE', 'buyer'); \ No newline at end of file diff --git a/modules/item/back/models/item-type.json b/modules/item/back/models/item-type.json index c7a90aea9..64061a9b3 100644 --- a/modules/item/back/models/item-type.json +++ b/modules/item/back/models/item-type.json @@ -26,6 +26,18 @@ }, "temperatureFk": { "type": "string" + }, + "life": { + "type": "number" + }, + "promo": { + "type": "number" + }, + "itemPackingTypeFk": { + "type": "string" + }, + "isUnconventionalSize": { + "type": "number" } }, "relations": { diff --git a/modules/item/front/item-type/card/index.js b/modules/item/front/item-type/card/index.js index b610f7566..21a2d5bc8 100644 --- a/modules/item/front/item-type/card/index.js +++ b/modules/item/front/item-type/card/index.js @@ -3,7 +3,14 @@ import ModuleCard from 'salix/components/module-card'; class Controller extends ModuleCard { reload() { - this.$http.get(`ItemTypes/${this.$params.id}`) + const filter = { + include: [ + {relation: 'worker'}, + {relation: 'category'} + ] + }; + + this.$http.get(`ItemTypes/${this.$params.id}`, {filter}) .then(res => this.itemType = res.data); } } diff --git a/modules/item/front/item-type/descriptor/index.html b/modules/item/front/item-type/descriptor/index.html index 63bbf8726..ac86b2189 100644 --- a/modules/item/front/item-type/descriptor/index.html +++ b/modules/item/front/item-type/descriptor/index.html @@ -2,14 +2,6 @@ module="item" base-state="item.itemType" description="$ctrl.itemType.code"> - - - Delete - -
+ + + +
diff --git a/modules/item/front/item-type/descriptor/index.js b/modules/item/front/item-type/descriptor/index.js index 02fd59932..9322c599a 100644 --- a/modules/item/front/item-type/descriptor/index.js +++ b/modules/item/front/item-type/descriptor/index.js @@ -9,12 +9,6 @@ class Controller extends Descriptor { set itemType(value) { this.entity = value; } - - onDelete() { - return this.$http.delete(`ItemTypes/${this.id}`) - .then(() => this.$state.go('item.itemType')) - .then(() => this.vnApp.showSuccess(this.$t('ItemType removed'))); - } } ngModule.component('vnItemTypeDescriptor', { diff --git a/modules/item/front/item-type/descriptor/index.spec.js b/modules/item/front/item-type/descriptor/index.spec.js deleted file mode 100644 index 3da1bad1a..000000000 --- a/modules/item/front/item-type/descriptor/index.spec.js +++ /dev/null @@ -1,29 +0,0 @@ -import './index'; - -describe('component vnItemTypeDescriptor', () => { - let controller; - let $httpBackend; - - let itemType = {id: 1, name: 'foo'}; - - beforeEach(ngModule('item')); - - beforeEach(inject(($componentController, _$httpBackend_) => { - $httpBackend = _$httpBackend_; - controller = $componentController('vnItemTypeDescriptor', {$element: null}, {itemType}); - })); - - describe('onDelete()', () => { - it('should delete entity and go to index', () => { - controller.$state.go = jest.fn(); - jest.spyOn(controller.vnApp, 'showSuccess'); - - $httpBackend.expectDELETE('ItemTypes/1').respond(); - controller.onDelete(); - $httpBackend.flush(); - - expect(controller.$state.go).toHaveBeenCalledWith('item.itemType'); - expect(controller.vnApp.showSuccess).toHaveBeenCalled(); - }); - }); -}); diff --git a/modules/item/front/item-type/summary/index.html b/modules/item/front/item-type/summary/index.html index d6704fc8b..72604c912 100644 --- a/modules/item/front/item-type/summary/index.html +++ b/modules/item/front/item-type/summary/index.html @@ -29,6 +29,22 @@ label="Temperature" value="{{summary.temperatureFk}}"> + + + + + + + + \ No newline at end of file diff --git a/modules/item/front/item-type/summary/locale/es.yml b/modules/item/front/item-type/summary/locale/es.yml new file mode 100644 index 000000000..8f4cef70f --- /dev/null +++ b/modules/item/front/item-type/summary/locale/es.yml @@ -0,0 +1,4 @@ +Life: Vida +Promo: Promoción +Item packing type: Tipo de embalaje +Is unconventional size: Es de tamaño poco convencional \ No newline at end of file From 76515bdd3f8f104a2109b3694c149ffdd58b3cd4 Mon Sep 17 00:00:00 2001 From: vicent Date: Tue, 17 May 2022 09:54:49 +0200 Subject: [PATCH 5/7] add: search-panel --- modules/account/front/role/index/index.js | 1 - modules/item/front/item-type/index.js | 1 + .../item/front/item-type/main/locale/es.yml | 1 + .../front/item-type/search-panel/index.html | 21 +++++++++++++++++++ .../front/item-type/search-panel/index.js | 7 +++++++ 5 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 modules/item/front/item-type/main/locale/es.yml create mode 100644 modules/item/front/item-type/search-panel/index.html create mode 100644 modules/item/front/item-type/search-panel/index.js diff --git a/modules/account/front/role/index/index.js b/modules/account/front/role/index/index.js index 49b9be53b..40773b23b 100644 --- a/modules/account/front/role/index/index.js +++ b/modules/account/front/role/index/index.js @@ -4,7 +4,6 @@ import Section from 'salix/components/section'; export default class Controller extends Section { preview(role) { this.selectedRole = role; - console.log(this.selectedRole); this.$.summary.show(); } } diff --git a/modules/item/front/item-type/index.js b/modules/item/front/item-type/index.js index f33658da3..5dcbe4097 100644 --- a/modules/item/front/item-type/index.js +++ b/modules/item/front/item-type/index.js @@ -5,3 +5,4 @@ import './card'; import './descriptor'; import './create'; import './basic-data'; +import './search-panel'; diff --git a/modules/item/front/item-type/main/locale/es.yml b/modules/item/front/item-type/main/locale/es.yml new file mode 100644 index 000000000..7aceac46f --- /dev/null +++ b/modules/item/front/item-type/main/locale/es.yml @@ -0,0 +1 @@ +Search itemType by id, name or code: Buscar familia por id, nombre o código \ No newline at end of file diff --git a/modules/item/front/item-type/search-panel/index.html b/modules/item/front/item-type/search-panel/index.html new file mode 100644 index 000000000..2e373fda5 --- /dev/null +++ b/modules/item/front/item-type/search-panel/index.html @@ -0,0 +1,21 @@ +
+
+ + + + + + + + + + + +
+
\ No newline at end of file diff --git a/modules/item/front/item-type/search-panel/index.js b/modules/item/front/item-type/search-panel/index.js new file mode 100644 index 000000000..17a439c39 --- /dev/null +++ b/modules/item/front/item-type/search-panel/index.js @@ -0,0 +1,7 @@ +import ngModule from '../../module'; +import SearchPanel from 'core/components/searchbar/search-panel'; + +ngModule.component('vnItemTypeSearchPanel', { + template: require('./index.html'), + controller: SearchPanel +}); From 3c9800a7a3aa9c7c1c980d730089103346e63bf2 Mon Sep 17 00:00:00 2001 From: vicent Date: Fri, 20 May 2022 12:33:12 +0200 Subject: [PATCH 6/7] refactor: pull request changes --- db/changes/10460-motherDay/00-aclItemType.sql | 11 ++++------- modules/item/back/models/item-type.json | 6 ------ modules/item/front/item-type/card/index.spec.js | 6 ++++-- modules/item/front/item-type/descriptor/index.html | 8 +------- modules/item/front/item-type/descriptor/locale/es.yml | 2 -- modules/item/front/item-type/search-panel/index.html | 3 ++- 6 files changed, 11 insertions(+), 25 deletions(-) delete mode 100644 modules/item/front/item-type/descriptor/locale/es.yml diff --git a/db/changes/10460-motherDay/00-aclItemType.sql b/db/changes/10460-motherDay/00-aclItemType.sql index 67dc652e5..836a69dfd 100644 --- a/db/changes/10460-motherDay/00-aclItemType.sql +++ b/db/changes/10460-motherDay/00-aclItemType.sql @@ -1,7 +1,4 @@ -INSERT INTO `salix`.`ACL` -(`model`, `property`, `accessType`, `permission`, `principalType`, `principalId`) -VALUES('ItemType', '*', 'READ', 'ALLOW', 'ROLE', 'employee'); - -INSERT INTO `salix`.`ACL` -(`model`, `property`, `accessType`, `permission`, `principalType`, `principalId`) -VALUES('ItemType', '*', 'WRITE', 'ALLOW', 'ROLE', 'buyer'); \ No newline at end of file +INSERT INTO `salix`.`ACL` (`model`, `property`, `accessType`, `permission`, `principalType`, `principalId`) + VALUES + ('ItemType', '*', 'READ', 'ALLOW', 'ROLE', 'employee'), + ('ItemType', '*', 'WRITE', 'ALLOW', 'ROLE', 'buyer'); \ No newline at end of file diff --git a/modules/item/back/models/item-type.json b/modules/item/back/models/item-type.json index 64061a9b3..407b4d15a 100644 --- a/modules/item/back/models/item-type.json +++ b/modules/item/back/models/item-type.json @@ -18,12 +18,6 @@ "name": { "type": "string" }, - "workerFk": { - "type": "number" - }, - "categoryFk": { - "type": "number" - }, "temperatureFk": { "type": "string" }, diff --git a/modules/item/front/item-type/card/index.spec.js b/modules/item/front/item-type/card/index.spec.js index 179f65274..ab2314bb9 100644 --- a/modules/item/front/item-type/card/index.spec.js +++ b/modules/item/front/item-type/card/index.spec.js @@ -15,11 +15,13 @@ describe('component vnItemTypeCard', () => { it('should reload the controller data', () => { controller.$params.id = 1; - $httpBackend.expectGET('ItemTypes/1').respond('foo'); + const itemType = {id: 1}; + + $httpBackend.expectGET('ItemTypes/1').respond(itemType); controller.reload(); $httpBackend.flush(); - expect(controller.itemType).toBe('foo'); + expect(controller.itemType).toEqual(itemType); }); }); }); diff --git a/modules/item/front/item-type/descriptor/index.html b/modules/item/front/item-type/descriptor/index.html index ac86b2189..5a0e8ed49 100644 --- a/modules/item/front/item-type/descriptor/index.html +++ b/modules/item/front/item-type/descriptor/index.html @@ -22,10 +22,4 @@
-
- - \ No newline at end of file + \ No newline at end of file diff --git a/modules/item/front/item-type/descriptor/locale/es.yml b/modules/item/front/item-type/descriptor/locale/es.yml deleted file mode 100644 index 1ca512e4f..000000000 --- a/modules/item/front/item-type/descriptor/locale/es.yml +++ /dev/null @@ -1,2 +0,0 @@ -Role will be removed: El rol va a ser eliminado -Role removed: Rol eliminado \ No newline at end of file diff --git a/modules/item/front/item-type/search-panel/index.html b/modules/item/front/item-type/search-panel/index.html index 2e373fda5..4aa762900 100644 --- a/modules/item/front/item-type/search-panel/index.html +++ b/modules/item/front/item-type/search-panel/index.html @@ -4,7 +4,8 @@ + ng-model="filter.name" + vn-focus> From 1b3f0ee026637c557101af1eef9f8b6a71b1cd59 Mon Sep 17 00:00:00 2001 From: vicent Date: Mon, 23 May 2022 12:40:11 +0200 Subject: [PATCH 7/7] refactor: added itemPackingType and temperature relations --- modules/item/back/models/item-type.json | 16 ++++++++++------ modules/item/front/item-type/card/index.js | 4 +++- modules/item/front/item-type/summary/index.html | 4 ++-- modules/item/front/item-type/summary/index.js | 4 +++- 4 files changed, 18 insertions(+), 10 deletions(-) diff --git a/modules/item/back/models/item-type.json b/modules/item/back/models/item-type.json index 407b4d15a..843d9877f 100644 --- a/modules/item/back/models/item-type.json +++ b/modules/item/back/models/item-type.json @@ -18,18 +18,12 @@ "name": { "type": "string" }, - "temperatureFk": { - "type": "string" - }, "life": { "type": "number" }, "promo": { "type": "number" }, - "itemPackingTypeFk": { - "type": "string" - }, "isUnconventionalSize": { "type": "number" } @@ -49,6 +43,16 @@ "type": "belongsTo", "model": "ItemCategory", "foreignKey": "categoryFk" + }, + "itemPackingType": { + "type": "belongsTo", + "model": "ItemPackingType", + "foreignKey": "itemPackingTypeFk" + }, + "temperature": { + "type": "belongsTo", + "model": "Temperature", + "foreignKey": "temperatureFk" } }, "acls": [ diff --git a/modules/item/front/item-type/card/index.js b/modules/item/front/item-type/card/index.js index 21a2d5bc8..fa6b37340 100644 --- a/modules/item/front/item-type/card/index.js +++ b/modules/item/front/item-type/card/index.js @@ -6,7 +6,9 @@ class Controller extends ModuleCard { const filter = { include: [ {relation: 'worker'}, - {relation: 'category'} + {relation: 'category'}, + {relation: 'itemPackingType'}, + {relation: 'temperature'} ] }; diff --git a/modules/item/front/item-type/summary/index.html b/modules/item/front/item-type/summary/index.html index 72604c912..d003c8f38 100644 --- a/modules/item/front/item-type/summary/index.html +++ b/modules/item/front/item-type/summary/index.html @@ -27,7 +27,7 @@ + value="{{summary.temperature.name}}"> + value="{{summary.itemPackingType.description}}">