From 83632dc3f15f90735017a7e17af8c9356545a563 Mon Sep 17 00:00:00 2001 From: nelo Date: Mon, 23 Jan 2017 07:23:16 +0100 Subject: [PATCH] modificaciones servidor consignatarios --- @salix/crud/src/client/addresses/index.js | 5 --- services/client/common/models/Address.js | 45 +++++++++++++++++++++-- 2 files changed, 42 insertions(+), 8 deletions(-) diff --git a/@salix/crud/src/client/addresses/index.js b/@salix/crud/src/client/addresses/index.js index 934be634c..a1f71f6a3 100644 --- a/@salix/crud/src/client/addresses/index.js +++ b/@salix/crud/src/client/addresses/index.js @@ -29,11 +29,6 @@ export const COMPONENT = { } ); }; - $http.get('/client/api/Addresses').then( - json => { - this.addresses = json.data; - } - ); this.getNumPages = () => { var nPages = numRecords / numPerPage; diff --git a/services/client/common/models/Address.js b/services/client/common/models/Address.js index f1baa3c2d..6436305fb 100644 --- a/services/client/common/models/Address.js +++ b/services/client/common/models/Address.js @@ -7,10 +7,23 @@ module.exports = function(Address) { Address.observe('before save', function (ctx, next) { var data = getData(ctx); - if (data.isEnabled && data.default) { - ctx.Model.update({client: data.client}, {default: false}); + var address = Address.findOne( getFilterAddress(data), function (err, address){ + if(address){ + var id = address.id; + } + + if (data.enabled && data.default) { + ctx.Model.update({client: data.client}, {default: false}); + } + + next(); + }); + + if(!data.default && isDefaultAddress(ctx, data)){ + next(generateErrorDefaultAddress()); } - next(); + + }); function getData(ctx){ @@ -20,4 +33,30 @@ module.exports = function(Address) { return ctx.instance; } + function generateErrorDefaultAddress(){ + var error = new Error(); + error.message = "No se puede desmarcar el consignatario predeterminado"; + error.status = 500; + return error; + } + + function isDefaultAddress(ctx, data){ + + } + + function getFilterAddress(data){ + var filter = { + filter: { + where: { + and: [ + {client: data.client}, + {default: true} + ] + } + } + } + + return filter; + } + }; \ No newline at end of file