odoo权限

ir.model.access.csv文件这里注意,用户和经理的写法

id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink

access_demo_contract_lx,demo.contract.lx,model_demo_contract_lx,group_contract_user,1,0,0,0
access_demo_contract_lx_manager,demo.contract.lx,model_demo_contract_lx,group_contract_manager,1,1,1,1

access_settle_account,settle.account,model_settle_account,group_contract_user,1,0,0,0
access_settle_account_manager,settle.account,model_settle_account,group_contract_manager,1,1,1,1

access_settle_account_line,settle.account.line,model_settle_account_line,group_contract_user,1,0,0,0
access_settle_account_line_manager,settle.account.line,model_settle_account_line,group_contract_manager,1,1,1,1

access_sigining_contract,sigining.contract,model_sigining_contract,group_contract_user,1,0,0,0
access_sigining_contract_manager,sigining.contract,model_sigining_contract,group_contract_manager,1,1,1,1

access_pay_type,pay.type,model_pay_type,group_contract_user,1,0,0,0
access_pay_type_manager,pay.type,model_pay_type,group_contract_manager,1,1,1,1




安全文件

<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <!--其中这一段,是文件定义组和组对菜单的访问权限-->
    <!--Noupdate 表示,当模块升级时是否更新本条数据。-->
    <!--对于demo 数据,通常设置成noupdate=”1”,即不更新,不指定noupdate 的话,默认值是noupdate=”0”。-->
      <data noupdate="0">
       <record id="model_category_contract_management" model="ir.module.category"> <!--分类总的model为固定model   id是自己取的-->
           <field name="name">合同</field>  <!--哪个模块的分类-->
           <field name="sequence">16</field>
       </record>
       <record id="group_contract_user" model="res.groups"><!--model代表你自己要限制权限的哪个文件名-->
           <field name="name">用户</field>
           <field name="category_id" ref="model_category_contract_management"/><!--category_id 指定此组属于哪个应用程序(模块)-->
           <field name="implied_ids" eval="[(4, ref('base.group_user'))]"/>
       </record>
       <record id="group_contract_manager" model="res.groups">
           <field name="name">经理</field>
           <field name="category_id" ref="model_category_contract_management"/>
           <field name="implied_ids" eval="[(4,ref('group_contract_user'))]"/> <!--包含-->
           <field name="users" eval="[(4,ref('base.user_root'))]"/> <!--超级用户权限--><!--users 指定了组里面的用户,这里表示把admin用户添加到该组-->
       </record>

    </data>
</openerp>




一个完整的权限例子:各部门都要有各部门的权限:
<?xml version="1.0" encoding="utf-8"?>
<openerp>
   <!--其中这一段,是文件定义组和组对菜单的访问权限-->
    <!--Noupdate 表示,当模块升级时是否更新本条数据。-->
    <!--对于demo 数据,通常设置成noupdate=”1”,即不更新,不指定noupdate 的话,默认值是noupdate=”0”。-->
      <data noupdate="0">
       <record id="model_demo_mrp" model="ir.module.category"> <!--分类总的model为固定model   id是自己取的-->
           <field name="name">demo_mrp</field>  <!--哪个模块的分类-->
           <field name="sequence">22</field>
       </record>

       <record id="group_demo_mrp_user_io" model="res.groups"><!--model代表你自己要限制权限的哪个文件名-->
           <field name="name">仓库</field>
           <field name="implied_ids" eval="[(4, ref('base.group_user'))]"/>
           <field name="category_id" ref="model_demo_mrp"/>
       </record>

      <record id="group_demo_mrp_manager_io" model="res.groups"><!--model代表你自己要限制权限的哪个文件名-->
           <field name="name">仓库经理</field>
           <field name="implied_ids" eval="[(4, ref('group_demo_mrp_user_io'))]"/>
           <field name="category_id" ref="model_demo_mrp"/>
      </record>

      <record id="group_demo_mrp_user_bussiness" model="res.groups"><!--model代表你自己要限制权限的哪个文件名-->
           <field name="name">业务部</field>
           <field name="implied_ids" eval="[(4, ref('base.group_user'))]"/>
           <field name="category_id" ref="model_demo_mrp"/>
      </record>

      <record id="group_demo_mrp_manager_bussiness" model="res.groups"><!--model代表你自己要限制权限的哪个文件名-->
           <field name="name">业务部经理</field>
           <field name="implied_ids" eval="[(4, ref('group_demo_mrp_user_bussiness'))]"/>
           <field name="category_id" ref="model_demo_mrp"/>
      </record>

      <record id="group_demo_mrp_user_drawn" model="res.groups"><!--model代表你自己要限制权限的哪个文件名-->
           <field name="name">绘图部</field>
           <field name="implied_ids" eval="[(4, ref('base.group_user'))]"/>
           <field name="category_id" ref="model_demo_mrp"/>
      </record>

      <record id="group_demo_mrp_manager_drawn" model="res.groups"><!--model代表你自己要限制权限的哪个文件名-->
           <field name="name">绘图部经理</field>
           <field name="implied_ids" eval="[(4, ref('group_demo_mrp_user_drawn'))]"/>
           <field name="category_id" ref="model_demo_mrp"/>
      </record>


      <record id="group_mrp_manager_man" model="res.groups">
           <field name="name">超级用户</field>
           <field name="category_id" ref="model_demo_mrp"/>
           <!--<field name="implied_ids" eval="[(4, ref('group_demo_mrp_user_bussiness'))]"/>-->
           <field name="implied_ids" eval="[((4,ref('group_demo_mrp_user_bussiness')),(4,ref('group_demo_mrp_user_drawn')),(4,ref('group_demo_mrp_user_io')),(4,ref('group_demo_mrp_manager_bussiness')),(4,ref('group_demo_mrp_manager_io')),(4,ref('group_demo_mrp_manager_drawn')))]"/> <!--包含-->
           <field name="users" eval="[(4,ref('base.user_root'))]"/><!--超级用户权限--><!--users 指定了组里面的用户,这里表示把admin用户添加到该组-->
      </record>

    </data>
</openerp>

id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_unit,unit,model_unit,group_mrp_manager_man,1,1,1,1
access_profin_application,profin.application,model_profin_application,group_demo_mrp_user_io,1,0,0,0
access_proofing_process,proofing.process,model_proofing_process,group_demo_mrp_user_io,1,0,0,0
access_new_nversion,new.nversion,model_new_nversion,group_demo_mrp_user_io,1,0,0,0
access_create_versionzhi,create.versionzhi,model_create_versionzhi,group_demo_mrp_user_io,1,0,0,0
access_prodtion_lc,prodtion.lc,model_prodtion_lc,group_demo_mrp_user_io,1,0,0,0
access_outg_process,outg.process,model_outg_process,group_demo_mrp_user_io,1,0,0,0
access_product_instock,product.instock,model_product_instock,group_demo_mrp_user_io,1,1,1,1
access_finishp_out,finishp.out,model_finishp_out,group_demo_mrp_user_io,1,1,1,1
access_product_require,product.require,model_product_require,group_demo_mrp_user_io,1,1,1,1
access_market_sort,market.sort,model_market_sort,group_demo_mrp_user_io,1,1,1,1
access_machine_model,machine.model,model_machine_model,group_demo_mrp_user_io,1,1,1,1
access_shb_mc,shb.mc,model_shb_mc,group_demo_mrp_user_io,1,1,1,1
access_trademark_type,trademark.type,model_trademark_type,group_demo_mrp_user_io,1,0,0,0
access_unit,unit,model_unit,group_demo_mrp_user_io,1,1,1,1
access_product_instock_line,product.instock.line,model_product_instock_line,group_demo_mrp_user_io,1,1,1,1
access_product_instock_order,product.instock.order,model_product_instock_order,group_demo_mrp_user_io,1,1,1,1
access_finishp_out_line,finishp.out.line,model_finishp_out_line,group_demo_mrp_user_io,1,1,1,1
access_profin_application_1,profin.application,model_profin_application,group_demo_mrp_user_drawn,1,0,0,0
access_proofing_process_1,proofing.process,model_proofing_process,group_demo_mrp_user_drawn,1,1,1,1
access_new_nversion_1,new.nversion,model_new_nversion,group_demo_mrp_user_drawn,1,0,0,0
access_create_versionzhi_1,create.versionzhi,model_create_versionzhi,group_demo_mrp_user_drawn,1,0,0,0
access_prodtion_lc_1,prodtion.lc,model_prodtion_lc,group_demo_mrp_user_drawn,1,0,0,0
access_outg_process_1,outg.process,model_outg_process,group_demo_mrp_user_drawn,1,0,0,0
access_product_instock_1,product.instock,model_product_instock,group_demo_mrp_user_drawn,1,1,1,1
access_finishp_out_1,finishp.out,model_finishp_out,group_demo_mrp_user_drawn,1,1,1,1          #对与同一表单,不同部门权限,名称不能重复,必须唯一
access_product_require_1,product.require,model_product_require,group_demo_mrp_user_drawn,1,1,1,1
access_market_sort_1,market.sort,model_market_sort,group_demo_mrp_user_drawn,1,1,1,1
access_machine_model_1,machine.model,model_machine_model,group_demo_mrp_user_drawn,1,1,1,1
access_shb_mc_1,shb.mc,model_shb_mc,group_demo_mrp_user_drawn,1,1,1,1
access_trademark_type_1,trademark.type,model_trademark_type,group_demo_mrp_user_drawn,1,0,0,0
access_unit_1,unit,model_unit,group_demo_mrp_user_drawn,1,1,1,1
access_proofing_process_line_1,proofing.process.line,model_proofing_process_line,group_demo_mrp_user_drawn,1,1,1,1
access_profin_application_2,profin.application,model_profin_application,group_demo_mrp_user_bussiness,1,1,1,1
access_proofing_process_2,proofing.process,model_proofing_process,group_demo_mrp_user_bussiness,1,0,0,0
access_new_nversion_2,new.nversion,model_new_nversion,group_demo_mrp_user_bussiness,1,1,1,1
access_create_versionzhi_2,create.versionzhi,model_create_versionzhi,group_demo_mrp_user_bussiness,1,1,1,1
access_prodtion_lc_2,prodtion.lc,model_prodtion_lc,group_demo_mrp_user_bussiness,1,1,1,1
access_prodtion_lc_line_2,prodtion.lc.line,model_prodtion_lc_line,group_demo_mrp_user_bussiness,1,1,1,1
access_fen_vernum_2,fen.vernum,model_fen_vernum,group_demo_mrp_user_bussiness,1,1,1,1
access_outg_process_2,outg.process,model_outg_process,group_demo_mrp_user_bussiness,1,1,1,1
access_outg_process_line_2,outg.process.line,model_outg_process_line,group_demo_mrp_user_bussiness,1,1,1,1
access_wai_vernum_2,wai.vernum,model_wai_vernum,group_demo_mrp_user_bussiness,1,1,1,1
access_product_instock_2,product.instock,model_product_instock,group_demo_mrp_user_bussiness,1,0,0,0
access_finishp_out_2,finishp.out,model_finishp_out,group_demo_mrp_user_bussiness,1,0,0,0
access_product_require_2,product.require,model_product_require,group_demo_mrp_user_bussiness,1,1,1,1
access_market_sort_2,market.sort,model_market_sort,group_demo_mrp_user_bussiness,1,1,1,1
access_machine_model_2,machine.model,model_machine_model,group_demo_mrp_user_bussiness,1,1,1,1
access_shb_mc_2,shb.mc,model_shb_mc,group_demo_mrp_user_bussiness,1,1,1,1
access_trademark_type_2,trademark.type,model_trademark_type,group_demo_mrp_user_bussiness,1,0,0,0
access_unit_2,unit,model_unit,group_demo_mrp_user_bussiness,1,1,1,1
access_proofing_process_line_2,proofing.process.line,model_proofing_process_line,group_demo_mrp_user_bussiness,1,0,0,0
access_proofing_process_line_3,proofing.process.line,model_proofing_process_line,group_mrp_manager_man,1,1,1,1
access_profin_application_3,profin.application,model_profin_application,group_mrp_manager_man,1,1,1,1
access_proofing_process_3,proofing.process,model_proofing_process,group_mrp_manager_man,1,1,1,1
access_new_nversion_3,new.nversion,model_new_nversion,group_mrp_manager_man,1,1,1,1
access_create_versionzhi_3,create.versionzhi,model_create_versionzhi,group_mrp_manager_man,1,1,1,1
access_prodtion_lc_3,prodtion.lc,model_prodtion_lc,group_mrp_manager_man,1,1,1,1
access_prodtion_lc_line_3,prodtion.lc.line,model_prodtion_lc_line,group_mrp_manager_man,1,1,1,1
access_fen_vernum_3,fen.vernum,model_fen_vernum,group_mrp_manager_man,1,1,1,1
access_outg_process_3,outg.process,model_outg_process,group_mrp_manager_man,1,1,1,1
access_outg_process_line_3,outg.process.line,model_outg_process_line,group_mrp_manager_man,1,1,1,1
access_wai_vernum_3,wai.vernum,model_wai_vernum,group_mrp_manager_man,1,1,1,1
access_product_instock_3,product.instock,model_product_instock,group_mrp_manager_man,1,1,1,1
access_finishp_out_3,finishp.out,model_finishp_out,group_mrp_manager_man,1,1,1,1
access_product_require_3,product.require,model_product_require,group_mrp_manager_man,1,1,1,1
access_market_sort_3,market.sort,model_market_sort,group_mrp_manager_man,1,1,1,1
access_machine_model_3,machine.model,model_machine_model,group_mrp_manager_man,1,1,1,1
access_shb_mc_3,shb.mc,model_shb_mc,group_mrp_manager_man,1,1,1,1
access_trademark_type_3,trademark.type,model_trademark_type,group_mrp_manager_man,1,1,1,1
access_unit_2,unit,model_unit,group_mrp_manager_man,1,1,1,1
access_product_instock_line_3,product.instock.line,model_product_instock_line,group_mrp_manager_man,1,1,1,1
access_product_instock_order_3,product.instock.order,model_product_instock_order,group_mrp_manager_man,1,1,1,1
access_finishp_out_line_3,finishp.out.line,model_finishp_out_line,group_mrp_manager_man,1,1,1,1









原文地址:https://www.cnblogs.com/1314520xh/p/odoo.html