Odoo Help


16 Answers
Aron Lorincz
10/28/15, 7:55 AM

I browsed the source code and it turned out to be pretty easy. If you add  `no_reset_password` to the context, it won't send an email. You can then set the password manually (and find a way to let the user know it, obviously).

user = self.pg_user = self.env["res.users"].sudo().with_context(no_reset_password=True).create({
# user details here...
feriel bendimerad
11/2/15, 9:43 AM

Hi Aron, coud you be more specific , which module do i have to change?

Aron Lorincz
11/2/15, 9:48 AM

Hi Feriel, The question is about how to disable email when you create it programmatically, so it assumes you already have your custom module installed. If you don't have a custom module, then create one, as it's really a bad idea to change other modules' source code, because your changes will be erased if you update that module to a newer version.

feriel bendimerad
11/4/15, 4:17 AM

Hi Aron , i got it , i actually have a custom module, do i have to inherit from the mail module? It has res_users.py file , if so , should i override the "create" methode only or others , please enlightened me .Thanks

Aron Lorincz
11/4/15, 8:39 AM

You should create your own res_users.py like this: class res_users(models.Model): _name = "res.users" _inherit = "res.users" Then override method "signup" and call the superclass method with the context parameter I mentioned in my answer. Hope it helps.

feriel bendimerad
11/5/15, 5:50 AM

thank you for help , but i missing something ,what should i put in user details ?

Aron Lorincz
11/5/15, 5:54 AM

The name, login, password, etc. of the user you want to create programmatically. This's what the original question was about. If you want to prevent Odoo from sending an invite when creating an user MANUALLY, you should just override the "signup" method in the "res.users" model like I described above.

feriel bendimerad
11/5/15, 6:23 AM

well , i'm creating a user using webservice API (java language) , and an email invitation is sent to him to change his password , so what do you mean by override "signup " method? changing only the context

Aron Lorincz
11/5/15, 6:29 AM

Can you pass context parameters via the API? If you can, I think it's enough to pass no_reset_password=True, then it won't send an email. If you can't pass context params via the webservice API, then create a new method in res.users which takes parameters about the user you want to create and creates it in the way I described in my answer.

Aron Lorincz
11/5/15, 6:29 AM

ps: and call that method via the API, obviously.

12/3/15, 6:35 AM

@Aron thanks for your answer, it helped. Just a question, why sudo() call is necessary?

Aron Lorincz
12/3/15, 6:37 AM

Well, it's not really necessary if the user that runs this code has rights to create users, but that was not the case in my code.

Pedro Vagner
4/25/19, 3:15 PM

On Odoo 12, to disable via XML, just put no_reset_password context attribute:

<record id="demo_user0" model="res.users" context="{'no_reset_password': True}">
<field name="partner_id" ref="partner_demo_portal"/>
<field name="login">portal</field>
<field name="password">portal</field>
<field name="signature"><![CDATA[<span>-- <br/>Mr Demo Portal</span>]]></field>
<field name="groups_id" eval="[(5,)]"/><!-- Avoid auto-including this user in any default group -->
Emmanuel Belair
2/6/17, 3:49 AM

Hi, i know this post is a little bit old....

I'm beginner and i don't know how add this code inside a module. Could you post a more complete example please?

1 Comment
Jonathan Leaders
8/10/18, 6:33 PM

I presume you could search for that line of code (with a grep like tool) in a locally cloned github repository

Ask a Question
Keep Informed
1 follower(s)
About This Community

This platform 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.

Odoo Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now