Odoo Help

Welcome!

This community is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.

1

Showing only users that belong to a specific group

By
Timo Talvitie
on 12/13/13, 6:19 AM 797 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?

1

Ankit H Gandhi(AHG)

--Ankit H Gandhi(AHG)--
996
| 5 3 6
Rajkot, India
--Ankit H Gandhi(AHG)--

Learning Python..

Ankit H Gandhi(AHG)
On 7/1/15, 6:22 AM

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


Your Answer

Please try to give a substantial answer. If you wanted to comment on the question or answer, just use the commenting tool. Please remember that you can always revise your answers - no need to answer the same question twice. Also, please don't forget to vote - it really helps to select the best questions and answers!

About This Community

This community is for professionals and enthusiasts of our products and services. Read Guidelines

Question tools

0 follower(s)

Stats

Asked: 12/13/13, 6:19 AM
Seen: 797 times
Last updated: 7/1/15, 6:22 AM