This question has been flagged
1 Reply
8335 Views

I have a form with a many2one dropdown field for selecting a user. What would be the best way to have the dropdown list of the field show only users that belong to a specific group, for example Sales Managers?

Avatar
Discard
Best Answer

Dear Timo Talvitie,

 try this code may be used for you.

<field name="many2one_field" groups="base.group_sale_manager"/>

or 

You should create security file and assign that group in many2one field.

If you dont know how to create security file then follow below step and hope you will get answer


  1. You have to create ir.model.access.csv in your module, I suggest you to create a security folder and put security related file there

  2. Like security/ir.model.access.csv and security/given_any_name_security.xml

  3. Change in openerp.py file like 'security/given_any_name_security.xml, 'security/ir.model.access.csv'

  4. Inside xml file you sholud create group like


    1. <?xml version="1.0" ?>

      <openerp>

      <data noupdate="1">

      <record model="ir.module.category" id="module_school_category">

      <field name="name">School</field>

      <field name="description">School</field>

      <field name="sequence">16</field>

      </record>

      <record id="group_school_user" model="res.groups">

      <field name="name">User</field>

      <field name="category_id" ref="module_school_category" />

      </record>

      <record id="group_school_manager" model="res.groups">

      <field name="name">Manager</field>

      <field name="implied_ids" eval="[(4, ref('group_school_user'))]" />

      <field name="category_id" ref="module_school_category" />

      <field name="users" eval="[(4, ref('base.user_root'))]" />

      </record>

      </data>

      </openerp>

  5. Inside csv file you should give the permission like

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

      access_student_student_manager,student.student,model_student_student,group_school_manager,1,1,1,1

      access_student_student_user,student.student,model_student_student,group_school_user,1,1,0,0

      access_hobby_hobby_manager,hobby.hobby,model_hobby_hobby,group_school_user,1,1,1,1

      access_hobby_hobby_user,hobby.hobby,model_hobby_hobby,group_school_user,1,1,0,0

  6. Now in your view file to add group in field like

    <field name="many2one_field" groups="module_name.group_id"/>

    here groups define the value of module_name.group_id that means

    group_id: group id which is define in security xml file

    Example:

    <field name="hobby_id" groups="school_management.group_school_manager"/>

    Finally update the module

    Hope this code is usefully for you.

    Thanks & Regards

    Ankit H Gandhi


Avatar
Discard