Agregando funcionalidades de CRM a sus objetos de Odoo
El poco conocido pero poderoso mixin mail.activity.mixin
Odoo tiene una funcionalidad poco difundida, pero no por ello menos poderosa, que es la de los mixin. Que es la funcionalidad que mediante herencia múltiple brinda capacidades extras a sus objetos. Capacidades como mensajería, agenda de actividades para los objetos; por ejemplo. En este caso vamos a hablar del mixin de actividades, o propiamente "mail.activity.mixin" que se incorpora a sus objetos heredando del módulo mail y agregando en la herencia del objeto el modelo mail.activity.mixin, como se lo ve en el siguiente ejemplo:
class SaleOrder(models.Model):
_name = "sale.order"
_inherit = ['portal.mixin', 'mail.thread', 'mail.activity.mixin', 'utm.mixin']
_description = "Sales Order"
_order = 'date_order desc, id desc'
_check_company_auto = True
Aca podemos observar donde podemos ingresar de forma parametrizada actividades a realizar junto con las fechas y responsables de las mismas. Tambien se puede seleccionar el estado de ellas.
Por ejemplo, podemos cargar una actividad y marcarla como realizada.
O asignarselas a terceros. Son inifitas posiblidades. Una funcionalidad que me gusta es la de agregar campos a las vistas tipo lista, donde se muestra la siguiente actividad, su estatus y cuando se puede realizarla.
Dicha informacion se agrega facilmente a la lista por medio de campos como activity_date_deadline, activity_summary y activity_state. Lo mejor de esos campos? Es que se puede buscar en ellos. Una maravilla la verdad. Por último y no es menor, como todo objeto en Odoo se lo puede extender y agregar funcionalidades. Como por ejemplo, regitrar un pago despues de una llamada.
Acerca de:
Gustavo Orrillo
Passionate about programming, he has implemented Odoo for different types of businesses since 2010. In Moldeo Interactive he is a founding Partner and Programmer; In addition to writing on the Blog about different topics related to the developments he makes.