diff --git a/modules/travel/back/models/travel.json b/modules/travel/back/models/travel.json index fd881dd103..b4f1545255 100644 --- a/modules/travel/back/models/travel.json +++ b/modules/travel/back/models/travel.json @@ -1,6 +1,9 @@ { "name": "Travel", - "base": "VnModel", + "base": "Loggable", + "log": { + "model":"TravelLog" + }, "options": { "mysql": { "table": "travel" @@ -32,12 +35,18 @@ }, "m3": { "type": "Number" + }, + "agencyModeFk": { + "type": "Number", + "mysql": { + "columnName": "agencyFk" + } } }, "relations": { "agency": { "type": "belongsTo", - "model": "Agency", + "model": "AgencyMode", "foreignKey": "agencyFk" }, "warehouseIn": { diff --git a/modules/travel/front/basic-data/index.html b/modules/travel/front/basic-data/index.html new file mode 100644 index 0000000000..b85168ac32 --- /dev/null +++ b/modules/travel/front/basic-data/index.html @@ -0,0 +1,72 @@ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/modules/travel/front/basic-data/index.js b/modules/travel/front/basic-data/index.js new file mode 100644 index 0000000000..7406598b04 --- /dev/null +++ b/modules/travel/front/basic-data/index.js @@ -0,0 +1,25 @@ +import ngModule from '../module'; + +class Controller { + constructor($scope) { + this.$ = $scope; + } + + onSubmit() { + return this.$.watcher.submit().then(() => { + this.card.reload(); + }); + } +} +Controller.$inject = ['$scope']; + +ngModule.component('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 new file mode 100644 index 0000000000..ed5c287b1d --- /dev/null +++ b/modules/travel/front/basic-data/index.spec.js @@ -0,0 +1,28 @@ +import './index.js'; + +describe('Travel Component vnTravelBasicData', () => { + let controller; + let $scope; + beforeEach(angular.mock.module('travel', $translateProvider => { + $translateProvider.translations('en', {}); + })); + + beforeEach(angular.mock.inject(($componentController, $rootScope) => { + $scope = $rootScope.$new(); + controller = $componentController('vnTravelBasicData', $scope); + controller.card = {reload: () => {}}; + controller.$.watcher = {submit: () => {}}; + })); + + describe('onSubmit()', () => { + it('should call the card reload method after the watcher submits', done => { + spyOn(controller.card, 'reload'); + spyOn(controller.$.watcher, 'submit').and.returnValue(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 new file mode 100644 index 0000000000..d956756122 --- /dev/null +++ b/modules/travel/front/basic-data/locale/es.yml @@ -0,0 +1 @@ +Undo changes: Deshacer cambios diff --git a/modules/travel/front/card/index.js b/modules/travel/front/card/index.js index 677e944c21..b67902e169 100644 --- a/modules/travel/front/card/index.js +++ b/modules/travel/front/card/index.js @@ -6,16 +6,6 @@ export default class Controller { this.$stateParams = $stateParams; this.travel = null; this.filter = { - fields: [ - 'id', - 'ref', - 'warehouseInFk', - 'warehouseOutFk', - 'shipped', - 'landed', - 'totalEntries' - ], - where: {id: $stateParams.id}, include: [ { diff --git a/modules/travel/front/index.js b/modules/travel/front/index.js index 82795940d8..1017a431b8 100644 --- a/modules/travel/front/index.js +++ b/modules/travel/front/index.js @@ -5,3 +5,5 @@ import './search-panel'; import './descriptor'; import './card'; import './summary'; +import './basic-data'; +import './log'; diff --git a/modules/travel/front/routes.json b/modules/travel/front/routes.json index 0707858311..55643c9371 100644 --- a/modules/travel/front/routes.json +++ b/modules/travel/front/routes.json @@ -3,6 +3,9 @@ "name": "Travels", "validations": true, "dependencies": ["worker"], + "menu": [ + {"state": "travel.card.basicData", "icon": "settings"}, + {"state": "travel.card.log", "icon": "history"}], "routes": [ { "url": "/travel", @@ -29,6 +32,20 @@ "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" } ] } \ No newline at end of file