- Cambiar tree a list en todas las vistas - Eliminar vista kanban (requiere formato diferente en Odoo 17+) - Simplificar vista de búsqueda - Simplificar herencia de res.partner (quitar xpaths problemáticos) - Agregar store=True a campos computados para filtros - Importar post_init_hook en __init__.py - Usar @api.model_create_multi para método create Probado y funcionando en Odoo 19. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
59 lines
2.3 KiB
XML
59 lines
2.3 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<odoo>
|
|
<!-- Inherit Partner Form -->
|
|
<record id="view_partner_form_whatsapp" model="ir.ui.view">
|
|
<field name="name">res.partner.form.whatsapp</field>
|
|
<field name="model">res.partner</field>
|
|
<field name="inherit_id" ref="base.view_partner_form"/>
|
|
<field name="arch" type="xml">
|
|
<!-- Add WhatsApp button box -->
|
|
<xpath expr="//div[@name='button_box']" position="inside">
|
|
<button name="action_open_whatsapp_conversations" type="object" class="oe_stat_button" icon="fa-whatsapp">
|
|
<div class="o_field_widget o_stat_info">
|
|
<span class="o_stat_value">
|
|
<field name="whatsapp_conversation_count"/>
|
|
</span>
|
|
<span class="o_stat_text">WhatsApp</span>
|
|
</div>
|
|
</button>
|
|
</xpath>
|
|
|
|
<!-- Add WhatsApp notebook page -->
|
|
<xpath expr="//notebook" position="inside">
|
|
<page string="WhatsApp" name="whatsapp">
|
|
<field name="whatsapp_conversation_ids" mode="list" readonly="1">
|
|
<list>
|
|
<field name="account_id"/>
|
|
<field name="status" widget="badge"/>
|
|
<field name="last_message_at"/>
|
|
</list>
|
|
</field>
|
|
</page>
|
|
</xpath>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- Server Action: Send WhatsApp -->
|
|
<record id="action_partner_send_whatsapp" model="ir.actions.server">
|
|
<field name="name">Enviar WhatsApp</field>
|
|
<field name="model_id" ref="base.model_res_partner"/>
|
|
<field name="binding_model_id" ref="base.model_res_partner"/>
|
|
<field name="binding_view_types">list,form</field>
|
|
<field name="state">code</field>
|
|
<field name="code">
|
|
if records:
|
|
if len(records) == 1:
|
|
action = records.action_send_whatsapp()
|
|
else:
|
|
action = {
|
|
'type': 'ir.actions.act_window',
|
|
'name': 'Envío Masivo WhatsApp',
|
|
'res_model': 'whatsapp.mass.wizard',
|
|
'view_mode': 'form',
|
|
'target': 'new',
|
|
'context': {'default_partner_ids': records.ids},
|
|
}
|
|
</field>
|
|
</record>
|
|
</odoo>
|