Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
d5eeef1
[9.0][MIG][auth_signup_verify_email] Migration. (#436)
yajo May 31, 2016
1d25e7e
[MIG][10] auth_signup_verify_email
sharkende Jan 27, 2017
07f4825
[MIG][11] auth_signup_verify_email
simahawk Jan 22, 2018
fbacb57
[FIX+REF] auth_signup_verify_email: Fix tests + Skip mail send in tes…
yajo Jan 26, 2018
a622e73
[FIX] auth_signup_verify_email: Improve signup error messages
zaoral Dec 4, 2018
78fb3fd
[MIG] auth_signup_verify_email: Migration to 12.0
Tardo Jun 4, 2019
aa79cce
Translated using Weblate (Portuguese (Brazil))
Sep 3, 2019
143705f
Translated using Weblate (Croatian)
badbole Nov 13, 2019
1865aee
[IMP] auth_signup_verify_email: Remove hack
Tardo Nov 21, 2019
17da922
[FIX] auth_signup_verify_email: make tests compatible with website
Feb 20, 2020
d3d59ac
[IMP] auth_signup_verify_email: black, isort, prettier
em230418 May 19, 2020
09a1604
[MIG] auth_signup_verify_email: Migration to 13.0
em230418 May 19, 2020
8ab1d14
Added translation using Weblate (Arabic)
RachidAlassir Jan 6, 2021
3e304a8
[IMP] auth_signup_verify_email: black, isort, prettier
em230418 Oct 6, 2021
eac2605
[MIG] auth_signup_verify_email: Migration to 14.0
em230418 Apr 29, 2021
886271a
[FIX] auth_signup_verify_email: Use real email address for tests
pedrobaeza Jun 12, 2022
1886a85
[MIG] auth_signup_verify_email: Migration to 15.0
em230418 Mar 30, 2022
bc60e50
[IMP] auth_signup_verify_email: pre-commit stuff
Nov 25, 2022
6351539
[MIG] auth_signup_verify_email: Migration to 16.0
Nov 25, 2022
f0af440
Translated using Weblate (Spanish)
Ivorra78 Aug 25, 2023
331c07b
[IMP] auth_signup_verify_email: pre-commit execution
augusto-weiss Dec 18, 2023
0a0e00a
[MIG] auth_signup_verify_email: Migration to 17.0
augusto-weiss Dec 18, 2023
41f74bb
Update translation files
weblate Aug 23, 2024
8b7ff3f
Translated using Weblate (Italian)
mymage Aug 26, 2024
49f2695
Added translation using Weblate (Finnish)
jarmokortetjarvi Sep 30, 2024
f566bbb
Translated using Weblate (Finnish)
jarmokortetjarvi Sep 30, 2024
19eaf1b
[MIG] auth_signup_verify_email: Migration to 18.0
jr2-adhoc Nov 14, 2024
00217b1
[IMP] auth_signup_verify_email: pre-commit auto fixes
bizzappdev Oct 15, 2025
d5a0a5f
[MIG] auth_signup_verify_email: Migration to 19.0
bizzappdev Dec 11, 2025
1aa7e04
[ADD] Add oauth_provider module
Nov 16, 2016
16db191
OCA Transbot updated translations from Transifex
oca-transbot May 2, 2017
242b6f4
[FIX] oauth_provider: Fix tests when using last oauthlib version
Oct 21, 2017
dace64b
[ADD] icon.png
OCA-git-bot Apr 3, 2019
5ef563e
typo
ccomb Oct 31, 2019
89fa269
[MIG] oauth_provider: Migration to 12.0
hbrunn Jul 27, 2022
089fcd3
[ADD] auth method oauth_provider
hbrunn Aug 18, 2022
c36aa29
[MIG] oauth_provider: @api.multi
remytms Jan 26, 2023
f289a46
[FIX] oauth_provider: dependencies of a compute method
remytms Jan 26, 2023
d73af15
[MIG] oauth_provider: change usage of sudo
remytms Jan 26, 2023
850a2f9
[MIG] oauth_provider: view_type
remytms Jan 26, 2023
794afd4
[MIG] oauth_provider: black, prettier, isort
remytms Jan 26, 2023
7935a84
[MIG] oauth_provider: split readme
remytms Jan 26, 2023
e1f83a1
[MIG] oauth_provider: update manifest
remytms Jan 26, 2023
d2a0823
[MIG] oauth_provider: make module installable
remytms Jan 31, 2023
9bc4aef
[MIG] oauth_provider: change datetime call
remytms Feb 2, 2023
24ef2f6
[FIX] oauth_provider: error using module with safe_eval
remytms Feb 2, 2023
e479f29
[FIX] oauth_provider: validator
remytms Feb 2, 2023
dbc78b5
[FIX] oauth_provider: dependencies
remytms Feb 2, 2023
0608ac0
[MIG] oauth_provider: Migration to 16.0
remytms Jan 22, 2025
b69fc51
[FIX] oauth_provider: controllers errors
remytms Feb 5, 2025
c66960c
[FIX] oauth_provider: views
remytms Feb 5, 2025
62ca397
[IMP] add migration script
huguesdk Mar 28, 2025
e1e3609
[FIX] oauth_provider: wrong import in controller
remytms May 8, 2025
3192841
[FIX] oauth_provider: client_id missing in request.client
remytms May 8, 2025
bf052d5
[IMP] oauth_provider: pre-commit execution
augusto-weiss Aug 6, 2025
bd65146
[MIG] oauth_provider: Migration to 18.0
augusto-weiss Aug 6, 2025
c14caef
[IMP] oauth_provider: get access_token from headers, remove werkzeug.…
Sep 17, 2025
791057c
[FIX] oauth_provider: _auth_method_oauth_provider
Sep 24, 2025
6856c01
[IMP] oauth_provider: pre-commit execution
augusto-weiss Oct 24, 2025
674e0cd
[MIG] oauth_provider: Migration to 19.0
augusto-weiss Oct 24, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
114 changes: 114 additions & 0 deletions auth_signup_verify_email/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
.. image:: https://odoo-community.org/readme-banner-image
:target: https://odoo-community.org/get-involved?utm_source=readme
:alt: Odoo Community Association

======================
Verify email at signup
======================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:e69236b981314d4a6da4bf08e0795674b28a85cf03188b91f32cf22b1e63b31b
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--auth-lightgray.png?logo=github
:target: https://github.com/OCA/server-auth/tree/19.0/auth_signup_verify_email
:alt: OCA/server-auth
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/server-auth-19-0/server-auth-19-0-auth_signup_verify_email
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/server-auth&target_branch=19.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

This module extends the functionality of public sign up to force users
to provide a valid email address.

To achieve this, users are not required to provide a password at sign
up: they are asked for only at first login attempt.

**Table of contents**

.. contents::
:local:

Installation
============

- Install
`email_validator <https://pypi.org/project/email-validator/>`__ with
``pip install email_validator`` or equivalent.

Configuration
=============

To configure this module, you need to:

- `Properly configure your outgoing email
server(s) <https://www.odoo.com/forum/help-1/question/how-to-configure-email-gateway-282#answer_290>`__.
- Go to *Settings > General Settings -> General settings*, search for
the *Users* section and enable *Free sign up* in *Customer account*.

Usage
=====

To use this module, you need to:

- Log out.
- `Sign up </web/signup>`__ with a valid email.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/server-auth/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/server-auth/issues/new?body=module:%20auth_signup_verify_email%0Aversion:%2019.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
-------

* Antiun Ingeniería S.L.
* Tecnativa

Contributors
------------

- Rafael Blasco <rafaelbn@antiun.com>
- Jairo Llopis <yajo.sk8@gmail.com>
- Simone Orsi <simone.orsi@camptocamp.com>
- Alexandre Díaz <alexandre.diaz@tecnativa.com>
- Eugene Molotov <molotov@it-projects.info>

Maintainers
-----------

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

This module is part of the `OCA/server-auth <https://github.com/OCA/server-auth/tree/19.0/auth_signup_verify_email>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
4 changes: 4 additions & 0 deletions auth_signup_verify_email/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Copyright 2015 Antiun Ingeniería, S.L.
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

from . import controllers
15 changes: 15 additions & 0 deletions auth_signup_verify_email/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Copyright 2015 Antiun Ingeniería, S.L.
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
{
"name": "Verify email at signup",
"summary": "Force uninvited users to use a good email for signup",
"version": "19.0.1.0.0",
"category": "Authentication",
"website": "https://github.com/OCA/server-auth",
"author": "Antiun Ingeniería S.L., Tecnativa, Odoo Community Association (OCA)",
"license": "AGPL-3",
"depends": ["auth_signup"],
"external_dependencies": {"python": ["lxml", "email_validator"]},
"data": ["views/signup.xml"],
"installable": True,
}
4 changes: 4 additions & 0 deletions auth_signup_verify_email/controllers/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Copyright 2015 Antiun Ingeniería, S.L.
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

from . import main
76 changes: 76 additions & 0 deletions auth_signup_verify_email/controllers/main.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# Copyright 2015 Antiun Ingeniería, S.L.
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

import logging

from email_validator import EmailSyntaxError, EmailUndeliverableError, validate_email

from odoo.http import request, route

from odoo.addons.auth_signup.controllers.main import AuthSignupHome

_logger = logging.getLogger(__name__)


class SignupVerifyEmail(AuthSignupHome):
@route()
def web_auth_signup(self, *args, **kw):
if request.params.get("login") and not request.params.get("password"):
return self.passwordless_signup()
return super().web_auth_signup(*args, **kw)

def passwordless_signup(self):
values = request.params
qcontext = self.get_auth_signup_qcontext()

# Check good format of e-mail
try:
validate_email(values.get("login", ""))
except EmailSyntaxError as error:
qcontext["error"] = getattr(
error,
"message",
self.env._("That does not seem to be an email address."),
)
return request.render("auth_signup.signup", qcontext)
except EmailUndeliverableError as error:
qcontext["error"] = str(error)
return request.render("auth_signup.signup", qcontext)
except Exception as error:
qcontext["error"] = str(error)
return request.render("auth_signup.signup", qcontext)
if not values.get("email"):
values["email"] = values.get("login")

# remove values that could raise "Invalid field '*' on model 'res.users'"
values.pop("redirect", "")
values.pop("token", "")

# Remove password
values["password"] = ""
sudo_users = request.env["res.users"].with_context(create_user=True).sudo()

try:
with request.env.cr.savepoint():
sudo_users.signup(values, qcontext.get("token"))
sudo_users.reset_password(values.get("login"))
except Exception as error:
# Duplicate key or wrong SMTP settings, probably
_logger.exception(error)
if (
request.env["res.users"]
.sudo()
.search([("login", "=", qcontext.get("login"))])
):
qcontext["error"] = self.env._(
"Another user is already registered using this email address."
)
else:
# Agnostic message for security
qcontext["error"] = self.env._(
"Something went wrong, please try again later or contact us."
)
return request.render("auth_signup.signup", qcontext)

qcontext["message"] = self.env._("Check your email to activate your account!")
return request.render("auth_signup.reset_password", qcontext)
46 changes: 46 additions & 0 deletions auth_signup_verify_email/i18n/ar.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * auth_signup_verify_email
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 13.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2021-01-06 13:44+0000\n"
"Last-Translator: Rachid Al Assir <rachidalassir@gmail.com>\n"
"Language-Team: none\n"
"Language: ar\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
"X-Generator: Weblate 4.3.2\n"

#. module: auth_signup_verify_email
#. odoo-python
#: code:addons/auth_signup_verify_email/controllers/main.py:0
#, python-format
msgid "Another user is already registered using this email address."
msgstr "هنالك مستخدم أخر مسجل بهذا البريد الإلكتروني."

#. module: auth_signup_verify_email
#. odoo-python
#: code:addons/auth_signup_verify_email/controllers/main.py:0
#, python-format
msgid "Check your email to activate your account!"
msgstr "تحقق من بريدك الإلكتروني لتفعيل حسابك!"

#. module: auth_signup_verify_email
#. odoo-python
#: code:addons/auth_signup_verify_email/controllers/main.py:0
#, python-format
msgid "Something went wrong, please try again later or contact us."
msgstr "حدث خطأ ما، يرجى المحاولة مرة أخرى لاحقًا أو الاتصال بنا."

#. module: auth_signup_verify_email
#. odoo-python
#: code:addons/auth_signup_verify_email/controllers/main.py:0
#, python-format
msgid "That does not seem to be an email address."
msgstr "لا يبدو أن هذا عنوان بريد إلكتروني."
38 changes: 38 additions & 0 deletions auth_signup_verify_email/i18n/auth_signup_verify_email.pot
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * auth_signup_verify_email
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"

#. module: auth_signup_verify_email
#. odoo-python
#: code:addons/auth_signup_verify_email/controllers/main.py:0
msgid "Another user is already registered using this email address."
msgstr ""

#. module: auth_signup_verify_email
#. odoo-python
#: code:addons/auth_signup_verify_email/controllers/main.py:0
msgid "Check your email to activate your account!"
msgstr ""

#. module: auth_signup_verify_email
#. odoo-python
#: code:addons/auth_signup_verify_email/controllers/main.py:0
msgid "Something went wrong, please try again later or contact us."
msgstr ""

#. module: auth_signup_verify_email
#. odoo-python
#: code:addons/auth_signup_verify_email/controllers/main.py:0
msgid "That does not seem to be an email address."
msgstr ""
49 changes: 49 additions & 0 deletions auth_signup_verify_email/i18n/de.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * auth_signup_verify_email
#
# Translators:
# Rudolf Schnapka <rs@techno-flex.de>, 2016
msgid ""
msgstr ""
"Project-Id-Version: server-tools (9.0)\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-06-09 12:31+0000\n"
"PO-Revision-Date: 2016-05-31 14:47+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>\n"
"Language-Team: German (http://www.transifex.com/oca/OCA-server-tools-9-0/"
"language/de/)\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#. module: auth_signup_verify_email
#. odoo-python
#: code:addons/auth_signup_verify_email/controllers/main.py:0
#, python-format
msgid "Another user is already registered using this email address."
msgstr ""

#. module: auth_signup_verify_email
#. odoo-python
#: code:addons/auth_signup_verify_email/controllers/main.py:0
#, python-format
msgid "Check your email to activate your account!"
msgstr "Prüfen Sie Ihre Email, um Ihr Konto zu aktivieren."

#. module: auth_signup_verify_email
#. odoo-python
#: code:addons/auth_signup_verify_email/controllers/main.py:0
#, python-format
msgid "Something went wrong, please try again later or contact us."
msgstr ""
"Etwas ist schief gelaufen, bitte später nochmal versuchen oden an uns wenden."

#. module: auth_signup_verify_email
#. odoo-python
#: code:addons/auth_signup_verify_email/controllers/main.py:0
#, python-format
msgid "That does not seem to be an email address."
msgstr "Das schein keine Email-Adresse zu sein."
Loading