From f3b00f4b4742d0192f2edb7ad16c2db152b86836 Mon Sep 17 00:00:00 2001 From: jgallego Date: Thu, 1 Mar 2018 11:55:28 +0100 Subject: [PATCH] entidad recovery con list, create y tests --- client/client/routes.json | 25 ++++++++++++ client/client/src/client.js | 2 + .../src/greuge-create/greuge-create.html | 3 +- .../client/src/recovery-create/locale/es.yml | 2 + .../src/recovery-create/recovery-create.html | 34 ++++++++++++++++ .../src/recovery-create/recovery-create.js | 25 ++++++++++++ .../recovery-create/recovery-create.spec.js | 39 +++++++++++++++++++ client/client/src/recovery-list/locale/es.yml | 4 ++ .../src/recovery-list/recovery-list.html | 29 ++++++++++++++ .../client/src/recovery-list/recovery-list.js | 7 ++++ .../client/common/methods/recovery/filter.js | 14 +++++++ services/client/common/models/recovery.js | 3 ++ services/client/server/model-config.json | 3 ++ 13 files changed, 188 insertions(+), 2 deletions(-) create mode 100644 client/client/src/recovery-create/locale/es.yml create mode 100644 client/client/src/recovery-create/recovery-create.html create mode 100644 client/client/src/recovery-create/recovery-create.js create mode 100644 client/client/src/recovery-create/recovery-create.spec.js create mode 100644 client/client/src/recovery-list/locale/es.yml create mode 100644 client/client/src/recovery-list/recovery-list.html create mode 100644 client/client/src/recovery-list/recovery-list.js create mode 100644 services/client/common/methods/recovery/filter.js create mode 100644 services/client/common/models/recovery.js diff --git a/client/client/routes.json b/client/client/routes.json index a6fcb50362..fba7bd7624 100644 --- a/client/client/routes.json +++ b/client/client/routes.json @@ -179,6 +179,31 @@ "description": "Mandate", "icon": "pan_tool" } + }, + { + "url": "/recovery", + "abstract": true, + "state": "clientCard.recovery", + "component": "ui-view" + }, + { + "url": "/list", + "state": "clientCard.recovery.list", + "component": "vn-client-recovery-list", + "params": { + "client": "$ctrl.client" + }, + "menu": { + "description": "Recovery", + "icon": "credit_card" + } + }, { + "url": "/create", + "state": "clientCard.recovery.create", + "component": "vn-client-recovery-create", + "params": { + "client": "$ctrl.client" + } } ] } diff --git a/client/client/src/client.js b/client/client/src/client.js index d61f4e4aad..92ebb7e36f 100644 --- a/client/client/src/client.js +++ b/client/client/src/client.js @@ -19,3 +19,5 @@ import './credit-create/credit-create'; import './greuge-list/greuge-list'; import './greuge-create/greuge-create'; import './mandate/mandate'; +import './recovery-list/recovery-list'; +import './recovery-create/recovery-create'; diff --git a/client/client/src/greuge-create/greuge-create.html b/client/client/src/greuge-create/greuge-create.html index ef2f068f1b..10b2bf6c1d 100644 --- a/client/client/src/greuge-create/greuge-create.html +++ b/client/client/src/greuge-create/greuge-create.html @@ -15,8 +15,7 @@ + ini-options="{enableTime: true, dateFormat: 'd-m-Y h:i', time_24hr: true}"> diff --git a/client/client/src/recovery-create/locale/es.yml b/client/client/src/recovery-create/locale/es.yml new file mode 100644 index 0000000000..64e15cd43f --- /dev/null +++ b/client/client/src/recovery-create/locale/es.yml @@ -0,0 +1,2 @@ +Add recovery: Añadir recobro +Period: Periodo \ No newline at end of file diff --git a/client/client/src/recovery-create/recovery-create.html b/client/client/src/recovery-create/recovery-create.html new file mode 100644 index 0000000000..50f56ccb3a --- /dev/null +++ b/client/client/src/recovery-create/recovery-create.html @@ -0,0 +1,34 @@ + + + + +
+ + + Add recovery + + + + + + + + + + + + + + +
diff --git a/client/client/src/recovery-create/recovery-create.js b/client/client/src/recovery-create/recovery-create.js new file mode 100644 index 0000000000..67e4421a24 --- /dev/null +++ b/client/client/src/recovery-create/recovery-create.js @@ -0,0 +1,25 @@ +import ngModule from '../module'; + +class ClientRecoveryCreate { + constructor($scope, $state, $filter) { + this.$ = $scope; + this.$state = $state; + this.recovery = { + started: $filter('date')(new Date(), 'yyyy-MM-dd HH:mm') + }; + } + onSubmit() { + this.recovery.clientFk = this.$state.params.id; + this.$.watcher.submit().then( + () => { + this.$state.go('clientCard.recovery.list'); + } + ); + } +} +ClientRecoveryCreate.$inject = ['$scope', '$state', '$filter']; + +ngModule.component('vnClientRecoveryCreate', { + template: require('./recovery-create.html'), + controller: ClientRecoveryCreate +}); diff --git a/client/client/src/recovery-create/recovery-create.spec.js b/client/client/src/recovery-create/recovery-create.spec.js new file mode 100644 index 0000000000..eede3a8f9c --- /dev/null +++ b/client/client/src/recovery-create/recovery-create.spec.js @@ -0,0 +1,39 @@ +import './recovery-create.js'; + +describe('Client', () => { + describe('Component vnClientRecoveryCreate', () => { + let $componentController; + let $scope; + let $state; + let controller; + + beforeEach(() => { + angular.mock.module('client'); + }); + + beforeEach(angular.mock.inject((_$componentController_, $rootScope, _$state_) => { + $componentController = _$componentController_; + $scope = $rootScope.$new(); + $state = _$state_; + $scope.watcher = { + submit: () => { + return { + then: callback => { + callback(); + } + }; + } + }; + controller = $componentController('vnClientRecoveryCreate', {$scope: $scope}); + })); + + describe('onSubmit()', () => { + it('should call the function go() on $state to go to the recovery list', () => { + spyOn($state, 'go'); + controller.onSubmit(); + + expect(controller.$state.go).toHaveBeenCalledWith('clientCard.recovery.list'); + }); + }); + }); +}); diff --git a/client/client/src/recovery-list/locale/es.yml b/client/client/src/recovery-list/locale/es.yml new file mode 100644 index 0000000000..f69b3fa2a3 --- /dev/null +++ b/client/client/src/recovery-list/locale/es.yml @@ -0,0 +1,4 @@ +Since: Desde +Employee: Empleado +No results: Sin resultados +To: Hasta \ No newline at end of file diff --git a/client/client/src/recovery-list/recovery-list.html b/client/client/src/recovery-list/recovery-list.html new file mode 100644 index 0000000000..b386f8d889 --- /dev/null +++ b/client/client/src/recovery-list/recovery-list.html @@ -0,0 +1,29 @@ + + + + Recovery + + + + + + + + + {{::recovery.started | date:'dd/MM/yyyy' }} + {{::recovery.finished | date:'dd/MM/yyyy' }} + {{::recovery.amount | currency:'€':0}} + {{::recovery.period}} + + + No results + + + + + + + \ No newline at end of file diff --git a/client/client/src/recovery-list/recovery-list.js b/client/client/src/recovery-list/recovery-list.js new file mode 100644 index 0000000000..949dcbad1e --- /dev/null +++ b/client/client/src/recovery-list/recovery-list.js @@ -0,0 +1,7 @@ +import ngModule from '../module'; +import FilterClientList from '../filter-client-list'; + +ngModule.component('vnClientRecoveryList', { + template: require('./recovery-list.html'), + controller: FilterClientList +}); diff --git a/services/client/common/methods/recovery/filter.js b/services/client/common/methods/recovery/filter.js new file mode 100644 index 0000000000..88263d79b8 --- /dev/null +++ b/services/client/common/methods/recovery/filter.js @@ -0,0 +1,14 @@ +module.exports = Self => { + Self.installMethod('filter', filterParams); + + function filterParams(params) { + return { + where: { + clientFk: params.clientFk + }, + skip: (params.page - 1) * params.size, + limit: params.size, + order: params.order + }; + } +}; diff --git a/services/client/common/models/recovery.js b/services/client/common/models/recovery.js new file mode 100644 index 0000000000..f3d42d71cb --- /dev/null +++ b/services/client/common/models/recovery.js @@ -0,0 +1,3 @@ +module.exports = function(Self) { + require('../methods/recovery/filter.js')(Self); +}; diff --git a/services/client/server/model-config.json b/services/client/server/model-config.json index 69fee066ab..9eecb7263b 100644 --- a/services/client/server/model-config.json +++ b/services/client/server/model-config.json @@ -25,5 +25,8 @@ }, "ObservationType": { "dataSource": "vn" + }, + "Recovery": { + "dataSource": "vn" } }