Prenons l'exemple du menu "Devis" dont je voudrais restreindre l'accès à certains groupes (administrateur , responsable des ventes).
Pour cela, nous allons créer un nouveau module "mysale_access" avec les 3 fichiers suivants :
__init__.py
que nous laissons vide
__openerp__.py
mysale_access.xml
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record model="ir.ui.menu" id="sale.menu_sale_quotations">
<field name="groups_id" eval="[(6, 0, [ref('base.user_root'),ref('base.group_sale_manager')])]" />
</record>
</data>
</openerp>
Explications :
- l'attribut "eval" permet l'insertion de code python dans du XML
- sachant que le champ "groups_id" est issu d'une relation many2many, la clause "[(6, 0, [ref('base.user_root'),ref('base.group_sale_manager')])]" supprime tous les précédents groupes autorisés à accéder au menu "menu_sale_quotations" et les remplace par les 2 groupes "administrateur" et "responsable des ventes"
- pour encore plus d'explications, cliquer ici
s'il vous plait comment je peux modifier les droits d'accès des clients de telle sorte qu'un client ne peut voir que son propre projet avec l'entreprise?
Student Rule
[('user_id','=',user.id)]