- 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>
81 lines
3.6 KiB
XML
81 lines
3.6 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<odoo>
|
|
<!-- Tree View -->
|
|
<record id="view_whatsapp_conversation_tree" model="ir.ui.view">
|
|
<field name="name">whatsapp.conversation.tree</field>
|
|
<field name="model">whatsapp.conversation</field>
|
|
<field name="arch" type="xml">
|
|
<list decoration-bf="unread_count > 0">
|
|
<field name="display_name"/>
|
|
<field name="phone_number"/>
|
|
<field name="status" widget="badge" decoration-info="status == 'bot'" decoration-warning="status == 'waiting'" decoration-success="status == 'active'" decoration-muted="status == 'resolved'"/>
|
|
<field name="assigned_user_id" widget="many2one_avatar_user"/>
|
|
<field name="last_message_at"/>
|
|
<field name="last_message_preview"/>
|
|
<field name="unread_count" widget="badge" decoration-danger="unread_count > 0"/>
|
|
</list>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- Form View -->
|
|
<record id="view_whatsapp_conversation_form" model="ir.ui.view">
|
|
<field name="name">whatsapp.conversation.form</field>
|
|
<field name="model">whatsapp.conversation</field>
|
|
<field name="arch" type="xml">
|
|
<form>
|
|
<header>
|
|
<button name="action_assign_to_me" string="Asignarme" type="object" class="btn-primary" invisible="assigned_user_id"/>
|
|
<button name="action_mark_resolved" string="Resolver" type="object" class="btn-secondary" invisible="status == 'resolved'"/>
|
|
<field name="status" widget="statusbar" statusbar_visible="bot,waiting,active,resolved"/>
|
|
</header>
|
|
<sheet>
|
|
<group>
|
|
<group>
|
|
<field name="display_name" readonly="1"/>
|
|
<field name="phone_number"/>
|
|
<field name="partner_id"/>
|
|
</group>
|
|
<group>
|
|
<field name="account_id"/>
|
|
<field name="assigned_user_id"/>
|
|
<field name="last_message_at"/>
|
|
</group>
|
|
</group>
|
|
<notebook>
|
|
<page string="Mensajes" name="messages">
|
|
<field name="message_ids" mode="list" readonly="1">
|
|
<list>
|
|
<field name="create_date"/>
|
|
<field name="direction" widget="badge"/>
|
|
<field name="content"/>
|
|
<field name="status" widget="badge"/>
|
|
<field name="sent_by_id"/>
|
|
</list>
|
|
</field>
|
|
</page>
|
|
</notebook>
|
|
</sheet>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- Search View -->
|
|
<record id="view_whatsapp_conversation_search" model="ir.ui.view">
|
|
<field name="name">whatsapp.conversation.search</field>
|
|
<field name="model">whatsapp.conversation</field>
|
|
<field name="arch" type="xml">
|
|
<search>
|
|
<field name="phone_number"/>
|
|
<field name="partner_id"/>
|
|
</search>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- Action -->
|
|
<record id="action_whatsapp_conversation" model="ir.actions.act_window">
|
|
<field name="name">Conversaciones</field>
|
|
<field name="res_model">whatsapp.conversation</field>
|
|
<field name="view_mode">list,form</field>
|
|
</record>
|
|
</odoo>
|