Files
WhatsAppCentralizado/odoo_whatsapp_hub/views/res_partner_views.xml
Claude AI 1040debe2e fix(odoo): compatibilidad completa con Odoo 19
- 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>
2026-01-30 00:48:35 +00:00

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>