Check rule only if _check_access is set and enforce companies rule

issue4080
review343891009
This commit is contained in:
Cédric Krier committed 2021-04-10 23:46:24 +02:00
1 parent 73cbb1bb03
commit ca9d4a3b63
7 files changed
+130 -44

No files matched your search

+12
View File
@@ -84,6 +84,18 @@ this repository contains the full copyright notices and license terms. -->
<field name="action" ref="act_inventory_line_relate"/>
</record>
<record model="ir.rule.group" id="rule_group_inventory_companies">
<field name="name">User in companies</field>
<field name="model" search="[('model', '=', 'stock.inventory')]"/>
<field name="global_p" eval="True"/>
</record>
<record model="ir.rule" id="rule_inventory_companies">
<field name="domain"
eval="[('company', 'in', Eval('companies', []))]"
pyson="1"/>
<field name="rule_group" ref="rule_group_inventory_companies"/>
</record>
<record model="ir.model.access" id="access_inventory">
<field name="model" search="[('model', '=', 'stock.inventory')]"/>
<field name="perm_read" eval="False"/>
+5 -5
View File
@@ -94,16 +94,16 @@ this repository contains the full copyright notices and license terms. -->
<field name="group" ref="group_stock_admin"/>
</record>
<record model="ir.rule.group" id="rule_group_move">
<field name="name">User in company</field>
<record model="ir.rule.group" id="rule_group_move_companies">
<field name="name">User in companies</field>
<field name="model" search="[('model', '=', 'stock.move')]"/>
<field name="global_p" eval="True"/>
</record>
<record model="ir.rule" id="rule_move">
<record model="ir.rule" id="rule_move_companies">
<field name="domain"
eval="[('company', '=', Eval('user', {}).get('company', None))]"
eval="[('company', 'in', Eval('companies', []))]"
pyson="1"/>
<field name="rule_group" ref="rule_group_move"/>
<field name="rule_group" ref="rule_group_move_companies"/>
</record>
<record model="ir.model.access" id="access_move">
+12
View File
@@ -34,6 +34,18 @@ this repository contains the full copyright notices and license terms. -->
sequence="30"
id="menu_period_list"/>
<record model="ir.rule.group" id="rule_group_period_companies">
<field name="name">User in companies</field>
<field name="model" search="[('model', '=', 'stock.period')]"/>
<field name="global_p" eval="True"/>
</record>
<record model="ir.rule" id="rule_period_companies">
<field name="domain"
eval="[('company', 'in', Eval('companies', []))]"
pyson="1"/>
<field name="rule_group" ref="rule_group_period_companies"/>
</record>
<record model="ir.model.access" id="access_period">
<field name="model" search="[('model', '=', 'stock.period')]"/>
<field name="perm_read" eval="False"/>
+22 -10
View File
@@ -77,6 +77,18 @@ this repository contains the full copyright notices and license terms. -->
<field name="action" ref="act_product_cost_price_revision"/>
</record>
<record model="ir.rule.group" id="rule_group_product_cost_price_revision_companies">
<field name="name">User in companies</field>
<field name="model" search="[('model', '=', 'product.cost_price.revision')]"/>
<field name="global_p" eval="True"/>
</record>
<record model="ir.rule" id="rule_product_cost_price_revision_companies">
<field name="domain"
eval="[('company', 'in', Eval('companies', []))]"
pyson="1"/>
<field name="rule_group" ref="rule_group_product_cost_price_revision_companies"/>
</record>
<record model="ir.model.access" id="access_product_cost_price_revision">
<field name="model" search="[('model', '=', 'product.cost_price.revision')]"/>
<field name="perm_read" eval="True"/>
@@ -269,17 +281,17 @@ this repository contains the full copyright notices and license terms. -->
<field name="act_window" ref="act_product_quantities_warehouse"/>
</record>
<record model="ir.rule.group" id="rule_group_product_quantities_warehouse">
<field name="name">User in company</field>
<record model="ir.rule.group" id="rule_group_product_quantities_warehouse_companies">
<field name="name">User in companies</field>
<field name="model" search="[('model', '=', 'stock.product_quantities_warehouse')]"/>
<field name="global_p" eval="True"/>
</record>
<record model="ir.rule" id="rule_product_quantities_warehouse">
<record model="ir.rule" id="rule_product_quantities_warehouse_companies">
<field
name="domain"
eval="[('company', '=', Eval('user', {}).get('company', None))]"
eval="[('company', 'in', Eval('companies', []))]"
pyson="1"/>
<field name="rule_group" ref="rule_group_product_quantities_warehouse"/>
<field name="rule_group" ref="rule_group_product_quantities_warehouse_companies"/>
</record>
<record model="ir.model.access" id="access_product_quantities_warehouse">
@@ -370,17 +382,17 @@ this repository contains the full copyright notices and license terms. -->
<field name="group" ref="group_stock"/>
</record>
<record model="ir.rule.group" id="rule_group_product_quantities_warehouse_move">
<field name="name">User in company</field>
<record model="ir.rule.group" id="rule_group_product_quantities_warehouse_move_companies">
<field name="name">User in companies</field>
<field name="model" search="[('model', '=', 'stock.product_quantities_warehouse.move')]"/>
<field name="global_p" eval="True"/>
</record>
<record model="ir.rule" id="rule_product_quantities_warehouse_move">
<record model="ir.rule" id="rule_product_quantities_warehouse_move_companies">
<field
name="domain"
eval="[('company', '=', Eval('user', {}).get('company', None))]"
eval="[('company', 'in', Eval('companies', []))]"
pyson="1"/>
<field name="rule_group" ref="rule_group_product_quantities_warehouse_move"/>
<field name="rule_group" ref="rule_group_product_quantities_warehouse_move_companies"/>
</record>
<record model="ir.model.access" id="access_product_quantities_warehouse_move">
+29 -25
View File
@@ -992,60 +992,64 @@ this repository contains the full copyright notices and license terms. -->
<field name="group" ref="group_stock"/>
</record>
<record model="ir.rule.group" id="rule_group_shipment_in">
<field name="name">User in company</field>
<record model="ir.rule.group" id="rule_group_shipment_in_companies">
<field name="name">User in companies</field>
<field name="model" search="[('model', '=', 'stock.shipment.in')]"/>
<field name="global_p" eval="True"/>
</record>
<record model="ir.rule" id="rule_shipment_in">
<record model="ir.rule" id="rule_shipment_in_companies">
<field name="domain"
eval="[('company', '=', Eval('user', {}).get('company', None))]"
eval="[('company', 'in', Eval('companies', []))]"
pyson="1"/>
<field name="rule_group" ref="rule_group_shipment_in"/>
<field name="rule_group" ref="rule_group_shipment_in_companies"/>
</record>
<record model="ir.rule.group" id="rule_group_shipment_in_return">
<field name="name">User in company</field>
<record model="ir.rule.group" id="rule_group_shipment_in_return_companies">
<field name="name">User in companies</field>
<field name="model" search="[('model', '=', 'stock.shipment.in.return')]"/>
<field name="global_p" eval="True"/>
</record>
<record model="ir.rule" id="rule_shipment_in_return">
<record model="ir.rule" id="rule_shipment_in_return_companies">
<field name="domain"
eval="[('company', '=', Eval('user', {}).get('company', None))]"
eval="[('company', 'in', Eval('companies', []))]"
pyson="1"/>
<field name="rule_group" ref="rule_group_shipment_in_return"/>
<field name="rule_group" ref="rule_group_shipment_in_return_companies"/>
</record>
<record model="ir.rule.group" id="rule_group_shipment_out">
<field name="name">User in company</field>
<record model="ir.rule.group" id="rule_group_shipment_out_companies">
<field name="name">User in companies</field>
<field name="model" search="[('model', '=', 'stock.shipment.out')]"/>
<field name="global_p" eval="True"/>
</record>
<record model="ir.rule" id="rule_shipment_out">
<record model="ir.rule" id="rule_shipment_out_companies">
<field name="domain"
eval="[('company', '=', Eval('user', {}).get('company', None))]"
eval="[('company', 'in', Eval('companies', []))]"
pyson="1"/>
<field name="rule_group" ref="rule_group_shipment_out"/>
<field name="rule_group" ref="rule_group_shipment_out_companies"/>
</record>
<record model="ir.rule.group" id="rule_group_shipment_out_return">
<field name="name">User in company</field>
<record model="ir.rule.group" id="rule_group_shipment_out_return_companies">
<field name="name">User in companies</field>
<field name="model" search="[('model', '=', 'stock.shipment.out.return')]"/>
<field name="global_p" eval="True"/>
</record>
<record model="ir.rule" id="rule_shipment_out_return">
<record model="ir.rule" id="rule_shipment_out_return_companies">
<field name="domain"
eval="[('company', '=', Eval('user', {}).get('company', None))]"
eval="[('company', 'in', Eval('companies', []))]"
pyson="1"/>
<field name="rule_group" ref="rule_group_shipment_out_return"/>
<field name="rule_group" ref="rule_group_shipment_out_return_companies"/>
</record>
<record model="ir.rule.group" id="rule_group_shipment_internal">
<field name="name">User in company</field>
<record model="ir.rule.group" id="rule_group_shipment_internal_companies">
<field name="name">User in companies</field>
<field name="model" search="[('model', '=', 'stock.shipment.internal')]"/>
<field name="global_p" eval="True"/>
</record>
<record model="ir.rule" id="rule_shipment_internal">
<record model="ir.rule" id="rule_shipment_internal_companies">
<field name="domain"
eval="[('company', '=', Eval('user', {}).get('company', None))]"
eval="[('company', 'in', Eval('companies', []))]"
pyson="1"/>
<field name="rule_group" ref="rule_group_shipment_internal"/>
<field name="rule_group" ref="rule_group_shipment_internal_companies"/>
</record>
<record model="ir.ui.view" id="shipment_assign_partial_view_form">
+48
View File
@@ -77,6 +77,18 @@ this repository contains the full copyright notices and license terms. -->
<field name="action" ref="act_reporting_margin_product"/>
</record>
<record model="ir.rule.group" id="rule_group_reporting_margin_product_companies">
<field name="name">User in companies</field>
<field name="model" search="[('model', '=', 'stock.reporting.margin.product')]"/>
<field name="global_p" eval="True"/>
</record>
<record model="ir.rule" id="rule_reporting_margin_product_companies">
<field name="domain"
eval="[('company', 'in', Eval('companies', []))]"
pyson="1"/>
<field name="rule_group" ref="rule_group_reporting_margin_product_companies"/>
</record>
<record model="ir.model.access" id="access_reporting_margin_product">
<field name="model" search="[('model', '=', 'stock.reporting.margin.product')]"/>
<field name="perm_read" eval="False"/>
@@ -153,6 +165,18 @@ this repository contains the full copyright notices and license terms. -->
<field name="action" ref="act_reporting_margin_product_time_series"/>
</record>
<record model="ir.rule.group" id="rule_group_reporting_margin_product_time_series_companies">
<field name="name">User in companies</field>
<field name="model" search="[('model', '=', 'stock.reporting.margin.product.time_series')]"/>
<field name="global_p" eval="True"/>
</record>
<record model="ir.rule" id="rule_reporting_margin_product_time_series_companies">
<field name="domain"
eval="[('company', 'in', Eval('companies', []))]"
pyson="1"/>
<field name="rule_group" ref="rule_group_reporting_margin_product_time_series_companies"/>
</record>
<record model="ir.model.access" id="access_reporting_margin_product_time_series">
<field name="model" search="[('model', '=', 'stock.reporting.margin.product.time_series')]"/>
<field name="perm_read" eval="False"/>
@@ -270,6 +294,18 @@ this repository contains the full copyright notices and license terms. -->
<field name="action" ref="act_reporting_margin_category"/>
</record>
<record model="ir.rule.group" id="rule_group_reporting_margin_category_companies">
<field name="name">User in companies</field>
<field name="model" search="[('model', '=', 'stock.reporting.margin.category')]"/>
<field name="global_p" eval="True"/>
</record>
<record model="ir.rule" id="rule_reporting_margin_category_companies">
<field name="domain"
eval="[('company', 'in', Eval('companies', []))]"
pyson="1"/>
<field name="rule_group" ref="rule_group_reporting_margin_category_companies"/>
</record>
<record model="ir.model.access" id="access_reporting_margin_category">
<field name="model" search="[('model', '=', 'stock.reporting.margin.category')]"/>
<field name="perm_read" eval="False"/>
@@ -346,6 +382,18 @@ this repository contains the full copyright notices and license terms. -->
<field name="action" ref="act_reporting_margin_category_time_series"/>
</record>
<record model="ir.rule.group" id="rule_group_reporting_margin_category_time_series_companies">
<field name="name">User in companies</field>
<field name="model" search="[('model', '=', 'stock.reporting.margin.category.time_series')]"/>
<field name="global_p" eval="True"/>
</record>
<record model="ir.rule" id="rule_reporting_margin_category_time_series_companies">
<field name="domain"
eval="[('company', 'in', Eval('companies', []))]"
pyson="1"/>
<field name="rule_group" ref="rule_group_reporting_margin_category_time_series_companies"/>
</record>
<record model="ir.model.access" id="access_reporting_margin_category_time_series">
<field name="model" search="[('model', '=', 'stock.reporting.margin.category.time_series')]"/>
<field name="perm_read" eval="False"/>
+2 -4
View File
@@ -17,13 +17,11 @@ from trytond.exceptions import UserWarning, UserError
from trytond.pool import Pool
from trytond.modules.company.tests import (
create_company, set_company, PartyCompanyCheckEraseMixin,
CompanyMultiValueTestMixin)
create_company, set_company, PartyCompanyCheckEraseMixin, CompanyTestMixin)
class StockTestCase(
PartyCompanyCheckEraseMixin, CompanyMultiValueTestMixin,
ModuleTestCase):
PartyCompanyCheckEraseMixin, CompanyTestMixin, ModuleTestCase):
'Test Stock module'
module = 'stock'
longMessage = True