summaryrefslogtreecommitdiff
path: root/addons/purchase/security
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/purchase/security
parent0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff)
initial commit 2
Diffstat (limited to 'addons/purchase/security')
-rw-r--r--addons/purchase/security/ir.model.access.csv39
-rw-r--r--addons/purchase/security/purchase_security.xml97
2 files changed, 136 insertions, 0 deletions
diff --git a/addons/purchase/security/ir.model.access.csv b/addons/purchase/security/ir.model.access.csv
new file mode 100644
index 00000000..6e2b003c
--- /dev/null
+++ b/addons/purchase/security/ir.model.access.csv
@@ -0,0 +1,39 @@
+id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
+access_purchase_order,purchase.order,model_purchase_order,group_purchase_user,1,1,1,1
+access_purchase_order_manager,purchase.order,model_purchase_order,group_purchase_manager,1,1,1,1
+access_purchase_order_invoicing_payments_readonly,purchase.order,model_purchase_order,account.group_account_readonly,1,0,0,0
+access_purchase_order_invoicing_payments,purchase.order,model_purchase_order,account.group_account_invoice,1,1,0,0
+access_purchase_order_portal,purchase.order.portal,purchase.model_purchase_order,base.group_portal,1,0,0,0
+access_purchase_order_line,purchase.order.line user,model_purchase_order_line,group_purchase_user,1,1,1,1
+access_purchase_order_line_manager,purchase.order.line,model_purchase_order_line,group_purchase_manager,1,1,1,1
+access_purchase_order_line_invoicing_payments_readonly,purchase.order.line,model_purchase_order_line,account.group_account_readonly,1,0,0,0
+access_purchase_order_line_invoicing_payments,purchase.order.line,model_purchase_order_line,account.group_account_invoice,1,1,0,0
+access_purchase_order_line_portal,purchase.order.line.portal,purchase.model_purchase_order_line,base.group_portal,1,0,0,0
+access_account_tax_purchase_user,account.tax,account.model_account_tax,group_purchase_user,1,0,0,0
+access_account_tag_purchase_user,account.account.tag,account.model_account_account_tag,group_purchase_user,1,0,0,0
+access_account_tax_purchase_user_manager,account.tax,account.model_account_tax,group_purchase_manager,1,0,0,0
+access_product_product_purchase_user,product.product.purchase.user,product.model_product_product,group_purchase_user,1,0,0,0
+access_product_product_purchase_manager,product.product purchase_manager,product.model_product_product,purchase.group_purchase_manager,1,1,1,1
+access_product_template_purchase_user,product.template purchase_user,product.model_product_template,group_purchase_user,1,0,0,0
+access_account_fiscal_position_purchase_user,account.fiscal.position purchase,account.model_account_fiscal_position,group_purchase_user,1,0,0,0
+access_res_partner_purchase_user,res.partner purchase,base.model_res_partner,group_purchase_user,1,0,0,0
+access_account_journal,account.journal,account.model_account_journal,group_purchase_user,1,0,0,0
+access_account_journal_manager,account.journal,account.model_account_journal,group_purchase_manager,1,0,0,0
+access_account_move,account.move,account.model_account_move,group_purchase_user,1,1,1,1
+access_account_move_line_manager,account.move.line,account.model_account_move_line,group_purchase_manager,1,1,1,1
+access_account_move_line,account.move.line,account.model_account_move_line,group_purchase_user,1,1,1,0
+access_account_analytic_line,account.analytic.line,account.model_account_analytic_line,group_purchase_user,1,0,0,0
+access_account_type,account.acount.type.purchase.user,account.model_account_account_type,group_purchase_user,1,0,0,0
+account_partial_reconcile,account.partial.reconcile.purchase.user,account.model_account_partial_reconcile,group_purchase_user,1,0,0,0
+access_res_partner_purchase_manager,res.partner.purchase.manager,base.model_res_partner,group_purchase_manager,1,1,1,0
+access_uom_category_purchase_manager,uom.category purchase_manager,uom.model_uom_category,purchase.group_purchase_manager,1,1,1,1
+access_uom_uom_purchase_manager,uom.uom purchase_manager,uom.model_uom_uom,purchase.group_purchase_manager,1,1,1,1
+access_product_category_purchase_manager,product.category purchase_manager,product.model_product_category,purchase.group_purchase_manager,1,1,1,1
+access_product_template_purchase_manager,product.template purchase_manager,product.model_product_template,purchase.group_purchase_manager,1,1,1,1
+access_product_packaging_purchase_manager,product.packaging purchase_manager,product.model_product_packaging,purchase.group_purchase_manager,1,1,1,1
+access_product_supplierinfo_purchase_manager,product.supplierinfo purchase_manager,product.model_product_supplierinfo,purchase.group_purchase_manager,1,1,1,1
+access_product_pricelist_item_purchase_manager,product.pricelist.item purchase_manager,product.model_product_pricelist_item,purchase.group_purchase_manager,1,1,1,1
+access_account_account_purchase_manager,account.account purchase manager,account.model_account_account,purchase.group_purchase_manager,1,0,0,0
+access_purchase_bill_union,access_purchase_bill_union,model_purchase_bill_union,purchase.group_purchase_user,1,0,0,0
+access_report_purchase_order,purchase.stock.report,model_purchase_report,purchase.group_purchase_manager,1,0,0,0
+access_report_purchase_order_user,purchase.stock.report user,model_purchase_report,purchase.group_purchase_user,1,0,0,0
diff --git a/addons/purchase/security/purchase_security.xml b/addons/purchase/security/purchase_security.xml
new file mode 100644
index 00000000..1577a337
--- /dev/null
+++ b/addons/purchase/security/purchase_security.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+<data>
+
+ <record model="ir.module.category" id="base.module_category_inventory_purchase">
+ <field name="description">Helps you manage your purchase-related processes such as requests for quotations, supplier bills, etc...</field>
+ <field name="sequence">8</field>
+ </record>
+
+ <record id="group_purchase_user" model="res.groups">
+ <field name="name">User</field>
+ <field name="implied_ids" eval="[(4, ref('base.group_user'))]"/>
+ <field name="category_id" ref="base.module_category_inventory_purchase"/>
+ </record>
+
+ <record id="group_purchase_manager" model="res.groups">
+ <field name="name">Administrator</field>
+ <field name="category_id" ref="base.module_category_inventory_purchase"/>
+ <field name="implied_ids" eval="[(4, ref('group_purchase_user'))]"/>
+ <field name="users" eval="[(4, ref('base.user_root')), (4, ref('base.user_admin'))]"/>
+ </record>
+
+ <record id="group_warning_purchase" model="res.groups">
+ <field name="name">A warning can be set on a product or a customer (Purchase)</field>
+ <field name="category_id" ref="base.module_category_hidden"/>
+ </record>
+
+ <record id="group_send_reminder" model="res.groups">
+ <field name="name">Send an automatic reminder email to confirm delivery</field>
+ <field name="category_id" ref="base.module_category_hidden"/>
+ </record>
+
+</data>
+<data noupdate="1">
+ <record model="res.groups" id="base.group_user">
+ <field name="implied_ids" eval="[(4, ref('purchase.group_send_reminder'))]"/>
+ </record>
+
+ <record id="base.default_user" model="res.users">
+ <field name="groups_id" eval="[(4,ref('purchase.group_purchase_manager'))]"/>
+ </record>
+
+ <record model="ir.rule" id="purchase_order_comp_rule">
+ <field name="name">Purchase Order multi-company</field>
+ <field name="model_id" ref="model_purchase_order"/>
+ <field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
+ </record>
+
+ <record model="ir.rule" id="purchase_order_line_comp_rule">
+ <field name="name">Purchase Order Line multi-company</field>
+ <field name="model_id" ref="model_purchase_order_line"/>
+ <field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
+ </record>
+
+ <record id="portal_purchase_order_user_rule" model="ir.rule">
+ <field name="name">Portal Purchase Orders</field>
+ <field name="model_id" ref="purchase.model_purchase_order"/>
+ <field name="domain_force">['|', ('message_partner_ids','child_of',[user.commercial_partner_id.id]),('partner_id', 'child_of', [user.commercial_partner_id.id])]</field>
+ <field name="groups" eval="[(4, ref('base.group_portal'))]"/>
+ <field name="perm_unlink" eval="1"/>
+ <field name="perm_write" eval="1"/>
+ <field name="perm_read" eval="1"/>
+ <field name="perm_create" eval="0"/>
+ </record>
+
+ <record id="purchase_user_account_move_line_rule" model="ir.rule">
+ <field name="name">Purchase User Account Move Line</field>
+ <field name="model_id" ref="account.model_account_move_line"/>
+ <field name="domain_force">[('move_id.move_type', 'in', ('in_invoice', 'in_refund', 'in_receipt'))]</field>
+ <field name="groups" eval="[(4, ref('purchase.group_purchase_user'))]"/>
+ </record>
+ <record id="purchase_user_account_move_rule" model="ir.rule">
+ <field name="name">Purchase User Account Move</field>
+ <field name="model_id" ref="account.model_account_move"/>
+ <field name="domain_force">[('move_type', 'in', ('in_invoice', 'in_refund', 'in_receipt'))]</field>
+ <field name="groups" eval="[(4, ref('purchase.group_purchase_user'))]"/>
+ </record>
+ <record id="portal_purchase_order_line_rule" model="ir.rule">
+ <field name="name">Portal Purchase Order Lines</field>
+ <field name="model_id" ref="purchase.model_purchase_order_line"/>
+ <field name="domain_force">['|',('order_id.message_partner_ids','child_of',[user.commercial_partner_id.id]),('order_id.partner_id','child_of',[user.commercial_partner_id.id])]</field>
+ <field name="groups" eval="[(4, ref('base.group_portal'))]"/>
+ </record>
+ <record model="ir.rule" id="purchase_bill_union_comp_rule">
+ <field name="name">Purchases &amp; Bills Union multi-company</field>
+ <field name="model_id" ref="model_purchase_bill_union"/>
+ <field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
+ </record>
+
+ <record id="purchase_order_report_comp_rule" model="ir.rule">
+ <field name="name">Purchase Order Report multi-company</field>
+ <field name="model_id" ref="model_purchase_report"/>
+ <field name="domain_force">['|',('company_id','=',False),('company_id', 'in', company_ids)]</field>
+ </record>
+
+</data>
+</odoo>