Search code examples
pythonxmlodooodoo-12

Odoo 12 - Development res.config.settings problem


I need help. I am developing a module in version 12 of odoo. I currently have the model created along with the view. However, the general options panel view does not load but is created.

Here my code:

Model:

    # -*- coding: utf-8 -*-
from odoo import models, fields, api
#Campos adicionales en el formulario de contrato
class EmployeeFields(models.Model):
    _inherit = 'hr.contract'
    aport_asoc = fields.Float(string="Porcentaje de Aporte", digits=(2,2), default=0, help="Porcentaje del sueldo que aporta el asociado a la caja de ahorro")
#Campos para la seccion de configuracion
class BoxConfig(models.TransientModel):
    _inherit = 'res.config.settings'
    s_minimo = fields.Float(string="Sueldo Minimo", digits=(25,2), default=0, help="Sueldo minimo completo o monto general del cual se debita el porcentaje de aporte")
    emp_asoc = fields.Boolean(string="Empresa aporta igual que empleado", default=0, help="Marque esta opcion si la empresa aporta la misma cantidad que cada empleado")
    aport_general = fields.Float(string="Cantidad de aporte general", default=0, help="Asigna a Asociados y Empresa el mismo porcentaje de aporte para todos, dejar en 0 para que no tome ningun valor")
    aport_emp = fields.Float(string="Aporte Empresa", digits=(2,2), default=0, help="Porcentaje de aporte adicional que agrega la empresa")

View:

<odoo>
    <data>

        <!-- Campo agregado al modelo de datos de contratos -->
        <record model="ir.ui.view" id="contract_fields_add">
            <field name="name">contract.fields.add</field>
            <field name="model">hr.contract</field>
            <field name="inherit_id" ref="hr_contract.hr_contract_view_form"/>
            <field name="arch" type="xml">
                <xpath expr="//group[@name='duration_group']" position="before">
                    <group name="box_account" string="Caja de Ahorro">
                        <field name="aport_asoc"/>
                    </group>
                </xpath>
            </field>
        </record>

        <record model="ir.ui.view" id="box_config_settings">
            <field name="name">box_config</field>
            <field name="model">res.config.settings</field>
            <field name="priority" eval="10"/>
            <field name="inherit_id" ref="base.res_config_settings_view_form"/>
            <field name="arch" type="xml">
                <xpath expr="//div[hasclass('settings')]" position="inside">
                    <div class="app_settings_block o_not_app" data_string="Caja de Ahorro" string="Caja de Ahorro" data_key="box">
                        <h2>Configuracion Caja de Ahorro</h2>
                        <div class="row mt16 o_settings_container">
                            <div class="col-12 col-lg-6 o_setting_box">
                                <div class="o_setting_left_pane">
                                    <field name="s_minimo"/>
                                </div>
                            </div>
                        </div>
                    </div>
                </xpath>
            </field>
        </record>
    </data>
    <record id="action_box_config_settings" model="ir.actions.act_window">
        <field name="name">Settings</field>
        <field name="type">ir.actions.act_window</field>
        <field name="res_model">res.config.settings</field>
        <field name="view_id" ref="box_config_settings"/>
        <field name="view_mode">form</field>
        <field name="target">inline</field>
        <field name="context">{'module' : box}</field>
    </record>

</odoo>

When you update the module it does not throw an error, however when I enter the general settings screen I do not see it in the list.

In developer mode reviewing the form view of the res.config.settings model in inherited views I see that my model exists. However, the form is not visible

I have already tried several solutions and so far this one that creates my view is the one that is closest to being the right one. Please tell me what I am doing wrong or what I need for the view to be present in the configuration section.


Solution

  • Try this :

    <record id="box_config_settings" model="ir.ui.view">
        <field name="name">res.config.settings.view.box_config</field>
        <field name="model">res.config.settings</field>
        <field name="priority" eval="25" />
        <field name="inherit_id" ref="sale.res_config_settings_view_form" />
            <field name="arch" type="xml">
                <xpath expr="//div[@id='sale_config_online_confirmation_sign']"
                    position="before">
                <div class="col-xs-12 col-md-6 o_setting_box">
                        <div class="o_setting_left_pane">
                            <field name="s_minimo" />
                        </div>
                        <div class="o_setting_right_pane">
                            <label for="s_minimo" />
                        </div>
                    </div>
            </xpath>
        </field>
    </record>
    

    Note : this view will be inherited in Sales Section of General Setting