fixes #4927 supplier.fiscal-data permitir 'Razón social' duplicada #1230
|
@ -15,6 +15,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||||
- (Entradas -> Compras) Cambiados los campos "Precio Grouping/Packing" por "PVP" y "Precio" por "Coste"
|
- (Entradas -> Compras) Cambiados los campos "Precio Grouping/Packing" por "PVP" y "Precio" por "Coste"
|
||||||
- (Artículos -> Últimas entradas) Cambiados los campos "P.P.U." y "P.P.P." por "PVP"
|
- (Artículos -> Últimas entradas) Cambiados los campos "P.P.U." y "P.P.P." por "PVP"
|
||||||
- (Rutas -> Sumario/Tickets) Actualizados campos de los tickets
|
- (Rutas -> Sumario/Tickets) Actualizados campos de los tickets
|
||||||
|
- (Proveedores -> Crear/Editar) Permite añadir Proveedores con la misma razón social pero con países distintos
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
- (Artículos -> Etiquetas) Permite intercambiar la relevancia entre dos etiquetas.
|
- (Artículos -> Etiquetas) Permite intercambiar la relevancia entre dos etiquetas.
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
ALTER TABLE `vn`.`supplier` ADD UNIQUE (name, countryFk);
|
|
@ -80203,4 +80203,3 @@ USE `vncontrol`;
|
||||||
-- Dump completed on 2022-11-21 7:57:28
|
-- Dump completed on 2022-11-21 7:57:28
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -262,5 +262,7 @@
|
||||||
"It is not possible to modify tracked sales": "No es posible modificar líneas de pedido que se hayan empezado a preparar",
|
"It is not possible to modify tracked sales": "No es posible modificar líneas de pedido que se hayan empezado a preparar",
|
||||||
"It is not possible to modify sales that their articles are from Floramondo": "No es posible modificar líneas de pedido cuyos artículos sean de Floramondo",
|
"It is not possible to modify sales that their articles are from Floramondo": "No es posible modificar líneas de pedido cuyos artículos sean de Floramondo",
|
||||||
"It is not possible to modify cloned sales": "No es posible modificar líneas de pedido clonadas",
|
"It is not possible to modify cloned sales": "No es posible modificar líneas de pedido clonadas",
|
||||||
|
"A supplier with the same name already exists. Change the country.": "Un proveedor con el mismo nombre ya existe. Cambie el país.",
|
||||||
"There is no assigned email for this client": "No hay correo asignado para este cliente"
|
"There is no assigned email for this client": "No hay correo asignado para este cliente"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -16,10 +16,6 @@ module.exports = Self => {
|
||||||
message: 'The social name cannot be empty'
|
message: 'The social name cannot be empty'
|
||||||
});
|
});
|
||||||
|
|
||||||
Self.validatesUniquenessOf('name', {
|
|
||||||
message: 'The supplier name must be unique'
|
|
||||||
});
|
|
||||||
|
|
||||||
if (this.city) {
|
if (this.city) {
|
||||||
Self.validatesPresenceOf('city', {
|
Self.validatesPresenceOf('city', {
|
||||||
message: 'City cannot be empty'
|
message: 'City cannot be empty'
|
||||||
|
@ -117,6 +113,27 @@ module.exports = Self => {
|
||||||
throw new UserError('You can not modify is pay method checked');
|
throw new UserError('You can not modify is pay method checked');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Self.validateAsync('name', 'countryFk', hasSupplierSameName, {
|
||||||
|
message: 'A supplier with the same name already exists. Change the country.'
|
||||||
|
});
|
||||||
|
|
||||||
|
async function hasSupplierSameName(err, done) {
|
||||||
|
if (!this.name || !this.countryFk) done();
|
||||||
|
const supplier = await Self.app.models.Supplier.findOne(
|
||||||
|
{
|
||||||
|
|||||||
|
where: {
|
||||||
|
name: this.name,
|
||||||
juan
commented
No es necesario evaluar No es necesario evaluar `hasChanges`
|
|||||||
|
countryFk: this.countryFk
|
||||||
|
},
|
||||||
|
fields: ['id']
|
||||||
|
});
|
||||||
|
|
||||||
jgallego
commented
Esta duplicada la validació, que confirme Juan açò Esta duplicada la validació, que confirme Juan açò
juan
commented
Si, en principio con la clave UNIQUE que se crea en la tabla es suficiente Si, en principio con la clave UNIQUE que se crea en la tabla es suficiente
|
|||||||
|
if (supplier && supplier.id != this.id)
|
||||||
|
err();
|
||||||
|
|
||||||
|
done();
|
||||||
|
}
|
||||||
|
|
||||||
Self.observe('before save', async function(ctx) {
|
Self.observe('before save', async function(ctx) {
|
||||||
const changes = ctx.data || ctx.instance;
|
const changes = ctx.data || ctx.instance;
|
||||||
const orgData = ctx.currentInstance;
|
const orgData = ctx.currentInstance;
|
||||||
|
|
Loading…
Reference in New Issue
hasChanges
ya se esta evaluando en el if, no es necesario repetirlo aquí