salix/services/client/common/models/Address.js

34 lines
831 B
JavaScript

module.exports = function(Address) {
Address.validate('default',isEnabled,{message: 'No se puede poner predeterminado un consignatario desactivado'});
function isEnabled(err) {
if (!this.enabled && this.default) err();
}
Address.observe('before save', function (ctx, next) {
var data = getData(ctx);
if (isEnabled(data) && isDefault(data)) {
updateData(ctx);
}
next();
});
function getData(ctx){
if(ctx.data)
return ctx.data;
else
return ctx.instance;
}
function isEnabled(data){
return data.isEnabled;
}
function isDefault(data){
return data.default;
}
function updateData(ctx){
ctx.Model.update({client: ctx.data.client}, {default: false});
}
};