Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[18.0][MIG] auth_signup_verify_email: Migration to 18.0 #727

Open
wants to merge 31 commits into
base: 18.0
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
e0080c5
[9.0][MIG][auth_signup_verify_email] Migration. (#436)
yajo May 31, 2016
201d940
[MIG][10] auth_signup_verify_email
sharkende Jan 27, 2017
8ec7fe9
OCA Transbot updated translations from Transifex
oca-transbot Jun 12, 2016
a6cfd3b
[MIG][11] auth_signup_verify_email
simahawk Jan 22, 2018
5f66fbf
[FIX+REF] auth_signup_verify_email: Fix tests + Skip mail send in tes…
yajo Jan 26, 2018
d817ebb
[FIX] auth_signup_verify_email: Improve signup error messages
zaoral Dec 4, 2018
b6b9574
[MIG] auth_signup_verify_email: Migration to 12.0
Tardo Jun 4, 2019
d01b6fa
Translated using Weblate (Portuguese (Brazil))
Sep 3, 2019
ab13401
Translated using Weblate (Croatian)
badbole Nov 13, 2019
afcdac4
[IMP] auth_signup_verify_email: Remove hack
Tardo Nov 21, 2019
c59e4c0
[FIX] auth_signup_verify_email: make tests compatible with website
Feb 20, 2020
8c31d3d
[IMP] auth_signup_verify_email: black, isort, prettier
em230418 May 19, 2020
c250b7a
[MIG] auth_signup_verify_email: Migration to 13.0
em230418 May 19, 2020
b4d0b0c
Added translation using Weblate (Arabic)
RachidAlassir Jan 6, 2021
b134fc0
[IMP] auth_signup_verify_email: black, isort, prettier
em230418 Oct 6, 2021
2741ac9
[MIG] auth_signup_verify_email: Migration to 14.0
em230418 Apr 29, 2021
1982d12
[FIX] auth_signup_verify_email: Use real email address for tests
pedrobaeza Jun 12, 2022
41cce35
[MIG] auth_signup_verify_email: Migration to 15.0
em230418 Mar 30, 2022
de9e8dc
[IMP] auth_signup_verify_email: pre-commit stuff
bruno-zanotti Nov 25, 2022
f59ab47
[MIG] auth_signup_verify_email: Migration to 16.0
bruno-zanotti Nov 25, 2022
d5504f5
Translated using Weblate (Spanish)
Ivorra78 Aug 25, 2023
3e4bc4f
[IMP] auth_signup_verify_email: pre-commit execution
augusto-weiss Dec 18, 2023
0ebf8e5
[MIG] auth_signup_verify_email: Migration to 17.0
augusto-weiss Dec 18, 2023
ecf60d4
[UPD] Update auth_signup_verify_email.pot
Aug 23, 2024
6e96072
[BOT] post-merge updates
OCA-git-bot Aug 23, 2024
2e7d991
Update translation files
weblate Aug 23, 2024
3073ab3
Translated using Weblate (Italian)
mymage Aug 26, 2024
d096a78
Added translation using Weblate (Finnish)
jarmokortetjarvi Sep 30, 2024
8edb8ea
Translated using Weblate (Finnish)
jarmokortetjarvi Sep 30, 2024
bcd39b2
[IMP] auth_signup_verify_email: pre-commit execution
jr2-adhoc Nov 14, 2024
3ed992e
[MIG] auth_signup_verify_email: Migration to 18.0
jr2-adhoc Nov 14, 2024
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
110 changes: 110 additions & 0 deletions auth_signup_verify_email/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
======================
Verify email at signup
======================

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

.. |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/licence-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/18.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-18-0/server-auth-18-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=18.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:%2018.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 <[email protected]>
- Jairo Llopis <[email protected]>
- Simone Orsi <[email protected]>
- Alexandre Díaz <[email protected]>
- Eugene Molotov <[email protected]>

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/18.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
17 changes: 17 additions & 0 deletions auth_signup_verify_email/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# 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": "18.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
77 changes: 77 additions & 0 deletions auth_signup_verify_email/controllers/main.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# 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 import _
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",
_("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)

Check warning on line 42 in auth_signup_verify_email/controllers/main.py

View check run for this annotation

Codecov / codecov/patch

auth_signup_verify_email/controllers/main.py#L37-L42

Added lines #L37 - L42 were not covered by tests
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.cr.savepoint():
sudo_users.signup(values, qcontext.get("token"))
sudo_users.reset_password(values.get("login"))
except Exception as error:

Check warning on line 58 in auth_signup_verify_email/controllers/main.py

View check run for this annotation

Codecov / codecov/patch

auth_signup_verify_email/controllers/main.py#L58

Added line #L58 was not covered by tests
# Duplicate key or wrong SMTP settings, probably
_logger.exception(error)

Check warning on line 60 in auth_signup_verify_email/controllers/main.py

View check run for this annotation

Codecov / codecov/patch

auth_signup_verify_email/controllers/main.py#L60

Added line #L60 was not covered by tests
if (
request.env["res.users"]
.sudo()
.search([("login", "=", qcontext.get("login"))])
):
qcontext["error"] = _(

Check warning on line 66 in auth_signup_verify_email/controllers/main.py

View check run for this annotation

Codecov / codecov/patch

auth_signup_verify_email/controllers/main.py#L66

Added line #L66 was not covered by tests
"Another user is already registered using this email" " address."
)
else:
# Agnostic message for security
qcontext["error"] = _(

Check warning on line 71 in auth_signup_verify_email/controllers/main.py

View check run for this annotation

Codecov / codecov/patch

auth_signup_verify_email/controllers/main.py#L71

Added line #L71 was not covered by tests
"Something went wrong, please try again later or" " contact us."
)
return request.render("auth_signup.signup", qcontext)

Check warning on line 74 in auth_signup_verify_email/controllers/main.py

View check run for this annotation

Codecov / codecov/patch

auth_signup_verify_email/controllers/main.py#L74

Added line #L74 was not covered by tests

qcontext["message"] = _("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 <[email protected]>\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 "لا يبدو أن هذا عنوان بريد إلكتروني."
42 changes: 42 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,42 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * auth_signup_verify_email
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 17.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
#, 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 ""
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 <[email protected]>, 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 <[email protected]>\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
Loading