refs #6184 saveCmr #1788
98
CHANGELOG.md
98
CHANGELOG.md
|
@ -5,73 +5,94 @@ All notable changes to this project will be documented in this file.
|
||||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
|
## [2408.01] - 2024-02-22
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
## [2406.01] - 2024-02-08
|
## [2406.01] - 2024-02-08
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
### Changed
|
|
||||||
### Fixed
|
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
## [2404.01] - 2024-01-25
|
## [2404.01] - 2024-01-25
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
### Changed
|
|
||||||
### Fixed
|
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
## [2402.01] - 2024-01-11
|
## [2402.01] - 2024-01-11
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
## [2400.01] - 2024-01-04
|
## [2400.01] - 2024-01-04
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
## [2350.01] - 2023-12-14
|
## [2350.01] - 2023-12-14
|
||||||
|
|
||||||
### Características Añadidas 🆕
|
### Características Añadidas 🆕
|
||||||
- **Tickets → Expediciones:** Añadido soporte para Viaexpress
|
|
||||||
|
|
||||||
|
- **Tickets → Expediciones:** Añadido soporte para Viaexpress
|
||||||
|
|
||||||
## [2348.01] - 2023-11-30
|
## [2348.01] - 2023-11-30
|
||||||
|
|
||||||
### Características Añadidas 🆕
|
### Características Añadidas 🆕
|
||||||
|
|
||||||
- **Tickets → Adelantar:** Permite mover lineas sin generar negativos
|
- **Tickets → Adelantar:** Permite mover lineas sin generar negativos
|
||||||
- **Tickets → Adelantar:** Permite modificar la fecha de los tickets
|
- **Tickets → Adelantar:** Permite modificar la fecha de los tickets
|
||||||
- **Trabajadores → Notificaciones:** Nueva sección (lilium)
|
- **Trabajadores → Notificaciones:** Nueva sección (lilium)
|
||||||
|
|
||||||
### Correcciones 🛠️
|
### Correcciones 🛠️
|
||||||
- **Tickets → RocketChat:** Arreglada detección de cambios
|
|
||||||
|
|
||||||
|
- **Tickets → RocketChat:** Arreglada detección de cambios
|
||||||
|
|
||||||
## [2346.01] - 2023-11-16
|
## [2346.01] - 2023-11-16
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
### Changed
|
|
||||||
### Fixed
|
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
## [2342.01] - 2023-11-02
|
## [2342.01] - 2023-11-02
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
- (Usuarios -> Foto) Se muestra la foto del trabajador
|
|
||||||
### Fixed
|
|
||||||
- (Usuarios -> Historial) Abre el descriptor del usuario correctamente
|
|
||||||
|
|
||||||
|
- (Usuarios -> Foto) Se muestra la foto del trabajador
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- (Usuarios -> Historial) Abre el descriptor del usuario correctamente
|
||||||
|
|
||||||
## [2340.01] - 2023-10-05
|
## [2340.01] - 2023-10-05
|
||||||
|
|
||||||
## [2338.01] - 2023-09-21
|
## [2338.01] - 2023-09-21
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- (Ticket -> Servicios) Se pueden abonar servicios
|
- (Ticket -> Servicios) Se pueden abonar servicios
|
||||||
- (Facturas -> Datos básicos) Muestra valores por defecto
|
- (Facturas -> Datos básicos) Muestra valores por defecto
|
||||||
- (Facturas -> Borrado) Notificación al borrar un asiento ya enlazado en Sage
|
- (Facturas -> Borrado) Notificación al borrar un asiento ya enlazado en Sage
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- (Trabajadores -> Calendario) Icono de check arreglado cuando pulsas un tipo de dia
|
- (Trabajadores -> Calendario) Icono de check arreglado cuando pulsas un tipo de dia
|
||||||
|
|
||||||
## [2336.01] - 2023-09-07
|
## [2336.01] - 2023-09-07
|
||||||
|
@ -79,41 +100,45 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||||
## [2334.01] - 2023-08-24
|
## [2334.01] - 2023-08-24
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
- (General -> Errores) Botón para enviar cau con los datos del error
|
|
||||||
|
|
||||||
|
- (General -> Errores) Botón para enviar cau con los datos del error
|
||||||
|
|
||||||
## [2332.01] - 2023-08-10
|
## [2332.01] - 2023-08-10
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- (Trabajadores -> Gestión documental) Soporte para Docuware
|
- (Trabajadores -> Gestión documental) Soporte para Docuware
|
||||||
- (General -> Agencia) Soporte para Viaexpress
|
- (General -> Agencia) Soporte para Viaexpress
|
||||||
- (Tickets -> SMS) Nueva sección en Lilium
|
- (Tickets -> SMS) Nueva sección en Lilium
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- (General -> Tickets) Devuelve el motivo por el cual no es editable
|
- (General -> Tickets) Devuelve el motivo por el cual no es editable
|
||||||
- (Desplegables -> Trabajadores) Mejorados
|
- (Desplegables -> Trabajadores) Mejorados
|
||||||
- (General -> Clientes) Razón social y dirección en mayúsculas
|
- (General -> Clientes) Razón social y dirección en mayúsculas
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
- (Clientes -> SMS) Al pasar el ratón por encima muestra el mensaje completo
|
|
||||||
|
|
||||||
|
- (Clientes -> SMS) Al pasar el ratón por encima muestra el mensaje completo
|
||||||
|
|
||||||
## [2330.01] - 2023-07-27
|
## [2330.01] - 2023-07-27
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- (Artículos -> Vista Previa) Añadido campo "Plástico reciclado"
|
- (Artículos -> Vista Previa) Añadido campo "Plástico reciclado"
|
||||||
- (Rutas -> Troncales) Nueva sección
|
- (Rutas -> Troncales) Nueva sección
|
||||||
- (Tickets -> Opciones) Opción establecer peso
|
- (Tickets -> Opciones) Opción establecer peso
|
||||||
- (Clientes -> SMS) Nueva sección
|
- (Clientes -> SMS) Nueva sección
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- (General -> Iconos) Añadidos nuevos iconos
|
- (General -> Iconos) Añadidos nuevos iconos
|
||||||
- (Clientes -> Razón social) Permite crear clientes con la misma razón social según el país
|
- (Clientes -> Razón social) Permite crear clientes con la misma razón social según el país
|
||||||
|
|
||||||
|
|
||||||
## [2328.01] - 2023-07-13
|
## [2328.01] - 2023-07-13
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- (Clientes -> Morosos) Añadida columna "es trabajador"
|
- (Clientes -> Morosos) Añadida columna "es trabajador"
|
||||||
- (Trabajadores -> Departamentos) Nueva sección
|
- (Trabajadores -> Departamentos) Nueva sección
|
||||||
- (Trabajadores -> Departamentos) Añadido listado de Trabajadores por departamento
|
- (Trabajadores -> Departamentos) Añadido listado de Trabajadores por departamento
|
||||||
|
@ -122,28 +147,32 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
- (Trabajadores -> Departamentos) Arreglado búscador
|
|
||||||
|
|
||||||
|
- (Trabajadores -> Departamentos) Arreglado búscador
|
||||||
|
|
||||||
## [2326.01] - 2023-06-29
|
## [2326.01] - 2023-06-29
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- (Entradas -> Correo) Al cambiar el tipo de cambio enviará un correo a las personas designadas
|
- (Entradas -> Correo) Al cambiar el tipo de cambio enviará un correo a las personas designadas
|
||||||
- (General -> Históricos) Botón para ver el estado del registro en cada punto
|
- (General -> Históricos) Botón para ver el estado del registro en cada punto
|
||||||
- (General -> Históricos) Al filtar por registro se muestra todo el histórial desde que fue creado
|
- (General -> Históricos) Al filtar por registro se muestra todo el histórial desde que fue creado
|
||||||
- (Tickets -> Índice) Permite enviar varios albaranes a Docuware
|
- (Tickets -> Índice) Permite enviar varios albaranes a Docuware
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- (General -> Históricos) Los registros se muestran agrupados por usuario y entidad
|
- (General -> Históricos) Los registros se muestran agrupados por usuario y entidad
|
||||||
- (Facturas -> Facturación global) Optimizada, generación de PDFs y notificaciones en paralelo
|
- (Facturas -> Facturación global) Optimizada, generación de PDFs y notificaciones en paralelo
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- (General -> Históricos) Duplicidades eliminadas
|
- (General -> Históricos) Duplicidades eliminadas
|
||||||
- (Facturas -> Facturación global) Solucionados fallos que paran el proceso
|
- (Facturas -> Facturación global) Solucionados fallos que paran el proceso
|
||||||
|
|
||||||
## [2324.01] - 2023-06-15
|
## [2324.01] - 2023-06-15
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- (Tickets -> Abono) Al abonar permite crear el ticket abono con almacén o sin almmacén
|
- (Tickets -> Abono) Al abonar permite crear el ticket abono con almacén o sin almmacén
|
||||||
- (General -> Desplegables) Mejorada eficiencia de carga de datos
|
- (General -> Desplegables) Mejorada eficiencia de carga de datos
|
||||||
- (General -> Históricos) Ahora, ademas de los ids, se muestra la descripión de los atributos
|
- (General -> Históricos) Ahora, ademas de los ids, se muestra la descripión de los atributos
|
||||||
|
@ -151,77 +180,84 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||||
- (General -> Históricos) Filtro por cambios
|
- (General -> Históricos) Filtro por cambios
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- (General -> Permisos) Mejorada seguridad
|
- (General -> Permisos) Mejorada seguridad
|
||||||
- (General -> Históricos) Elementos de la interfaz reorganizados para hacerla más ágil e intuitiva
|
- (General -> Históricos) Elementos de la interfaz reorganizados para hacerla más ágil e intuitiva
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
-
|
-
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## [2322.01] - 2023-06-01
|
## [2322.01] - 2023-06-01
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- (Tickets -> Crear Factura) Al facturar se envia automáticamente el pdf al cliente
|
- (Tickets -> Crear Factura) Al facturar se envia automáticamente el pdf al cliente
|
||||||
- (Artículos -> Histórico) Filtro para mostrar lo anterior al inventario
|
- (Artículos -> Histórico) Filtro para mostrar lo anterior al inventario
|
||||||
- (Trabajadores -> Nuevo trabajador) Permite elegir el método de pago
|
- (Trabajadores -> Nuevo trabajador) Permite elegir el método de pago
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- (Trabajadores -> Nuevo trabajador) Los clientes se crean sin 'TR' pero se añade tipo de negocio 'Trabajador'
|
- (Trabajadores -> Nuevo trabajador) Los clientes se crean sin 'TR' pero se añade tipo de negocio 'Trabajador'
|
||||||
- (Tickets -> Expediciones) Interfaz mejorada y contador añadido
|
- (Tickets -> Expediciones) Interfaz mejorada y contador añadido
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- (Tickets -> Líneas) Se permite hacer split de líneas al mismo ticket
|
- (Tickets -> Líneas) Se permite hacer split de líneas al mismo ticket
|
||||||
- (Tickets -> Cambiar estado) Ahora muestra la lista completa de todos los estados
|
- (Tickets -> Cambiar estado) Ahora muestra la lista completa de todos los estados
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## [2320.01] - 2023-05-25
|
## [2320.01] - 2023-05-25
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- (Tickets -> Crear Factura) Al facturar se envia automáticamente el pdf al cliente
|
- (Tickets -> Crear Factura) Al facturar se envia automáticamente el pdf al cliente
|
||||||
|
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- (Trabajadores -> Nuevo trabajador) Los clientes se crean sin 'TR' pero se añade tipo de negocio 'Trabajador'
|
- (Trabajadores -> Nuevo trabajador) Los clientes se crean sin 'TR' pero se añade tipo de negocio 'Trabajador'
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
-
|
-
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## [2318.01] - 2023-05-08
|
## [2318.01] - 2023-05-08
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- (Usuarios -> Histórico) Nueva sección
|
- (Usuarios -> Histórico) Nueva sección
|
||||||
- (Roles -> Histórico) Nueva sección
|
- (Roles -> Histórico) Nueva sección
|
||||||
- (Trabajadores -> Dar de alta) Permite elegir el método de pago
|
- (Trabajadores -> Dar de alta) Permite elegir el método de pago
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- (Artículo -> Precio fijado) Modificado el buscador superior por uno lateral
|
- (Artículo -> Precio fijado) Modificado el buscador superior por uno lateral
|
||||||
- (Trabajadores -> Dar de alta) Quitada obligatoriedad del iban
|
- (Trabajadores -> Dar de alta) Quitada obligatoriedad del iban
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- (Ticket -> Boxing) Arreglado selección de horas
|
- (Ticket -> Boxing) Arreglado selección de horas
|
||||||
- (Cesta -> Índice) Optimizada búsqueda
|
- (Cesta -> Índice) Optimizada búsqueda
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## [2314.01] - 2023-04-20
|
## [2314.01] - 2023-04-20
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- (Clientes -> Morosos) Ahora se puede filtrar por las columnas "Desde" y "Fecha Ú. O.". También se envia un email al comercial cuando se añade una nota.
|
- (Clientes -> Morosos) Ahora se puede filtrar por las columnas "Desde" y "Fecha Ú. O.". También se envia un email al comercial cuando se añade una nota.
|
||||||
- (Monitor tickets) Muestra un icono al lado de la zona, si el ticket es frágil y se envía por agencia
|
- (Monitor tickets) Muestra un icono al lado de la zona, si el ticket es frágil y se envía por agencia
|
||||||
- (Facturas recibidas -> Bases negativas) Nueva sección
|
- (Facturas recibidas -> Bases negativas) Nueva sección
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- (Clientes -> Morosos) Ahora se mantienen los elementos seleccionados al hacer sroll.
|
- (Clientes -> Morosos) Ahora se mantienen los elementos seleccionados al hacer sroll.
|
||||||
|
|
||||||
## [2312.01] - 2023-04-06
|
## [2312.01] - 2023-04-06
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- (Monitor tickets) Muestra un icono al lado de la zona, si el ticket es frágil y se envía por agencia
|
- (Monitor tickets) Muestra un icono al lado de la zona, si el ticket es frágil y se envía por agencia
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- (Monitor tickets) Cuando se filtra por 'Pendiente' ya no muestra los estados de 'Previa'
|
- (Monitor tickets) Cuando se filtra por 'Pendiente' ya no muestra los estados de 'Previa'
|
||||||
- (Envíos -> Extra comunitarios) Se agrupan las entradas del mismo travel. Añadidos campos Referencia y Importe.
|
- (Envíos -> Extra comunitarios) Se agrupan las entradas del mismo travel. Añadidos campos Referencia y Importe.
|
||||||
- (Envíos -> Índice) Cambiado el buscador superior por uno lateral
|
- (Envíos -> Índice) Cambiado el buscador superior por uno lateral
|
||||||
|
@ -229,33 +265,40 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||||
## [2310.01] - 2023-03-23
|
## [2310.01] - 2023-03-23
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- (Trabajadores -> Control de horario) Ahora se puede confirmar/no confirmar el registro horario de cada semana desde esta sección
|
- (Trabajadores -> Control de horario) Ahora se puede confirmar/no confirmar el registro horario de cada semana desde esta sección
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- (Clientes -> Listado extendido) Resuelto error al filtrar por clientes inactivos desde la columna "Activo"
|
- (Clientes -> Listado extendido) Resuelto error al filtrar por clientes inactivos desde la columna "Activo"
|
||||||
- (General) Al pasar el ratón por encima del icono de "Borrar" en un campo, se hacía más grande afectando a la interfaz
|
- (General) Al pasar el ratón por encima del icono de "Borrar" en un campo, se hacía más grande afectando a la interfaz
|
||||||
|
|
||||||
## [2308.01] - 2023-03-09
|
## [2308.01] - 2023-03-09
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- (Proveedores -> Datos fiscales) Añadido checkbox 'Vies'
|
- (Proveedores -> Datos fiscales) Añadido checkbox 'Vies'
|
||||||
- (Client -> Descriptor) Nuevo icono $ con barrotes para los clientes con impago
|
- (Client -> Descriptor) Nuevo icono $ con barrotes para los clientes con impago
|
||||||
- (Trabajador -> Datos Básicos) Añadido nuevo campo Taquilla
|
- (Trabajador -> Datos Básicos) Añadido nuevo campo Taquilla
|
||||||
- (Trabajador -> PDA) Nueva sección
|
- (Trabajador -> PDA) Nueva sección
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- (Ticket -> Borrar ticket) Restringido el borrado de tickets con abono
|
- (Ticket -> Borrar ticket) Restringido el borrado de tickets con abono
|
||||||
|
|
||||||
## [2306.01] - 2023-02-23
|
## [2306.01] - 2023-02-23
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- (Tickets -> Datos Básicos) Mensaje de confirmación al intentar generar tickets con negativos
|
- (Tickets -> Datos Básicos) Mensaje de confirmación al intentar generar tickets con negativos
|
||||||
- (Artículos) El visible y disponible se calcula a partir de un almacén diferente dependiendo de la sección en la que te encuentres. Se ha añadido un icono que informa sobre a partir de que almacén se esta calculando.
|
- (Artículos) El visible y disponible se calcula a partir de un almacén diferente dependiendo de la sección en la que te encuentres. Se ha añadido un icono que informa sobre a partir de que almacén se esta calculando.
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- (General -> Inicio) Ahora permite recuperar la contraseña tanto con el correo de recuperación como el usuario
|
- (General -> Inicio) Ahora permite recuperar la contraseña tanto con el correo de recuperación como el usuario
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- (Monitor de tickets) Cuando ordenas por columna, ya no se queda deshabilitado el botón de 'Actualizar'
|
- (Monitor de tickets) Cuando ordenas por columna, ya no se queda deshabilitado el botón de 'Actualizar'
|
||||||
- (Zone -> Días de entrega) Al hacer click en un día, muestra correctamente las zonas
|
- (Zone -> Días de entrega) Al hacer click en un día, muestra correctamente las zonas
|
||||||
- (Artículos) El disponible en la vista previa se muestra correctamente
|
- (Artículos) El disponible en la vista previa se muestra correctamente
|
||||||
|
@ -263,12 +306,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||||
## [2304.01] - 2023-02-09
|
## [2304.01] - 2023-02-09
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- (Rutas) Al descargar varias facturas se comprime en un zip
|
- (Rutas) Al descargar varias facturas se comprime en un zip
|
||||||
- (Trabajadores -> Nuevo trabajador) Nueva sección
|
- (Trabajadores -> Nuevo trabajador) Nueva sección
|
||||||
- (Tickets -> Adelantar tickets) Añadidos campos "líneas" y "litros" al ticket origen
|
- (Tickets -> Adelantar tickets) Añadidos campos "líneas" y "litros" al ticket origen
|
||||||
- (Tickets -> Adelantar tickets) Nuevo icono muestra cuando las agencias de los tickets origen/destino son distintas
|
- (Tickets -> Adelantar tickets) Nuevo icono muestra cuando las agencias de los tickets origen/destino son distintas
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- (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
|
||||||
|
@ -277,6 +322,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||||
- (Tickets -> Adelantar tickets) Cambiado stock de destino a origen.
|
- (Tickets -> Adelantar tickets) Cambiado stock de destino a origen.
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- (Artículos -> Etiquetas) Permite intercambiar la relevancia entre dos etiquetas.
|
- (Artículos -> Etiquetas) Permite intercambiar la relevancia entre dos etiquetas.
|
||||||
- (Cliente -> Datos Fiscales) No se permite seleccionar 'Notificar vía e-mail' a los clientes sin e-mail
|
- (Cliente -> Datos Fiscales) No se permite seleccionar 'Notificar vía e-mail' a los clientes sin e-mail
|
||||||
- (Tickets -> Datos básicos) Permite guardar la hora de envío
|
- (Tickets -> Datos básicos) Permite guardar la hora de envío
|
||||||
|
@ -287,17 +333,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||||
## [2302.01] - 2023-01-26
|
## [2302.01] - 2023-01-26
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
||||||
- (General -> Inicio) Permite recuperar la contraseña
|
- (General -> Inicio) Permite recuperar la contraseña
|
||||||
- (Tickets -> Opciones) Subir albarán a Docuware
|
- (Tickets -> Opciones) Subir albarán a Docuware
|
||||||
- (Tickets -> Opciones) Enviar correo con PDF de Docuware
|
- (Tickets -> Opciones) Enviar correo con PDF de Docuware
|
||||||
- (Artículos -> Datos Básicos) Añadido campo Unidades/Caja
|
- (Artículos -> Datos Básicos) Añadido campo Unidades/Caja
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- (Reclamaciones -> Descriptor) Cambiado el campo Agencia por Zona
|
- (Reclamaciones -> Descriptor) Cambiado el campo Agencia por Zona
|
||||||
- (Tickets -> Líneas preparadas) Actualizada sección para que sea más visual
|
- (Tickets -> Líneas preparadas) Actualizada sección para que sea más visual
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
- (General) Al utilizar el traductor de Google se descuadraban los iconos
|
- (General) Al utilizar el traductor de Google se descuadraban los iconos
|
||||||
|
|
||||||
### Removed
|
### Removed
|
||||||
|
|
||||||
- (Tickets -> Control clientes) Eliminada sección
|
- (Tickets -> Control clientes) Eliminada sección
|
||||||
|
|
|
@ -40,11 +40,11 @@ RUN apt-get update \
|
||||||
WORKDIR /salix
|
WORKDIR /salix
|
||||||
|
|
||||||
COPY print/package.json print/package-lock.json print/
|
COPY print/package.json print/package-lock.json print/
|
||||||
RUN npm --prefix ./print install --omit=dev ./print
|
RUN npm ci --no-audit --prefer-offline --omit=dev --prefix=print
|
||||||
|
|
||||||
COPY package.json package-lock.json ./
|
COPY package.json package-lock.json ./
|
||||||
COPY loopback/package.json loopback/
|
COPY loopback/package.json loopback/
|
||||||
RUN npm install --omit=dev
|
RUN npm ci --no-audit --prefer-offline --omit=dev
|
||||||
|
|
||||||
COPY loopback loopback
|
COPY loopback loopback
|
||||||
COPY back back
|
COPY back back
|
||||||
|
|
|
@ -4,6 +4,47 @@ def PROTECTED_BRANCH
|
||||||
def FROM_GIT
|
def FROM_GIT
|
||||||
def RUN_TESTS
|
def RUN_TESTS
|
||||||
|
|
||||||
|
pre: {
|
||||||
|
switch (env.BRANCH_NAME) {
|
||||||
|
case 'test':
|
||||||
|
env.NODE_ENV = 'test'
|
||||||
|
env.BACK_REPLICAS = 2
|
||||||
|
break
|
||||||
|
case 'master':
|
||||||
|
env.NODE_ENV = 'production'
|
||||||
|
env.BACK_REPLICAS = 4
|
||||||
|
break
|
||||||
|
default:
|
||||||
|
env.NODE_ENV = 'dev'
|
||||||
|
env.BACK_REPLICAS = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
PROTECTED_BRANCH = [
|
||||||
|
'dev',
|
||||||
|
'test',
|
||||||
|
'master'
|
||||||
|
].contains(env.BRANCH_NAME)
|
||||||
|
|
||||||
|
FROM_GIT = env.JOB_NAME.startsWith('gitea/')
|
||||||
|
RUN_TESTS = !PROTECTED_BRANCH && FROM_GIT
|
||||||
|
|
||||||
|
// Uncomment to enable debugging
|
||||||
|
// https://loopback.io/doc/en/lb3/Setting-debug-strings.html#debug-strings-reference
|
||||||
|
//env.DEBUG = 'strong-remoting:shared-method'
|
||||||
|
}
|
||||||
|
node {
|
||||||
|
stage('Setup') {
|
||||||
|
def packageJson = readJSON file: 'package.json'
|
||||||
|
env.VERSION = packageJson.version
|
||||||
|
|
||||||
|
env.GIT_COMMIT_MSG = sh(
|
||||||
|
script: 'git log -1 --pretty=%B ${GIT_COMMIT}',
|
||||||
|
returnStdout: true
|
||||||
|
).trim()
|
||||||
|
|
||||||
|
setEnv()
|
||||||
|
}
|
||||||
|
}
|
||||||
pipeline {
|
pipeline {
|
||||||
agent any
|
agent any
|
||||||
options {
|
options {
|
||||||
|
@ -17,44 +58,6 @@ pipeline {
|
||||||
STACK_NAME = "${env.PROJECT_NAME}-${env.BRANCH_NAME}"
|
STACK_NAME = "${env.PROJECT_NAME}-${env.BRANCH_NAME}"
|
||||||
}
|
}
|
||||||
stages {
|
stages {
|
||||||
stage('Checkout') {
|
|
||||||
steps {
|
|
||||||
script {
|
|
||||||
switch (env.BRANCH_NAME) {
|
|
||||||
case 'dev':
|
|
||||||
env.NODE_ENV = 'dev'
|
|
||||||
env.BACK_REPLICAS = 1
|
|
||||||
break
|
|
||||||
case 'test':
|
|
||||||
env.NODE_ENV = 'test'
|
|
||||||
env.BACK_REPLICAS = 2
|
|
||||||
break
|
|
||||||
case 'master':
|
|
||||||
env.NODE_ENV = 'production'
|
|
||||||
env.BACK_REPLICAS = 4
|
|
||||||
break
|
|
||||||
}
|
|
||||||
|
|
||||||
def packageJson = readJSON file: 'package.json'
|
|
||||||
env.VERSION = packageJson.version
|
|
||||||
|
|
||||||
env.GIT_COMMIT_MSG = sh(
|
|
||||||
script: 'git log -1 --pretty=%B ${GIT_COMMIT}',
|
|
||||||
returnStdout: true
|
|
||||||
).trim()
|
|
||||||
|
|
||||||
PROTECTED_BRANCH = [
|
|
||||||
'dev',
|
|
||||||
'test',
|
|
||||||
'master'
|
|
||||||
].contains(env.BRANCH_NAME)
|
|
||||||
|
|
||||||
FROM_GIT = JOB_NAME.startsWith('gitea/')
|
|
||||||
RUN_TESTS = !PROTECTED_BRANCH && FROM_GIT
|
|
||||||
}
|
|
||||||
setEnv()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
stage('Install') {
|
stage('Install') {
|
||||||
environment {
|
environment {
|
||||||
NODE_ENV = ""
|
NODE_ENV = ""
|
||||||
|
@ -67,7 +70,7 @@ pipeline {
|
||||||
}
|
}
|
||||||
stage('Frontend') {
|
stage('Frontend') {
|
||||||
when {
|
when {
|
||||||
expression { return FROM_GIT }
|
expression { FROM_GIT }
|
||||||
}
|
}
|
||||||
steps {
|
steps {
|
||||||
sh 'npm install --no-audit --prefer-offline --prefix=front'
|
sh 'npm install --no-audit --prefer-offline --prefix=front'
|
||||||
|
@ -75,7 +78,7 @@ pipeline {
|
||||||
}
|
}
|
||||||
stage('Print') {
|
stage('Print') {
|
||||||
when {
|
when {
|
||||||
expression { return FROM_GIT }
|
expression { FROM_GIT }
|
||||||
}
|
}
|
||||||
steps {
|
steps {
|
||||||
sh 'npm install --no-audit --prefer-offline --prefix=print'
|
sh 'npm install --no-audit --prefer-offline --prefix=print'
|
||||||
|
@ -85,7 +88,7 @@ pipeline {
|
||||||
}
|
}
|
||||||
stage('Test') {
|
stage('Test') {
|
||||||
when {
|
when {
|
||||||
expression { return RUN_TESTS }
|
expression { RUN_TESTS }
|
||||||
}
|
}
|
||||||
environment {
|
environment {
|
||||||
NODE_ENV = ""
|
NODE_ENV = ""
|
||||||
|
@ -106,7 +109,7 @@ pipeline {
|
||||||
}
|
}
|
||||||
stage('Build') {
|
stage('Build') {
|
||||||
when {
|
when {
|
||||||
expression { return PROTECTED_BRANCH && FROM_GIT }
|
expression { PROTECTED_BRANCH && FROM_GIT }
|
||||||
}
|
}
|
||||||
environment {
|
environment {
|
||||||
CREDENTIALS = credentials('docker-registry')
|
CREDENTIALS = credentials('docker-registry')
|
||||||
|
@ -118,7 +121,7 @@ pipeline {
|
||||||
}
|
}
|
||||||
stage('Deploy') {
|
stage('Deploy') {
|
||||||
when {
|
when {
|
||||||
expression { return PROTECTED_BRANCH }
|
expression { PROTECTED_BRANCH }
|
||||||
}
|
}
|
||||||
parallel {
|
parallel {
|
||||||
stage('Database') {
|
stage('Database') {
|
||||||
|
@ -136,7 +139,7 @@ pipeline {
|
||||||
}
|
}
|
||||||
stage('Docker') {
|
stage('Docker') {
|
||||||
when {
|
when {
|
||||||
expression { return FROM_GIT }
|
expression { FROM_GIT }
|
||||||
}
|
}
|
||||||
environment {
|
environment {
|
||||||
DOCKER_HOST = "${env.SWARM_HOST}"
|
DOCKER_HOST = "${env.SWARM_HOST}"
|
||||||
|
|
|
@ -2,7 +2,7 @@ DELIMITER $$
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `edi`.`ekt_scan`(vBarcode VARCHAR(512))
|
CREATE OR REPLACE DEFINER=`root`@`localhost` PROCEDURE `edi`.`ekt_scan`(vBarcode VARCHAR(512))
|
||||||
BEGIN
|
BEGIN
|
||||||
/**
|
/**
|
||||||
* Busca transaciones a partir de un código de barras, las marca como escaneadas
|
* Busca transaciones a partir de un codigo de barras, las marca como escaneadas
|
||||||
* y las devuelve.
|
* y las devuelve.
|
||||||
* Ver https://wiki.verdnatura.es/index.php/Ekt#Algoritmos_de_lectura
|
* Ver https://wiki.verdnatura.es/index.php/Ekt#Algoritmos_de_lectura
|
||||||
*
|
*
|
||||||
|
@ -73,7 +73,7 @@ BEGIN
|
||||||
INSERT INTO tmp.ekt
|
INSERT INTO tmp.ekt
|
||||||
SELECT id
|
SELECT id
|
||||||
FROM ekt
|
FROM ekt
|
||||||
WHERE fec = vFec
|
WHERE fec >= vFec - INTERVAL 1 DAY
|
||||||
AND ((
|
AND ((
|
||||||
vKlo = vDefaultKlo
|
vKlo = vDefaultKlo
|
||||||
AND (klo = vKlo OR klo IS NULL OR klo = 0)
|
AND (klo = vKlo OR klo IS NULL OR klo = 0)
|
||||||
|
@ -82,7 +82,7 @@ BEGIN
|
||||||
AND auction = vAuction
|
AND auction = vAuction
|
||||||
AND agj = vShortAgj)
|
AND agj = vShortAgj)
|
||||||
)
|
)
|
||||||
ORDER BY agj DESC
|
ORDER BY agj DESC, fec DESC
|
||||||
LIMIT 1;
|
LIMIT 1;
|
||||||
|
|
||||||
SELECT COUNT(*) FROM tmp.ekt INTO vIsFound;
|
SELECT COUNT(*) FROM tmp.ekt INTO vIsFound;
|
||||||
|
|
|
@ -21,11 +21,8 @@ BEGIN
|
||||||
DECLARE vAgencyModeFk INT;
|
DECLARE vAgencyModeFk INT;
|
||||||
DECLARE vNewPrice DECIMAL(10,2);
|
DECLARE vNewPrice DECIMAL(10,2);
|
||||||
DECLARE vOldPrice DECIMAL(10,2);
|
DECLARE vOldPrice DECIMAL(10,2);
|
||||||
DECLARE vOption INT DEFAULT NULL;
|
DECLARE vOption VARCHAR(255);
|
||||||
DECLARE vNewSaleFk INT;
|
DECLARE vNewSaleFk INT;
|
||||||
DECLARE vChangePrice INT DEFAULT 1;
|
|
||||||
DECLARE vBuyerDiscount INT DEFAULT 4;
|
|
||||||
DECLARE vManaDiscount INT DEFAULT 3;
|
|
||||||
DECLARE vForceToGrouping INT DEFAULT 1;
|
DECLARE vForceToGrouping INT DEFAULT 1;
|
||||||
DECLARE vForceToPacking INT DEFAULT 2;
|
DECLARE vForceToPacking INT DEFAULT 2;
|
||||||
DECLARE vFinalPrice DECIMAL(10,2);
|
DECLARE vFinalPrice DECIMAL(10,2);
|
||||||
|
@ -85,16 +82,13 @@ BEGIN
|
||||||
IF vNewPrice IS NULL THEN
|
IF vNewPrice IS NULL THEN
|
||||||
CALL util.throw('price retrieval failed');
|
CALL util.throw('price retrieval failed');
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
IF vNewPrice > vOldPrice THEN
|
IF vNewPrice > vOldPrice THEN
|
||||||
SET vFinalPrice = vOldPrice;
|
SET vFinalPrice = vOldPrice;
|
||||||
IF worker_isInDepartment('vt') THEN
|
SET vOption = 'substitution';
|
||||||
SET vOption = vManaDiscount;
|
|
||||||
ELSE
|
|
||||||
SET vOption = vBuyerDiscount;
|
|
||||||
END IF;
|
|
||||||
ELSE
|
ELSE
|
||||||
SET vFinalPrice = vNewPrice;
|
SET vFinalPrice = vNewPrice;
|
||||||
SET vOption = vChangePrice;
|
SET vOption = 'renewPrices';
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
START TRANSACTION;
|
START TRANSACTION;
|
||||||
|
|
|
@ -31,8 +31,8 @@ BEGIN
|
||||||
CALL util.throw('ASSIGN_ZONE_FIRST');
|
CALL util.throw('ASSIGN_ZONE_FIRST');
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
SET vCanChangeState = (
|
SET vCanChangeState = ((
|
||||||
vStateCode <> 'ON_CHECKING' OR
|
vStateCode <> 'ON_CHECKING' AND vStateCode <> 'CHECKED') OR
|
||||||
vticketAlertLevel < vPackedAlertLevel
|
vticketAlertLevel < vPackedAlertLevel
|
||||||
)AND NOT (
|
)AND NOT (
|
||||||
vTicketStateCode IN ('CHECKED', 'CHECKING')
|
vTicketStateCode IN ('CHECKED', 'CHECKING')
|
||||||
|
@ -51,5 +51,6 @@ BEGIN
|
||||||
ELSE
|
ELSE
|
||||||
CALL util.throw('INCORRECT_TICKET_STATE');
|
CALL util.throw('INCORRECT_TICKET_STATE');
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
END$$
|
END$$
|
||||||
DELIMITER ;
|
DELIMITER ;
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost`
|
|
||||||
SQL SECURITY DEFINER
|
|
||||||
VIEW `vn2008`.`observation_type`
|
|
||||||
AS SELECT `co`.`id` AS `observation_type_id`,
|
|
||||||
`co`.`description` AS `description`
|
|
||||||
FROM `vn`.`observationType` `co`
|
|
|
@ -1,15 +0,0 @@
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost`
|
|
||||||
SQL SECURITY DEFINER
|
|
||||||
VIEW `vn2008`.`order`
|
|
||||||
AS SELECT `hedera`.`order`.`id` AS `id`,
|
|
||||||
`hedera`.`order`.`date_make` AS `date_make`,
|
|
||||||
`hedera`.`order`.`date_send` AS `date_send`,
|
|
||||||
`hedera`.`order`.`customer_id` AS `customer_id`,
|
|
||||||
`hedera`.`order`.`delivery_method_id` AS `delivery_method_id`,
|
|
||||||
`hedera`.`order`.`agency_id` AS `agency_id`,
|
|
||||||
`hedera`.`order`.`address_id` AS `address_id`,
|
|
||||||
`hedera`.`order`.`note` AS `note`,
|
|
||||||
`hedera`.`order`.`confirmed` AS `confirmed`,
|
|
||||||
`hedera`.`order`.`is_bionic` AS `is_bionic`,
|
|
||||||
`hedera`.`order`.`source_app` AS `source_app`
|
|
||||||
FROM `hedera`.`order`
|
|
|
@ -1,6 +0,0 @@
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost`
|
|
||||||
SQL SECURITY DEFINER
|
|
||||||
VIEW `vn2008`.`order_Tickets`
|
|
||||||
AS SELECT `ot`.`orderFk` AS `order_id`,
|
|
||||||
`ot`.`ticketFk` AS `Id_Ticket`
|
|
||||||
FROM `vn`.`orderTicket` `ot`
|
|
|
@ -1,7 +0,0 @@
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost`
|
|
||||||
SQL SECURITY DEFINER
|
|
||||||
VIEW `vn2008`.`order_component`
|
|
||||||
AS SELECT `c`.`order_row_id` AS `order_row_id`,
|
|
||||||
`c`.`component_id` AS `component_id`,
|
|
||||||
`c`.`price` AS `price`
|
|
||||||
FROM `hedera`.`order_component` `c`
|
|
|
@ -1,14 +0,0 @@
|
||||||
CREATE OR REPLACE DEFINER=`root`@`localhost`
|
|
||||||
SQL SECURITY DEFINER
|
|
||||||
VIEW `vn2008`.`order_row`
|
|
||||||
AS SELECT `order_row`.`id` AS `id`,
|
|
||||||
`order_row`.`order_id` AS `order_id`,
|
|
||||||
`order_row`.`item_id` AS `item_id`,
|
|
||||||
`order_row`.`warehouse_id` AS `warehouse_id`,
|
|
||||||
`order_row`.`shipment` AS `shipment`,
|
|
||||||
`order_row`.`amount` AS `amount`,
|
|
||||||
`order_row`.`price` AS `price`,
|
|
||||||
`order_row`.`rate` AS `rate`,
|
|
||||||
`order_row`.`created` AS `created`,
|
|
||||||
`order_row`.`Id_Movimiento` AS `Id_Movimiento`
|
|
||||||
FROM `hedera`.`order_row`
|
|
|
@ -22,6 +22,7 @@ services:
|
||||||
- 3000
|
- 3000
|
||||||
environment:
|
environment:
|
||||||
- NODE_ENV
|
- NODE_ENV
|
||||||
|
- DEBUG
|
||||||
configs:
|
configs:
|
||||||
- source: datasources
|
- source: datasources
|
||||||
target: /etc/salix/datasources.json
|
target: /etc/salix/datasources.json
|
||||||
|
|
|
@ -62,8 +62,10 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/angular-translate": {
|
"node_modules/angular-translate": {
|
||||||
"version": "2.19.0",
|
"version": "2.19.1",
|
||||||
"license": "MIT",
|
"resolved": "https://registry.npmjs.org/angular-translate/-/angular-translate-2.19.1.tgz",
|
||||||
|
"integrity": "sha512-SrU40ndnL422vXiVoqVveCmSnCzMcIXxQgnl7Cv9krOKUg6B8KZK3ddYzidHR/rxVuySezYHNDgRvzQNKwAdNQ==",
|
||||||
|
"deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"angular": "^1.8.0"
|
"angular": "^1.8.0"
|
||||||
},
|
},
|
||||||
|
@ -185,7 +187,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"angular-translate": {
|
"angular-translate": {
|
||||||
"version": "2.19.0",
|
"version": "2.19.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/angular-translate/-/angular-translate-2.19.1.tgz",
|
||||||
|
"integrity": "sha512-SrU40ndnL422vXiVoqVveCmSnCzMcIXxQgnl7Cv9krOKUg6B8KZK3ddYzidHR/rxVuySezYHNDgRvzQNKwAdNQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"angular": "^1.8.0"
|
"angular": "^1.8.0"
|
||||||
}
|
}
|
||||||
|
|
|
@ -337,5 +337,6 @@
|
||||||
"You already have the mailAlias": "Ya tienes este alias de correo",
|
"You already have the mailAlias": "Ya tienes este alias de correo",
|
||||||
"The alias cant be modified": "Este alias de correo no puede ser modificado",
|
"The alias cant be modified": "Este alias de correo no puede ser modificado",
|
||||||
"No tickets to invoice": "No hay tickets para facturar",
|
"No tickets to invoice": "No hay tickets para facturar",
|
||||||
"This ticket already has a cmr saved": "Este ticket ya tiene un cmr guardado"
|
"This ticket already has a cmr saved": "Este ticket ya tiene un cmr guardado",
|
||||||
|
"An email is necessary": "Es necesario un email"
|
||||||
}
|
}
|
|
@ -1,3 +1,5 @@
|
||||||
|
const UserError = require('vn-loopback/util/user-error');
|
||||||
|
|
||||||
module.exports = function(Self) {
|
module.exports = function(Self) {
|
||||||
Self.remoteMethod('createWithUser', {
|
Self.remoteMethod('createWithUser', {
|
||||||
description: 'Creates both client and its web account',
|
description: 'Creates both client and its web account',
|
||||||
|
@ -29,7 +31,11 @@ module.exports = function(Self) {
|
||||||
myOptions.transaction = tx;
|
myOptions.transaction = tx;
|
||||||
}
|
}
|
||||||
|
|
||||||
const firstEmail = data.email ? data.email.split(',')[0] : null;
|
if (!data.email)
|
||||||
|
throw new UserError('An email is necessary');
|
||||||
|
|
||||||
|
const firstEmail = data.email.split(',')[0];
|
||||||
|
|
||||||
const user = {
|
const user = {
|
||||||
name: data.userName,
|
name: data.userName,
|
||||||
email: firstEmail,
|
email: firstEmail,
|
||||||
|
|
|
@ -13,6 +13,8 @@ describe('Client Create', () => {
|
||||||
businessTypeFk: 'florist',
|
businessTypeFk: 'florist',
|
||||||
provinceFk: 1
|
provinceFk: 1
|
||||||
};
|
};
|
||||||
|
const newAccountWithoutEmail = JSON.parse(JSON.stringify(newAccount));
|
||||||
|
delete newAccountWithoutEmail.email;
|
||||||
|
|
||||||
beforeAll(async() => {
|
beforeAll(async() => {
|
||||||
const activeCtx = {
|
const activeCtx = {
|
||||||
|
@ -48,6 +50,24 @@ describe('Client Create', () => {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should not create a new account', async() => {
|
||||||
|
const tx = await models.Client.beginTransaction({});
|
||||||
|
|
||||||
|
let error;
|
||||||
|
try {
|
||||||
|
const options = {transaction: tx};
|
||||||
|
await models.Client.createWithUser(newAccountWithoutEmail, options);
|
||||||
|
|
||||||
|
await tx.rollback();
|
||||||
|
} catch (e) {
|
||||||
|
error = e.message;
|
||||||
|
|
||||||
|
await tx.rollback();
|
||||||
|
}
|
||||||
|
|
||||||
|
expect(error).toEqual(`An email is necessary`);
|
||||||
|
});
|
||||||
|
|
||||||
it('should create a new account', async() => {
|
it('should create a new account', async() => {
|
||||||
const tx = await models.Client.beginTransaction({});
|
const tx = await models.Client.beginTransaction({});
|
||||||
|
|
||||||
|
|
|
@ -63,7 +63,7 @@ module.exports = Self => {
|
||||||
|
|
||||||
const isAvailable = itemStock.available > 0;
|
const isAvailable = itemStock.available > 0;
|
||||||
|
|
||||||
if (!isAvailable || !ctx.args.quantity)
|
if (!isAvailable)
|
||||||
throw new UserError(`This item is not available`);
|
throw new UserError(`This item is not available`);
|
||||||
|
|
||||||
if (request.saleFk)
|
if (request.saleFk)
|
||||||
|
|
|
@ -137,13 +137,23 @@ module.exports = Self => {
|
||||||
throw new UserError('Ticket is already signed');
|
throw new UserError('Ticket is already signed');
|
||||||
|
|
||||||
if (location) await setLocation(ticketId);
|
if (location) await setLocation(ticketId);
|
||||||
|
<<<<<<< HEAD
|
||||||
if (!await hasSignDms(ticketId) && !gestDocCreated)
|
if (!await hasSignDms(ticketId) && !gestDocCreated)
|
||||||
await createGestDoc(ticketId);
|
await createGestDoc(ticketId);
|
||||||
|
=======
|
||||||
|
if (!gestDocCreated) await createGestDoc(ticketId);
|
||||||
|
>>>>>>> dev
|
||||||
await models.TicketDms.create({ticketFk: ticketId, dmsFk: dms[0].id}, myOptions);
|
await models.TicketDms.create({ticketFk: ticketId, dmsFk: dms[0].id}, myOptions);
|
||||||
await ticket.updateAttribute('isSigned', true, myOptions);
|
await ticket.updateAttribute('isSigned', true, myOptions);
|
||||||
|
|
||||||
const deliveryState = await models.State.findOne({
|
const deliveryState = await models.State.findOne({
|
||||||
|
<<<<<<< HEAD
|
||||||
where: {code: 'DELIVERED'}
|
where: {code: 'DELIVERED'}
|
||||||
|
=======
|
||||||
|
where: {
|
||||||
|
code: 'DELIVERED'
|
||||||
|
}
|
||||||
|
>>>>>>> dev
|
||||||
}, myOptions);
|
}, myOptions);
|
||||||
|
|
||||||
await models.Ticket.state(ctx, {
|
await models.Ticket.state(ctx, {
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
14
package.json
14
package.json
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "salix-back",
|
"name": "salix-back",
|
||||||
"version": "24.6.0",
|
"version": "24.8.0",
|
||||||
"author": "Verdnatura Levante SL",
|
"author": "Verdnatura Levante SL",
|
||||||
"description": "Salix backend",
|
"description": "Salix backend",
|
||||||
"license": "GPL-3.0",
|
"license": "GPL-3.0",
|
||||||
|
@ -14,8 +14,6 @@
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"axios": "^1.2.2",
|
"axios": "^1.2.2",
|
||||||
"base64url": "^3.0.1",
|
"base64url": "^3.0.1",
|
||||||
"bcrypt": "^5.0.1",
|
|
||||||
"bmp-js": "^0.1.0",
|
|
||||||
"compression": "^1.7.3",
|
"compression": "^1.7.3",
|
||||||
"form-data": "^4.0.0",
|
"form-data": "^4.0.0",
|
||||||
"fs-extra": "^5.0.0",
|
"fs-extra": "^5.0.0",
|
||||||
|
@ -24,7 +22,6 @@
|
||||||
"got": "^10.7.0",
|
"got": "^10.7.0",
|
||||||
"helmet": "^3.21.2",
|
"helmet": "^3.21.2",
|
||||||
"i18n": "^0.8.4",
|
"i18n": "^0.8.4",
|
||||||
"image-type": "^4.1.0",
|
|
||||||
"imap": "^0.8.19",
|
"imap": "^0.8.19",
|
||||||
"jsdom": "^16.7.0",
|
"jsdom": "^16.7.0",
|
||||||
"jszip": "^3.10.0",
|
"jszip": "^3.10.0",
|
||||||
|
@ -36,21 +33,15 @@
|
||||||
"loopback-connector-mysql": "^6.2.0",
|
"loopback-connector-mysql": "^6.2.0",
|
||||||
"loopback-connector-remote": "^3.4.1",
|
"loopback-connector-remote": "^3.4.1",
|
||||||
"loopback-context": "^3.5.2",
|
"loopback-context": "^3.5.2",
|
||||||
"mailparser": "^2.8.0",
|
|
||||||
"md5": "^2.2.1",
|
"md5": "^2.2.1",
|
||||||
"node-ssh": "^11.0.0",
|
"node-ssh": "^11.0.0",
|
||||||
"object-diff": "0.0.4",
|
|
||||||
"object.pick": "^1.3.0",
|
"object.pick": "^1.3.0",
|
||||||
"puppeteer": "^21.10.0",
|
"puppeteer": "^21.10.0",
|
||||||
"read-chunk": "^3.2.0",
|
|
||||||
"require-yaml": "0.0.1",
|
"require-yaml": "0.0.1",
|
||||||
"smbhash": "0.0.1",
|
"smbhash": "0.0.1",
|
||||||
"strong-error-handler": "^2.3.2",
|
"strong-error-handler": "^2.3.2",
|
||||||
"url-loader": "^4.1.1",
|
|
||||||
"uuid": "^3.3.3",
|
|
||||||
"vn-loopback": "file:./loopback",
|
"vn-loopback": "file:./loopback",
|
||||||
"vn-print": "file:./print",
|
"vn-print": "file:./print"
|
||||||
"xml2js": "^0.4.23"
|
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/core": "^7.7.7",
|
"@babel/core": "^7.7.7",
|
||||||
|
@ -91,7 +82,6 @@
|
||||||
"json-loader": "^0.5.7",
|
"json-loader": "^0.5.7",
|
||||||
"merge-stream": "^1.0.1",
|
"merge-stream": "^1.0.1",
|
||||||
"minimist": "^1.2.5",
|
"minimist": "^1.2.5",
|
||||||
"mysql2": "^1.7.0",
|
|
||||||
"node-sass": "^9.0.0",
|
"node-sass": "^9.0.0",
|
||||||
"nodemon": "^2.0.16",
|
"nodemon": "^2.0.16",
|
||||||
"plugin-error": "^1.0.1",
|
"plugin-error": "^1.0.1",
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -16,7 +16,6 @@
|
||||||
"intl": "^1.2.5",
|
"intl": "^1.2.5",
|
||||||
"js-yaml": "^3.13.1",
|
"js-yaml": "^3.13.1",
|
||||||
"jsbarcode": "^3.11.5",
|
"jsbarcode": "^3.11.5",
|
||||||
"jsonexport": "^3.2.0",
|
|
||||||
"juice": "^5.2.0",
|
"juice": "^5.2.0",
|
||||||
"log4js": "^6.7.0",
|
"log4js": "^6.7.0",
|
||||||
"mysql2": "^1.7.0",
|
"mysql2": "^1.7.0",
|
||||||
|
|
|
@ -18,7 +18,6 @@ module.exports = {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async serverPrefetch() {
|
async serverPrefetch() {
|
||||||
await this.rawSql('SET @hasPrevia := 0');
|
|
||||||
let ticketIds;
|
let ticketIds;
|
||||||
const res = await this.rawSqlFromDef('tickets', [this.id]);
|
const res = await this.rawSqlFromDef('tickets', [this.id]);
|
||||||
if (res.length) {
|
if (res.length) {
|
||||||
|
|
|
@ -16,7 +16,7 @@ SELECT c.itemPackingTypeFk code,
|
||||||
DATE_FORMAT(t.shipped, '%d/%m/%y') shipped,
|
DATE_FORMAT(t.shipped, '%d/%m/%y') shipped,
|
||||||
tt.labelCount,
|
tt.labelCount,
|
||||||
t.nickName,
|
t.nickName,
|
||||||
SUM(IF(sgd.id, IF(@hasPrevia, 0, @hasPrevia := 1), 1)) lineCount,
|
SUM(IF(sgd.id IS NULL, 1, 0)) + IF(sgd.id , 1, 0) lineCount,
|
||||||
rm.routeFk
|
rm.routeFk
|
||||||
FROM vn.ticket t
|
FROM vn.ticket t
|
||||||
JOIN vn.ticketCollection tc ON tc.ticketFk = t.id
|
JOIN vn.ticketCollection tc ON tc.ticketFk = t.id
|
||||||
|
|
Loading…
Reference in New Issue