¡Bienvenido a los foros Aeodoo!

Somos la comunidad de Odoo internacional hispanohablante.
Estos foros son para compartir y debatir dudas técnicas, funcionales y mejores prácticas para Odoo. Recuerda que no están permitidos los insultos, descalificaciones o spam, cualquier conducta reprobable supondrá el baneo del usuario.

Esta pregunta ha sido marcada
2 Respuestas
80 Vistas

Hola!

Estoy preparando la migración a v15 en mi Odoo CE v14, y me he encontrado un módulo desarrollado por quién me hizo la implementación inicial, y con el que ya no trabajo. No entiendo el porqué de este módulo. 

Solo es un override de account.move con este código:

class AccountMove(models.Model):

    _name = 'account.move'

    _inherit = 'account.move'


    def unlink(self):

        res = super(models.Model, self).unlink()

        return res

No hay nada más en el módulo. No soy experto, pero entiendo que hace un override de unlink(), para hacer el unlink().

¿ Cual puede ser el motivo de esto ? ¿ Merece la pena que lo migre o lo elimino antes de migrar sin más ?

Gracias!

Saludos,
Juanjo.

Avatar
Descartar

Hola Juanjo, aparentemente ese método no está haciendo nada. Ahora bien, tendrías que revisar si ese módulo solo tiene esa modificación, lo cual sería bastante extraño. Quizás haya carpetas de vistas, u otro tipo de modificaciones. Si no hay más que eso, se puede desintalar sin problemas.


Avatar
Descartar
Autor

Gracias por confirmar Ignacio.

No hay nada más, el directorio models solo tiene account_move.py con solo esa función, no hay views, wizard ni nada. El __manifest__ y los __init__ confirma que no hay nada más.

Lo desinstalo en un entorno de pruebas para probar, pero está claro que no sirve para nada.

Buenas, así de cabeza creo que al llamar a super pasándole la clase principal models, esta solo ejecutando la logica básica del unlink, obviando cualquier implementación de lógica en cualquier otro modulo, para ese modelo en esa función.



Un saludo.

Avatar
Descartar
Autor

Hola Alejandro,

Eso pensé de entrada, que es una forma de evitar checks o comprobaciones de seguridad antes de ejecutar el unlink(). De hecho el módulo se llama account_temporal_patch, así que creo que es algo que tuvieron que hacer temporalmente, pero que luego deberían haber quitado.

Tampoco me extrañaría que mi implementación fuera un copy&paste de la de otro cliente, ya que en el código de otros módulos desarrollados por ellos e incluso en commits iniciales de creación de odoo me he encontrado referencias a otros clientes.

Saludos.

Su respuesta

Intente dar una respuesta sustancial. Si desea hacer un comentario sobre la pregunta o la respuesta, utilice la herramienta de comentarios. Recuerde que siempre puede revisar sus respuestas, no es necesario responder dos veces a la misma pregunta. No olvide votar, ayuda a seleccionar las mejores preguntas y respuestas