- Reemplazar <tree> por <list> en todas las vistas - Cambiar mode="tree" a mode="list" - Actualizar view_partner_tree a view_partner_list - Actualizar view_mode de tree,form a list,form En Odoo 17+, el tipo de vista "tree" fue renombrado a "list". Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
81 lines
3.6 KiB
XML
81 lines
3.6 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 action buttons -->
|
|
<xpath expr="//div[hasclass('oe_title')]" position="after">
|
|
<div class="mb-2" invisible="not mobile and not phone">
|
|
<button name="action_send_whatsapp" string="Enviar WhatsApp" type="object" class="btn btn-success" icon="fa-whatsapp"/>
|
|
<button name="action_open_whatsapp_chat" string="Abrir Chat" type="object" class="btn btn-outline-success ms-1" icon="fa-comments"/>
|
|
</div>
|
|
</xpath>
|
|
|
|
<!-- Add WhatsApp notebook page -->
|
|
<xpath expr="//notebook" position="inside">
|
|
<page string="WhatsApp" name="whatsapp" invisible="whatsapp_conversation_count == 0">
|
|
<field name="whatsapp_conversation_ids" mode="list" readonly="1">
|
|
<list>
|
|
<field name="account_id"/>
|
|
<field name="status" widget="badge"/>
|
|
<field name="last_message_at"/>
|
|
<field name="last_message_preview"/>
|
|
<field name="unread_count" widget="badge" decoration-danger="unread_count > 0"/>
|
|
</list>
|
|
</field>
|
|
</page>
|
|
</xpath>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- Partner Tree - Add WhatsApp indicator -->
|
|
<record id="view_partner_tree_whatsapp" model="ir.ui.view">
|
|
<field name="name">res.partner.tree.whatsapp</field>
|
|
<field name="model">res.partner</field>
|
|
<field name="inherit_id" ref="base.view_partner_list"/>
|
|
<field name="arch" type="xml">
|
|
<xpath expr="//field[@name='phone']" position="after">
|
|
<field name="whatsapp_unread_count" widget="badge" decoration-danger="whatsapp_unread_count > 0" optional="show"/>
|
|
</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>
|