34 lines
831 B
JavaScript
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});
|
|
}
|
|
}; |