Check rule only if _check_access is set and enforce companies rule
issue4080 review343891009
This commit is contained in:
1 parent
73cbb1bb03
commit
ca9d4a3b63
7 files changed
+130
-44
No files matched your search
@@ -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"/>
|
||||
|
||||
@@ -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
@@ -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
@@ -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
@@ -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">
|
||||
|
||||
@@ -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
@@ -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
|
||||
|
||||
Reference in new issue
Block a user