Tutorial: Como Adicionar Botões no XML do CRM
🎸

Tutorial: Como Adicionar Botões no XML do CRM


Adicionar botões personalizados na plataforma da Conexão Azul, permite que você crie interações customizadas com seu sistema, chamando funções ou ações diretamente a partir da interface. Este tutorial detalha o processo para adicionar botões no XML do Odoo, chamando funções de backend ou ações pré-configuradas.

Passo 1: Criar o Código XML do Botão

Primeiro, você precisa criar o botão dentro do arquivo XML que define a view onde ele será exibido.

Estrutura Básica do Botão XML

<button name="action_archive" type="object" string="Arquivar" class="oe_highlight"/>
  • name: Este atributo é o mais importante, pois define o que o botão fará quando for clicado. O valor do name pode ser o nome de uma função (Python) ou o ID de uma ação no servidor.
  • type="object": Este atributo define que o botão executará uma função de objeto (uma função Python associada ao modelo).
  • string: Este atributo define o texto que aparecerá no botão.
  • class="oe_highlight": Esse atributo aplica estilo ao botão, destacando-o na interface do Odoo.

Passo 2: Adicionar o Chamado da Função ou o ID da Ação

Dependendo do tipo de funcionalidade que você deseja associar ao botão, o valor do atributo name mudará. Abaixo estão duas abordagens: uma para funções Python e outra para ações definidas no servidor.

2.1 Caso o Botão Chame uma Função Python

Se o botão estiver chamando uma função Python já existente no modelo, como por exemplo a função de arquivamento de registros, o código ficaria assim:

<button name="action_archive" type="object" string="Arquivar" class="oe_highlight"/>
  • name="action_archive": Aqui, o nome da função Python que será chamada quando o botão for clicado. A função precisa estar definida no modelo correspondente.

2.2 Caso o Botão Execute uma Ação Definida no Servidor

Se o botão estiver chamando uma ação já configurada no servidor (como relatórios, ações agendadas ou automações), você precisará encontrar o ID da ação. Veja como:


  1. Acesse a Ação no Servidor: Vá ao menu "Configurações" no Odoo, navegue até a seção que contém a ação que você quer chamar, como "Ações de Servidor", e localize a ação que deseja vincular ao botão.
  2. Visualizar Metadata da Ação: Na página da ação, clique no botão "Visualizar Metadata" (ou "Action Metadata"). Isso exibirá o ID da ação no servidor. Anote o código numérico dessa ação.
  3. Adicionar o ID da Ação ao Botão: Agora, substitua o name pelo ID da ação que você obteve.


Exemplo de como ficaria:

<button name="596" type="object" string="Arquivar" class="oe_highlight"/>

Neste exemplo, o botão chamará a ação de ID 596 ao ser clicado.

Passo 3: Definir a Posição do Botão no Formulário

Você pode personalizar onde o botão será exibido dentro da view, usando xpath para definir sua posição. O código xpath permite que você insira o botão em um local específico da interface.

Aqui está um exemplo de como adicionar o botão no cabeçalho de um formulário:

<record id="view_partner_form_inherit" model="ir.ui.view">
    <field name="name">res.partner.form.inherit</field>
    <field name="model">res.partner</field>
    <field name="inherit_id" ref="base.view_partner_form" />
    <field name="arch" type="xml">
        <xpath expr="//header" position="inside">
            <button name="action_archive" type="object" string="Arquivar" class="oe_highlight"/>
        </xpath>
    </field>
</record>
  • expr="//header": Isso especifica que o botão será adicionado no cabeçalho do formulário.
  • position="inside": Isso define que o botão será inserido dentro do cabeçalho.

Você pode alterar a posição de acordo com suas necessidades. Aqui estão algumas outras opções de onde você pode colocar o botão:

  • Dentro do corpo do formulário (//sheet)
  • Após um campo específico (//field[@name='field_name'])

Passo 4: Atualizar o Módulo para Aplicar as Alterações

Após fazer as alterações no arquivo XML, é necessário atualizar o módulo no Odoo para que as mudanças sejam refletidas na interface.

Métodos de Atualização:

  1. Via Interface:
    • Vá até "Aplicações".
    • Localize o módulo que você modificou.
    • Clique em "Atualizar" para carregar as novas alterações.
  2. Via Terminal (se você estiver em um ambiente de desenvolvimento):
    • No terminal, vá até o diretório do Odoo e execute o comando para atualizar o módulo:
      bashCopiar códigoodoo-bin -u nome_do_modulo
      

Passo 5: Teste o Botão

Após atualizar o módulo, acesse a interface onde o botão foi adicionado e teste a funcionalidade. Verifique se o botão executa corretamente a função ou ação configurada.



WhatsApp