Files
odoo_source/addons/sale/security/sale_security.xml
T
Victor Feyens d6893ae727 [FIX] product,sale: When multi-currency is enabled, pricelists should also be enabled
Since https://github.com/odoo/odoo/commit/7d8df4bec192e5a2ff3341dcf43d59e06a57f9a9, the groups
managing pricelists features have been updated.

But the onchange feature enabling pricelist on multi-currency activation was wrongly
adapted, it was only activating advanced pricelists, iff basic pricelists were enabled.

The wanted feature is to activate pricelist (basic pricelist features: group_product_pricelist)
when multi-currency is enabled.

Also add an implied_group on multi_currency group to enforce this behavior.

closes odoo/odoo#49633

X-original-commit: f862f9650395b02f6a43c57cdf232a309fa6948e
Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2020-04-16 08:36:03 +00:00

216 lines
10 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="base.group_multi_currency" model="res.groups">
<!--
Sales multi-currency is based on pricelists, if multi-currency is enabled,
enable pricelists.
-->
<field name="implied_ids" eval="[(4, ref('product.group_product_pricelist'))]"/>
</record>
<record id="group_auto_done_setting" model="res.groups">
<field name="name">Lock Confirmed Sales</field>
<field name="category_id" ref="base.module_category_hidden"/>
</record>
<record id="group_delivery_invoice_address" model="res.groups">
<field name="name">Addresses in Sales Orders</field>
<field name="category_id" ref="base.module_category_hidden"/>
</record>
<record id="group_warning_sale" model="res.groups">
<field name="name">A warning can be set on a product or a customer (Sale)</field>
<field name="category_id" ref="base.module_category_hidden"/>
</record>
<record id="group_proforma_sales" model="res.groups">
<field name="name">Pro-forma Invoices</field>
<field name="category_id" ref="base.module_category_hidden"/>
</record>
<record model="res.users" id="base.user_root">
<field eval="[(4,ref('base.group_partner_manager'))]" name="groups_id"/>
</record>
<record model="res.users" id="base.user_admin">
<field eval="[(4,ref('base.group_partner_manager'))]" name="groups_id"/>
</record>
<data noupdate="1">
<!-- Multi - Company Rules -->
<record model="ir.rule" id="sale_order_comp_rule">
<field name="name">Sales Order multi-company</field>
<field name="model_id" ref="model_sale_order"/>
<field name="domain_force">[('company_id', 'in', company_ids)]</field>
</record>
<record model="ir.rule" id="sale_order_line_comp_rule">
<field name="name">Sales Order Line multi-company</field>
<field name="model_id" ref="model_sale_order_line"/>
<field name="domain_force">['|', ('company_id', '=', False), ('company_id', 'in', company_ids)]</field>
</record>
<record model="ir.rule" id="sale_order_report_comp_rule">
<field name="name">Sales Order Analysis multi-company</field>
<field name="model_id" ref="model_sale_report"/>
<field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
</record>
<!-- Payments -->
<record id="payment_transaction_salesman_rule" model="ir.rule">
<field name="name">Access every payment transaction</field>
<field name="model_id" ref="payment.model_payment_transaction"/>
<field name="domain_force">[(1, '=', 1)]</field>
<field name="groups" eval="[(4, ref('sales_team.group_sale_salesman'))]"/>
</record>
<record id="payment_token_salesman_rule" model="ir.rule">
<field name="name">Access every payment token</field>
<field name="model_id" ref="payment.model_payment_token"/>
<field name="domain_force">[(1, '=', 1)]</field>
<field name="groups" eval="[(4, ref('sales_team.group_sale_salesman'))]"/>
</record>
<!-- Portal Access Rules -->
<record id="sale_order_rule_portal" model="ir.rule">
<field name="name">Portal Personal Quotations/Sales Orders</field>
<field name="model_id" ref="sale.model_sale_order"/>
<field name="domain_force">[('message_partner_ids','child_of',[user.commercial_partner_id.id])]</field>
<field name="groups" eval="[(4, ref('base.group_portal'))]"/>
<field name="perm_unlink" eval="True"/>
<field name="perm_write" eval="True"/>
<field name="perm_read" eval="True"/>
<field name="perm_create" eval="False"/>
</record>
<record id="sale_order_line_rule_portal" model="ir.rule">
<field name="name">Portal Sales Orders Line</field>
<field name="model_id" ref="sale.model_sale_order_line"/>
<field name="domain_force">[('order_id.message_partner_ids','child_of',[user.commercial_partner_id.id])]</field>
<field name="groups" eval="[(4, ref('base.group_portal'))]"/>
</record>
<!-- Multi - Salesmen sales order assignation rules -->
<record id="sale_order_personal_rule" model="ir.rule">
<field name="name">Personal Orders</field>
<field ref="model_sale_order" name="model_id"/>
<field name="domain_force">['|',('user_id','=',user.id),('user_id','=',False)]</field>
<field name="groups" eval="[(4, ref('sales_team.group_sale_salesman'))]"/>
</record>
<record id="sale_order_see_all" model="ir.rule">
<field name="name">All Orders</field>
<field ref="model_sale_order" name="model_id"/>
<field name="domain_force">[(1,'=',1)]</field>
<field name="groups" eval="[(4, ref('sales_team.group_sale_salesman_all_leads'))]"/>
</record>
<record id="sale_order_report_personal_rule" model="ir.rule">
<field name="name">Personal Orders Analysis</field>
<field ref="model_sale_report" name="model_id"/>
<field name="domain_force">['|',('user_id','=',user.id),('user_id','=',False)]</field>
<field name="groups" eval="[(4, ref('sales_team.group_sale_salesman'))]"/>
</record>
<record id="sale_order_report_see_all" model="ir.rule">
<field name="name">All Orders Analysis</field>
<field ref="model_sale_report" name="model_id"/>
<field name="domain_force">[(1,'=',1)]</field>
<field name="groups" eval="[(4, ref('sales_team.group_sale_salesman_all_leads'))]"/>
</record>
<record id="sale_order_line_personal_rule" model="ir.rule">
<field name="name">Personal Order Lines</field>
<field ref="model_sale_order_line" name="model_id"/>
<field name="domain_force">['|',('salesman_id','=',user.id),('salesman_id','=',False)]</field>
<field name="groups" eval="[(4, ref('sales_team.group_sale_salesman'))]"/>
</record>
<record id="sale_order_line_see_all" model="ir.rule">
<field name="name">All Orders Lines</field>
<field ref="model_sale_order_line" name="model_id"/>
<field name="domain_force">[(1,'=',1)]</field>
<field name="groups" eval="[(4, ref('sales_team.group_sale_salesman_all_leads'))]"/>
</record>
<record id="account_invoice_report_rule_see_personal" model="ir.rule">
<field name="name">Personal Invoices Analysis</field>
<field name="model_id" ref="model_account_invoice_report"/>
<field name="domain_force">['|', ('invoice_user_id', '=', user.id), ('invoice_user_id', '=', False)]</field>
<field name="groups" eval="[(4, ref('sales_team.group_sale_salesman'))]"/>
</record>
<record id="account_invoice_report_rule_see_all" model="ir.rule">
<field name="name">All Invoices Analysis</field>
<field name="model_id" ref="model_account_invoice_report"/>
<field name="domain_force">[(1, '=', 1)]</field>
<field name="groups" eval="[(4, ref('sales_team.group_sale_salesman_all_leads'))]"/>
</record>
<!-- Payment transactions and tokens access rules -->
<record id="payment_transaction_salesman_rule" model="ir.rule">
<field name="name">Access every payment transaction</field>
<field name="model_id" ref="payment.model_payment_transaction"/>
<field name="domain_force">[(1, '=', 1)]</field>
<field name="groups" eval="[(4, ref('sales_team.group_sale_salesman'))]"/>
</record>
<record id="payment_token_salesman_rule" model="ir.rule">
<field name="name">Access every payment token</field>
<field name="model_id" ref="payment.model_payment_token"/>
<field name="groups" eval="[(4, ref('sales_team.group_sale_salesman'))]"/>
</record>
<!-- Multi - Salesmen invoice and account move assignation rules -->
<record id="account_invoice_rule_see_personal" model="ir.rule">
<field name="name">Personal Invoices</field>
<field name="model_id" ref="model_account_move"/>
<field name="domain_force">[('move_type', 'in', ('out_invoice', 'out_refund', 'in_invoice', 'in_refund')), '|', ('invoice_user_id', '=', user.id), ('invoice_user_id', '=', False)]</field>
<field name="groups" eval="[(4, ref('sales_team.group_sale_salesman'))]"/>
</record>
<record id="account_invoice_rule_see_all" model="ir.rule">
<field name="name">All Invoices</field>
<field name="model_id" ref="model_account_move"/>
<field name="domain_force">[('move_type', 'in', ('out_invoice', 'out_refund', 'in_invoice', 'in_refund'))]</field>
<field name="groups" eval="[(4, ref('sales_team.group_sale_salesman_all_leads'))]"/>
</record>
<record id="account_invoice_line_rule_see_personal" model="ir.rule">
<field name="name">Personal Invoice Lines</field>
<field name="model_id" ref="model_account_move_line"/>
<field name="domain_force">[('move_id.move_type', 'in', ('out_invoice', 'out_refund', 'in_invoice', 'in_refund')), '|', ('move_id.invoice_user_id', '=', user.id), ('move_id.invoice_user_id', '=', False)]</field>
<field name="groups" eval="[(4, ref('sales_team.group_sale_salesman'))]"/>
</record>
<record id="account_invoice_line_rule_see_all" model="ir.rule">
<field name="name">All Invoice Lines</field>
<field name="model_id" ref="model_account_move_line"/>
<field name="domain_force">[('move_id.move_type', 'in', ('out_invoice', 'out_refund', 'in_invoice', 'in_refund'))]</field>
<field name="groups" eval="[(4, ref('sales_team.group_sale_salesman_all_leads'))]"/>
</record>
<!-- Wizard access rules -->
<record id="sale_payment_acquirer_onboarding_wizard_rule" model="ir.rule">
<field name="name">Payment Acquier Onboarding Wizard Rule</field>
<field name="model_id" ref="model_sale_payment_acquirer_onboarding_wizard"/>
<field name="domain_force">[('create_uid', '=', user.id)]</field>
</record>
<record id="sale_advance_payment_inv_rule" model="ir.rule">
<field name="name">Sales Advance Payment Invoice Rule</field>
<field name="model_id" ref="model_sale_advance_payment_inv"/>
<field name="domain_force">[('create_uid', '=', user.id)]</field>
</record>
<record id="sale_order_cancel_rule" model="ir.rule">
<field name="name">Sales Order Cancel Rule</field>
<field name="model_id" ref="model_sale_order_cancel"/>
<field name="domain_force">[('create_uid', '=', user.id)]</field>
</record>
</data>
</odoo>