[IMP+FIX] intrastat_product: Improve company rules

Changes done:
- Improve performance using [('company_id', 'in', company_ids + [False])]
- Change intrastat.product.declaration rule because company_id field is required.
- Add rules for intrastat.product.declaration.line and intrastat.product.computation.line
This commit is contained in:
Víctor Martínez
2024-11-06 10:58:11 +01:00
parent f9ce5bee4a
commit dbd3d9035b
4 changed files with 38 additions and 4 deletions

View File

@@ -7,7 +7,7 @@
{
"name": "Intrastat Product",
"version": "17.0.1.0.1",
"version": "17.0.1.1.0",
"category": "Intrastat",
"license": "AGPL-3",
"summary": "Base module for Intrastat Product",

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<record id="intrastat_transaction_company_rule" model="ir.rule">
<field name="domain_force">[('company_id', 'in', company_ids + [False])]</field>
</record>
<record id="intrastat_region_company_rule" model="ir.rule">
<field name="domain_force">[('company_id', 'in', company_ids + [False])]</field>
</record>
<record id="intrastat_product_declaration_company_rule" model="ir.rule">
<field name="domain_force">[('company_id', 'in', company_ids)]</field>
</record>
</odoo>

View File

@@ -0,0 +1,10 @@
# Copyright 2024 Tecnativa - Víctor Martínez
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from openupgradelib import openupgrade
@openupgrade.migrate()
def migrate(env, version):
openupgrade.load_data(
env.cr, "intrastat_product", "migrations/17.0.1.1.0/noupdate_changes.xml"
)

View File

@@ -15,21 +15,33 @@
<field name="model_id" ref="model_intrastat_transaction" />
<field
name="domain_force"
>['|', ('company_id', '=', False), ('company_id', 'in', company_ids)]</field>
>[('company_id', 'in', company_ids + [False])]</field>
</record>
<record id="intrastat_region_company_rule" model="ir.rule">
<field name="name">Intrastat Region Company rule</field>
<field name="model_id" ref="model_intrastat_region" />
<field
name="domain_force"
>['|', ('company_id', '=', False), ('company_id', 'in', company_ids)]</field>
>[('company_id', 'in', company_ids + [False])]</field>
</record>
<record id="intrastat_product_computation_line_company_rule" model="ir.rule">
<field name="name">Intrastat Product Computation Lines Company rule</field>
<field name="model_id" ref="model_intrastat_product_computation_line" />
<field
name="domain_force"
>[('parent_id.company_id', 'in', company_ids)]</field>
</record>
<record id="intrastat_product_declaration_company_rule" model="ir.rule">
<field name="name">Intrastat Product Declaration Company rule</field>
<field name="model_id" ref="model_intrastat_product_declaration" />
<field name="domain_force">[('company_id', 'in', company_ids)]</field>
</record>
<record id="intrastat_product_declaration_line_company_rule" model="ir.rule">
<field name="name">Intrastat Product Declaration Lines Company rule</field>
<field name="model_id" ref="model_intrastat_product_declaration_line" />
<field
name="domain_force"
>['|', ('company_id', '=', False), ('company_id', 'in', company_ids)]</field>
>[('parent_id.company_id', 'in', company_ids)]</field>
</record>
</data>
</odoo>