facturascripts icon indicating copy to clipboard operation
facturascripts copied to clipboard

Tarea #2970 - agregar worker actualizar numero productos en familias

Open elguitarraverde opened this issue 1 year ago • 4 comments

Descripción

  • Añadir un worker para actualizar el número de productos de las familias, cuando se crea, modifica o elimina un producto.
  • He usado 'Model.Producto.Insert', 'Model.Producto.Update' y 'Model.Producto.Delete' porque usando 'Model.Producto.*' duplica las llamadas, ya que, por ejemplo, al actualizar un producto llama dos veces al worker: 'Model.Producto.Update' y tambien a 'Model.Producto.Save'
  • He añadido al metodo saveUpdate() de la clase Core/Model/Base/ModelClass.php que se envia al Worker los datos antes de actualizar, ya que si no es así cuando se desvincula un producto de una familia llega el codfamilia a null y no hay forma de saber a que familia pertenecía antes. Lo he puesto en esta clase porque creo que es útil y se podrá usar en muchas ocasiones y para los Plugins también creo que puede venir muy bien disponer de estos datos en el worker.

¿Cómo has probado los cambios?

Toda modificación debe haber sido mínimamente probada. Marca o describe las pruebas que has realizado:

  • [x] He revisado mi código antes de enviarlo.
  • [x] He probado que funciona correctamente en mi PC.
  • [x] He probado que funciona correctamente con una base de datos vacía.
  • [ ] He ejecutado los tests unitarios.

elguitarraverde avatar Apr 28 '24 20:04 elguitarraverde

No me vale la modificación en ModelClass. esta tarea no debe tocar nada más que el propio worker.

NeoRazorX avatar Jun 27 '24 18:06 NeoRazorX

@NeoRazorX cuando se desvincula un producto de una familia llega el codfamilia a null y no hay forma de saber a que familia pertenecía antes, para poder actualizar los totales de esa familia.

He añadido al metodo saveUpdate() de la clase Core/Model/Base/ModelClass.php que se envia al Worker los datos antes de actualizar, ya que si no es así cuando se desvincula un producto de una familia llega el codfamilia a null y no hay forma de saber a que familia pertenecía antes.

Lo he puesto en esta clase porque creo que es útil y se podrá usar en muchas ocasiones y para los Plugins también creo que puede venir muy bien disponer de estos datos en el worker. Datos antes de actualizar y datos actualizados.

no obstante dime donde prodria obtaner el codfamilia cuando se desvincula un producto de una familia en el worker.

elguitarraverde avatar Jul 01 '24 07:07 elguitarraverde

Es un problema que no se debe solucionar aquí, sino a parte en el rediseño de modelos.

El lun, 1 jul 2024 a las 9:14, Antonio @.***>) escribió:

@NeoRazorX https://github.com/NeoRazorX cuando se desvincula un producto de una familia llega el codfamilia a null y no hay forma de saber a que familia pertenecía antes, para poder actualizar los totales de esa familia.

He añadido al metodo saveUpdate() de la clase Core/Model/Base/ModelClass.php que se envia al Worker los datos antes de actualizar, ya que si no es así cuando se desvincula un producto de una familia llega el codfamilia a null y no hay forma de saber a que familia pertenecía antes.

Lo he puesto en esta clase porque creo que es útil y se podrá usar en muchas ocasiones y para los Plugins también creo que puede venir muy bien disponer de estos datos en el worker. Datos antes de actualizar y datos actualizados.

no obstante dime donde prodria obtaner el codfamilia cuando se desvincula un producto de una familia en el worker.

— Reply to this email directly, view it on GitHub https://github.com/NeoRazorX/facturascripts/pull/1584#issuecomment-2199408295, or unsubscribe https://github.com/notifications/unsubscribe-auth/AADY2SVW7VMQZAPXSOJAXS3ZKD6U3AVCNFSM6AAAAABG5INVMSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOJZGQYDQMRZGU . You are receiving this because you were mentioned.Message ID: @.***>

--

Carlos García Gómez FacturaScripts – Programador principal

En cumplimiento de lo previsto por el Reglamento (UE) 2016/679, del Parlamento Europeo y del Consejo, de 27 de abril de 2016, relativo a la protección de las personas físicas en lo que respecta al tratamiento de datos personales (Reglamento Europeo de Protección de Datos) y la Ley Orgánica 3/2018 de 5 de diciembre (LOPDGDD), le informamos que su dirección de correo electrónico forma parte de la base de datos de CARLOS GARCIA GOMEZ, provisto de NIF 74003828V y con domicilio en Rambla JUAN MATEO GARCIA, N.104, 2-F, 03181 TORREVIEJA. Los datos por usted facilitados, se utilizan con la finalidad de llevar a cabo los servicios contratados y la base jurídica para tal utilización es el consentimiento otorgado por usted para el uso de sus datos con esta finalidad. Usted tiene derecho a retirar este consentimiento en cualquier momento. De acuerdo con el artículo 13 del Reglamento Europeo de Protección de Datos, le informamos que usted tiene derecho a ejercer en relación a sus datos personales los derechos de acceso, rectificación, supresión, portabilidad, limitación del tratamiento, así como a oponerse a dicho tratamiento o al uso de sus datos para la elaboración de decisiones individuales automatizadas incluida la elaboración de perfiles, contactando con la siguiente dirección de correo electrónico: @.*** Igualmente le informamos que usted tiene derecho a presentar una reclamación ante la autoridad de control competente en caso de que considere que se ha vulnerado algún derecho en relación a la protección de sus datos personales.

© 2022 FacturaScripts. Todos los derechos reservados De acuerdo con la nueva ley Ley de Servicios de la Sociedad de la Información y Comercio Electrónico aprobada por el parlamento español y de la vigente Ley Orgánica 15 13/12/1999 de Protección de Datos española, le comunicamos que su dirección de Correo electrónico forma parte de un fichero automatizado, teniendo usted derecho de oposición, acceso, rectificación y cancelación de sus datos. Dicho fichero es propiedad de FacturaScripts.

NeoRazorX avatar Jul 01 '24 10:07 NeoRazorX

OK, dejo entonces esta PR en borrador hasta que se rediseñen los modelos.

elguitarraverde avatar Jul 01 '24 16:07 elguitarraverde

Por ahora he añadido 2 procesos al cron para actualizar estos contadores.

NeoRazorX avatar Sep 18 '24 16:09 NeoRazorX