summaryrefslogtreecommitdiff
path: root/addons/account/security/account_security.xml
diff options
context:
space:
mode:
authorstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
committerstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
commit3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch)
treea44932296ef4a9b71d5f010906253d8c53727726 /addons/account/security/account_security.xml
parent0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff)
initial commit 2
Diffstat (limited to 'addons/account/security/account_security.xml')
-rw-r--r--addons/account/security/account_security.xml279
1 files changed, 279 insertions, 0 deletions
diff --git a/addons/account/security/account_security.xml b/addons/account/security/account_security.xml
new file mode 100644
index 00000000..6fc42d68
--- /dev/null
+++ b/addons/account/security/account_security.xml
@@ -0,0 +1,279 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+<data noupdate="0">
+
+ <record model="ir.module.category" id="base.module_category_accounting_accounting">
+ <field name="description">Helps you handle your accounting needs, if you are not an accountant, we suggest you to install only the Invoicing.</field>
+ <field name="sequence">7</field>
+ </record>
+
+ <record id="group_show_line_subtotals_tax_excluded" model="res.groups">
+ <field name="name">Tax display B2B</field>
+ <field name="comment">Show line subtotals without taxes (B2B)</field>
+ <field name="category_id" ref="base.module_category_hidden"/>
+ </record>
+
+ <record id="group_show_line_subtotals_tax_included" model="res.groups">
+ <field name="name">Tax display B2C</field>
+ <field name="comment">Show line subtotals with taxes included (B2C)</field>
+ <field name="category_id" ref="base.module_category_hidden"/>
+ </record>
+
+ <record id="group_account_readonly" model="res.groups">
+ <field name="name">Show Accounting Features - Readonly</field>
+ <field name="category_id" ref="base.module_category_hidden"/>
+ <field name="implied_ids" eval="[(4, ref('base.group_user'))]"/>
+ </record>
+
+ <record id="group_account_invoice" model="res.groups">
+ <field name="name">Billing</field>
+ <field name="category_id" ref="base.module_category_accounting_accounting"/>
+ <field name="implied_ids" eval="[(4, ref('base.group_user'))]"/>
+ </record>
+
+ <record id="group_account_user" model="res.groups">
+ <field name="name">Show Full Accounting Features</field>
+ <field name="category_id" ref="base.module_category_hidden"/>
+ <field name="implied_ids" eval="[(4, ref('group_account_invoice')), (4, ref('group_account_readonly'))]"/>
+ </record>
+
+ <record id="group_account_manager" model="res.groups">
+ <field name="name">Billing Administrator</field>
+ <field name="category_id" ref="base.module_category_accounting_accounting"/>
+ <field name="implied_ids" eval="[(4, ref('group_account_invoice')),(4, ref('base.group_private_addresses'))]"/>
+ </record>
+
+ <record id="base.user_admin" model="res.users">
+ <field name="groups_id" eval="[(4, ref('account.group_account_invoice'))]"/>
+ </record>
+
+ <record id="base.group_system" model="res.groups">
+ <field name="implied_ids" eval="[(4, ref('account.group_account_manager'))]"/>
+ </record>
+
+ <record id="group_warning_account" model="res.groups">
+ <field name="name">A warning can be set on a partner (Account)</field>
+ <field name="category_id" ref="base.module_category_hidden"/>
+ </record>
+
+ <record id="group_cash_rounding" model="res.groups">
+ <field name="name">Allow the cash rounding management</field>
+ <field name="category_id" ref="base.module_category_hidden"/>
+ </record>
+
+ <record id="group_sale_receipts" model="res.groups">
+ <field name="name">Sale Receipt</field>
+ <field name="category_id" ref="base.module_category_hidden"/>
+ </record>
+ <record id="group_purchase_receipts" model="res.groups">
+ <field name="name">Purchase Receipt</field>
+ <field name="category_id" ref="base.module_category_hidden"/>
+ </record>
+
+</data>
+
+<data noupdate="1">
+
+ <record id="account_analytic_line_rule_billing_user" model="ir.rule">
+ <field name="name">account.analytic.line.billing.user</field>
+ <field name="model_id" ref="analytic.model_account_analytic_line"/>
+ <field name="domain_force">[(1, '=', 1)]</field>
+ <field name="groups" eval="[(4, ref('account.group_account_invoice'))]"/>
+ </record>
+
+ <record id="base.group_public" model="res.groups">
+ <field name="implied_ids" eval="[(4, ref('account.group_show_line_subtotals_tax_excluded'))]"/>
+ </record>
+ <record id="base.group_portal" model="res.groups">
+ <field name="implied_ids" eval="[(4, ref('account.group_show_line_subtotals_tax_excluded'))]"/>
+ </record>
+ <record id="base.group_user" model="res.groups">
+ <field name="implied_ids" eval="[(4, ref('account.group_show_line_subtotals_tax_excluded'))]"/>
+ </record>
+
+ <record id="base.default_user" model="res.users">
+ <field name="groups_id" eval="[(4,ref('account.group_account_manager'))]"/>
+ </record>
+
+ <record id="account_move_comp_rule" model="ir.rule">
+ <field name="name">Account Entry</field>
+ <field name="model_id" ref="model_account_move"/>
+ <field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
+ </record>
+
+ <record id="account_move_line_comp_rule" model="ir.rule">
+ <field name="name">Entry lines</field>
+ <field name="model_id" ref="model_account_move_line"/>
+ <field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
+ </record>
+
+ <record id="journal_group_comp_rule" model="ir.rule">
+ <field name="name">Journal Group multi-company</field>
+ <field name="model_id" ref="model_account_journal_group"/>
+ <field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
+ </record>
+
+ <record id="journal_comp_rule" model="ir.rule">
+ <field name="name">Journal multi-company</field>
+ <field name="model_id" ref="model_account_journal"/>
+ <field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
+ </record>
+
+ <record id="account_comp_rule" model="ir.rule">
+ <field name="name">Account multi-company</field>
+ <field name="model_id" ref="model_account_account"/>
+ <field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
+ </record>
+
+ <record id="account_group_comp_rule" model="ir.rule">
+ <field name="name">Account Group multi-company</field>
+ <field name="model_id" ref="model_account_group"/>
+ <field name="domain_force">[('company_id', 'in', company_ids)]</field>
+ </record>
+
+ <record id="account_root_comp_rule" model="ir.rule">
+ <field name="name">Account Root multi-company</field>
+ <field name="model_id" ref="model_account_root"/>
+ <field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
+ </record>
+
+ <record id="tax_comp_rule" model="ir.rule">
+ <field name="name">Tax multi-company</field>
+ <field name="model_id" ref="model_account_tax"/>
+ <field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
+ </record>
+
+ <record id="invoice_analysis_comp_rule" model="ir.rule">
+ <field name="name">Invoice Analysis multi-company</field>
+ <field name="model_id" ref="model_account_invoice_report"/>
+ <field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
+ </record>
+
+ <record id="account_fiscal_position_comp_rule" model="ir.rule">
+ <field name="name">Account fiscal Mapping company rule</field>
+ <field name="model_id" ref="model_account_fiscal_position"/>
+ <field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
+ </record>
+
+ <record model="ir.rule" id="account_bank_statement_comp_rule">
+ <field name="name">Account bank statement company rule</field>
+ <field name="model_id" ref="model_account_bank_statement"/>
+ <field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
+ </record>
+
+ <record model="ir.rule" id="account_bank_statement_line_comp_rule">
+ <field name="name">Account bank statement line company rule</field>
+ <field name="model_id" ref="model_account_bank_statement_line"/>
+ <field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
+ </record>
+
+ <record model="ir.rule" id="account_reconcile_model_template_comp_rule">
+ <field name="name">Account reconcile model template company rule</field>
+ <field name="model_id" ref="model_account_reconcile_model"/>
+ <field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
+ </record>
+
+ <record model="ir.rule" id="account_reconcile_model_line_template_comp_rule">
+ <field name="name">Account reconcile model_line template company rule</field>
+ <field name="model_id" ref="model_account_reconcile_model_line"/>
+ <field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
+ </record>
+
+ <record model="ir.rule" id="account_payment_comp_rule">
+ <field name="name">Account payment company rule</field>
+ <field name="model_id" ref="model_account_payment"/>
+ <field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
+ </record>
+
+ <record model="ir.rule" id="account_payment_term_comp_rule">
+ <field name="name">Account payment term company rule</field>
+ <field name="model_id" ref="model_account_payment_term"/>
+ <field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
+ </record>
+
+ <!-- Billing record rules for account.move -->
+
+ <record id="account_move_see_all" model="ir.rule">
+ <field name="name">All Journal Entries</field>
+ <field ref="model_account_move" name="model_id"/>
+ <field name="domain_force">[(1, '=', 1)]</field>
+ <field name="groups" eval="[(4, ref('account.group_account_invoice'))]"/>
+ </record>
+
+ <record id="account_move_line_see_all" model="ir.rule">
+ <field name="name">All Journal Items</field>
+ <field ref="model_account_move_line" name="model_id"/>
+ <field name="domain_force">[(1, '=', 1)]</field>
+ <field name="groups" eval="[(4, ref('account.group_account_invoice'))]"/>
+ </record>
+
+ <!-- Portal for invoice move and invoice move lines -->
+ <record id="account_invoice_rule_portal" model="ir.rule">
+ <field name="name">Portal Personal Account Invoices</field>
+ <field name="model_id" ref="account.model_account_move"/>
+ <field name="domain_force">[('move_type', 'in', ('out_invoice', 'out_refund', 'in_invoice', 'in_refund')), ('message_partner_ids','child_of',[user.commercial_partner_id.id])]</field>
+ <field name="groups" eval="[(4, ref('base.group_portal'))]"/>
+ </record>
+
+ <record id="account_invoice_line_rule_portal" model="ir.rule">
+ <field name="name">Portal Invoice Lines</field>
+ <field name="model_id" ref="account.model_account_move_line"/>
+ <field name="domain_force">[('move_id.move_type', 'in', ('out_invoice', 'out_refund', 'in_invoice', 'in_refund')), ('move_id.message_partner_ids','child_of',[user.commercial_partner_id.id])]</field>
+ <field name="groups" eval="[(4, ref('base.group_portal'))]"/>
+ </record>
+
+ <!-- Some modules (i.e. sale) restrict the access for some users
+ We want the readonly group to still have the read access on all moves.-->
+ <record id="account_move_rule_group_readonly" model="ir.rule">
+ <field name="name">Readonly Move</field>
+ <field name="model_id" ref="model_account_move"/>
+ <field name="domain_force">[(1, '=', 1)]</field>
+ <field name="groups" eval="[(4, ref('account.group_account_readonly'))]"/>
+ <field name="perm_write" eval="False"/>
+ <field name="perm_create" eval="False"/>
+ <field name="perm_unlink" eval="False"/>
+ </record>
+
+ <record id="account_move_line_rule_group_readonly" model="ir.rule">
+ <field name="name">Readonly Move Line</field>
+ <field name="model_id" ref="model_account_move_line"/>
+ <field name="domain_force">[(1, '=', 1)]</field>
+ <field name="groups" eval="[(4, ref('account.group_account_readonly'))]"/>
+ <field name="perm_write" eval="False"/>
+ <field name="perm_create" eval="False"/>
+ <field name="perm_unlink" eval="False"/>
+ </record>
+
+ <!-- Some modules (i.e. sale) restrict the access for some users
+ We want the invoice group to still have all access on all moves.-->
+ <record id="account_move_rule_group_invoice" model="ir.rule">
+ <field name="name">Readonly Move</field>
+ <field name="model_id" ref="model_account_move"/>
+ <field name="domain_force">[(1, '=', 1)]</field>
+ <field name="groups" eval="[(4, ref('account.group_account_invoice'))]"/>
+ </record>
+
+ <record id="account_move_line_rule_group_invoice" model="ir.rule">
+ <field name="name">Readonly Move Line</field>
+ <field name="model_id" ref="model_account_move_line"/>
+ <field name="domain_force">[(1, '=', 1)]</field>
+ <field name="groups" eval="[(4, ref('account.group_account_invoice'))]"/>
+ </record>
+
+ <record id="account_invoice_send_rule_group_invoice" model="ir.rule">
+ <field name="name">Readonly Invoice Send and Print</field>
+ <field name="model_id" ref="model_account_invoice_send"/>
+ <field name="domain_force">[(1, '=', 1)]</field>
+ <field name="groups" eval="[(4, ref('account.group_account_invoice'))]"/>
+ </record>
+
+ <!-- account analytic default-->
+ <record id="analytic_default_comp_rule" model="ir.rule">
+ <field name="name">Analytic Default multi company rule</field>
+ <field name="model_id" ref="model_account_analytic_default"/>
+ <field eval="True" name="global"/>
+ <field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
+ </record>
+
+</data>
+</odoo>