2017-09-27 2 views
3

Je suis en train de créer un menu déroulant sous ma forme de module personnalisé où je veux montrer aux utilisateurs d'un groupe spécifiqueOdoo - Filtrer les utilisateurs avec un groupe spécifique dans many2one

fields.Many2one('res.user',string="Admins", domain=[('groups_id','=',12)]) 

ce que j'ai essayé, ajoutant un domaine mais ça ne marche pas.

Je souhaite afficher tous les utilisateurs qui sont des administrateurs dans cette liste déroulante.

+0

vous avez une option dans la vue appelée "groupes" (par exemple groups = "hr_recruitment.group_h r_recruitment_manager "). Est-ce suffisant? – dccdany

Répondre

4

vous pouvez essayer:

fields.Many2one('res.user',string="Admins", domain=[('groups_id','in',[12])]) 

J'espère que cette aide vous

+0

En fait, cela ne ferait aucune différence si vous ajoutez les critères '' ''ou'' in '. Le résultat serait le même qui est 'field field invalide' car il n'y a pas de champ dans' res.users' – Ancient

+1

Si vous avez une feuille invalide, vérifiez la syntaxe de votre domaine et par la façon dont groups_id est un champ many2many dans res.users this réponse devrait fonctionner pouvez-vous poster votre code qui vous donne cette erreur – Cherif

+0

Je reçois cette erreur 'raise ValueError (" Champ invalide% r dans la feuille% r "% (gauche, str (feuille))) ValueError: Champ invalide u ' groups_id 'dans la feuille "" '@CherifOdoo pouvez-vous aider? – Ancient

1

vous pouvez essayer ceci:

fields.Many2many(comodel_name = "res.users", string = "admin",domain=lambda self: [("groups_id", "=", self.env.ref("module_name.group_id").id)]) 

exemple:

fields.Many2many(comodel_name = "res.users",string="Stock Pickers",domain=lambda self: [("groups_id", "=", self.env.ref("stock.group_stock_picker").id)])