Browse Source
[9.0][MIG][auth_signup_verify_email] Migration. (#436)
[9.0][MIG][auth_signup_verify_email] Migration. (#436)
* Add module auth_signup_verify_email. * Import module following guidelines. * README typos. * OCA Transbot updated translations from Transifex * Credit creator. * author name correction * [9.0][MIG][auth_signup_verify_email] Migration. Migrate to v9. * [FIX] auth_signup_verify_email: Python library requirement * Add tests, fix xml tags, fix credits. * Fix test.pull/320/merge
Yajo
9 years ago
committed by
Moises Lopez - https://www.vauxoo.com/
17 changed files with 732 additions and 0 deletions
-
87auth_signup_verify_email/README.rst
-
5auth_signup_verify_email/__init__.py
-
28auth_signup_verify_email/__openerp__.py
-
5auth_signup_verify_email/controllers/__init__.py
-
55auth_signup_verify_email/controllers/main.py
-
47auth_signup_verify_email/i18n/de.po
-
48auth_signup_verify_email/i18n/es.po
-
47auth_signup_verify_email/i18n/it.po
-
46auth_signup_verify_email/i18n/pt_BR.po
-
47auth_signup_verify_email/i18n/sl.po
-
47auth_signup_verify_email/i18n/tr.po
-
BINauth_signup_verify_email/static/description/icon.png
-
172auth_signup_verify_email/static/description/icon.svg
-
5auth_signup_verify_email/tests/__init__.py
-
72auth_signup_verify_email/tests/test_verify_email.py
-
20auth_signup_verify_email/views/signup.xml
-
1requirements.txt
@ -0,0 +1,87 @@ |
|||||
|
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg |
||||
|
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html |
||||
|
:alt: License: AGPL-3 |
||||
|
|
||||
|
====================== |
||||
|
Verify email at signup |
||||
|
====================== |
||||
|
|
||||
|
This module extends the functionality of public sign up, and forces users to |
||||
|
provide a valid email address. |
||||
|
|
||||
|
To achieve this requirement, the user does not need to provide a password at |
||||
|
sign up, but when logging in later for the first time. |
||||
|
|
||||
|
Installation |
||||
|
============ |
||||
|
|
||||
|
* Install validate_email_ with ``pip install validate_email`` or equivalent. |
||||
|
|
||||
|
Configuration |
||||
|
============= |
||||
|
|
||||
|
To configure this module, you need to: |
||||
|
|
||||
|
* `Properly configure your outgoing email server(s) |
||||
|
<https://www.odoo.com/es_ES/forum/help-1/question/how-to-configure-email-gateway-282#answer_290>`_. |
||||
|
* Go to *Settings > General Settings* and enable *Allow |
||||
|
external users to sign up*. |
||||
|
|
||||
|
Usage |
||||
|
===== |
||||
|
|
||||
|
To use this module, you need to: |
||||
|
|
||||
|
* Log out. |
||||
|
* `Sign up </web/signup>`_ with a valid email. |
||||
|
|
||||
|
.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas |
||||
|
:alt: Try me on Runbot |
||||
|
:target: https://runbot.odoo-community.org/runbot/149/9.0 |
||||
|
|
||||
|
Known issues / Roadmap |
||||
|
====================== |
||||
|
|
||||
|
* Remove calls to ``cr.commit()`` in tests when |
||||
|
https://github.com/odoo/odoo/issues/12237 gets fixed. |
||||
|
|
||||
|
Bug Tracker |
||||
|
=========== |
||||
|
|
||||
|
Bugs are tracked on `GitHub Issues |
||||
|
<https://github.com/OCA/server-tools/issues>`_. In case of trouble, please |
||||
|
check there if your issue has already been reported. If you spotted it first, |
||||
|
help us smashing it by providing a detailed and welcomed feedback. |
||||
|
|
||||
|
|
||||
|
Credits |
||||
|
======= |
||||
|
|
||||
|
Icon |
||||
|
---- |
||||
|
|
||||
|
* https://openclipart.org/detail/3040/thumbtack-note-email |
||||
|
* https://openclipart.org/detail/202732/check-mark |
||||
|
|
||||
|
Contributors |
||||
|
------------ |
||||
|
|
||||
|
* Rafael Blasco <rafaelbn@antiun.com> |
||||
|
* Jairo Llopis <yajo.sk8@gmail.com> |
||||
|
|
||||
|
Maintainer |
||||
|
---------- |
||||
|
|
||||
|
.. image:: https://odoo-community.org/logo.png |
||||
|
:alt: Odoo Community Association |
||||
|
:target: https://odoo-community.org |
||||
|
|
||||
|
This module is maintained by the OCA. |
||||
|
|
||||
|
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. |
||||
|
|
||||
|
To contribute to this module, please visit https://odoo-community.org. |
||||
|
|
||||
|
.. _validate_email: https://pypi.python.org/pypi/validate_email |
@ -0,0 +1,5 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
# © 2015 Antiun Ingeniería, S.L. |
||||
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). |
||||
|
|
||||
|
from . import controllers |
@ -0,0 +1,28 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
# © 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": "9.0.1.0.0", |
||||
|
"category": "Authentication", |
||||
|
"website": "http://www.tecnativa.com", |
||||
|
"author": "Antiun Ingeniería S.L., " |
||||
|
"Tecnativa, " |
||||
|
"Odoo Community Association (OCA)", |
||||
|
"license": "AGPL-3", |
||||
|
"application": False, |
||||
|
"installable": True, |
||||
|
"external_dependencies": { |
||||
|
"python": [ |
||||
|
"lxml", |
||||
|
"validate_email", |
||||
|
], |
||||
|
}, |
||||
|
"depends": [ |
||||
|
"auth_signup", |
||||
|
], |
||||
|
"data": [ |
||||
|
"views/signup.xml", |
||||
|
], |
||||
|
} |
@ -0,0 +1,5 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
# © 2015 Antiun Ingeniería, S.L. |
||||
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). |
||||
|
|
||||
|
from . import main |
@ -0,0 +1,55 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
# © 2015 Antiun Ingeniería, S.L. |
||||
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). |
||||
|
|
||||
|
import logging |
||||
|
from openerp import _, http |
||||
|
from openerp.addons.auth_signup.controllers.main import AuthSignupHome |
||||
|
|
||||
|
_logger = logging.getLogger(__name__) |
||||
|
|
||||
|
try: |
||||
|
from validate_email import validate_email |
||||
|
except ImportError: |
||||
|
_logger.debug("Cannot import `validate_email`.") |
||||
|
|
||||
|
|
||||
|
class SignupVerifyEmail(AuthSignupHome): |
||||
|
@http.route() |
||||
|
def web_auth_signup(self, *args, **kw): |
||||
|
if (http.request.params.get("login") and |
||||
|
not http.request.params.get("password")): |
||||
|
return self.passwordless_signup(http.request.params) |
||||
|
else: |
||||
|
return super(SignupVerifyEmail, self).web_auth_signup(*args, **kw) |
||||
|
|
||||
|
def passwordless_signup(self, values): |
||||
|
qcontext = self.get_auth_signup_qcontext() |
||||
|
|
||||
|
# Check good format of e-mail |
||||
|
if not validate_email(values.get("login", "")): |
||||
|
qcontext["error"] = _("That does not seem to be an email address.") |
||||
|
return http.request.render("auth_signup.signup", qcontext) |
||||
|
elif not values.get("email"): |
||||
|
values["email"] = values.get("login") |
||||
|
|
||||
|
# Remove password |
||||
|
values["password"] = False |
||||
|
sudo_users = (http.request.env["res.users"] |
||||
|
.with_context(create_user=True).sudo()) |
||||
|
|
||||
|
try: |
||||
|
with http.request.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) |
||||
|
|
||||
|
# Agnostic message for security |
||||
|
qcontext["error"] = _( |
||||
|
"Something went wrong, please try again later or contact us.") |
||||
|
return http.request.render("auth_signup.signup", qcontext) |
||||
|
|
||||
|
qcontext["message"] = _("Check your email to activate your account!") |
||||
|
return http.request.render("auth_signup.reset_password", qcontext) |
@ -0,0 +1,47 @@ |
|||||
|
# 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 (8.0)\n" |
||||
|
"Report-Msgid-Bugs-To: \n" |
||||
|
"POT-Creation-Date: 2016-01-19 14:44+0000\n" |
||||
|
"PO-Revision-Date: 2016-01-18 13:24+0000\n" |
||||
|
"Last-Translator: Rudolf Schnapka <rs@techno-flex.de>\n" |
||||
|
"Language-Team: German (http://www.transifex.com/oca/OCA-server-tools-8-0/language/de/)\n" |
||||
|
"MIME-Version: 1.0\n" |
||||
|
"Content-Type: text/plain; charset=UTF-8\n" |
||||
|
"Content-Transfer-Encoding: \n" |
||||
|
"Language: de\n" |
||||
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n" |
||||
|
|
||||
|
#. module: auth_signup_verify_email |
||||
|
#: code:addons/auth_signup_verify_email/controllers/main.py:54 |
||||
|
#, 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 |
||||
|
#: code:addons/auth_signup_verify_email/controllers/main.py:50 |
||||
|
#, 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 |
||||
|
#: code:addons/auth_signup_verify_email/controllers/main.py:31 |
||||
|
#, python-format |
||||
|
msgid "That does not seem to be an email address." |
||||
|
msgstr "Das schein keine Email-Adresse zu sein." |
||||
|
|
||||
|
#. module: auth_signup_verify_email |
||||
|
#: view:website:auth_signup.fields |
||||
|
msgid "email" |
||||
|
msgstr "EMail" |
||||
|
|
||||
|
#. module: auth_signup_verify_email |
||||
|
#: view:website:auth_signup.fields |
||||
|
msgid "only_passwords" |
||||
|
msgstr "" |
@ -0,0 +1,48 @@ |
|||||
|
# Translation of Odoo Server. |
||||
|
# This file contains the translation of the following modules: |
||||
|
# * auth_signup_verify_email |
||||
|
# |
||||
|
# Translators: |
||||
|
# Antonio Trueba, 2016 |
||||
|
# Antonio Trueba, 2016 |
||||
|
msgid "" |
||||
|
msgstr "" |
||||
|
"Project-Id-Version: server-tools (8.0)\n" |
||||
|
"Report-Msgid-Bugs-To: \n" |
||||
|
"POT-Creation-Date: 2016-01-19 14:44+0000\n" |
||||
|
"PO-Revision-Date: 2016-02-16 15:15+0000\n" |
||||
|
"Last-Translator: Antonio Trueba\n" |
||||
|
"Language-Team: Spanish (http://www.transifex.com/oca/OCA-server-tools-8-0/language/es/)\n" |
||||
|
"MIME-Version: 1.0\n" |
||||
|
"Content-Type: text/plain; charset=UTF-8\n" |
||||
|
"Content-Transfer-Encoding: \n" |
||||
|
"Language: es\n" |
||||
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n" |
||||
|
|
||||
|
#. module: auth_signup_verify_email |
||||
|
#: code:addons/auth_signup_verify_email/controllers/main.py:54 |
||||
|
#, python-format |
||||
|
msgid "Check your email to activate your account!" |
||||
|
msgstr "Revise su correo para activar su cuenta." |
||||
|
|
||||
|
#. module: auth_signup_verify_email |
||||
|
#: code:addons/auth_signup_verify_email/controllers/main.py:50 |
||||
|
#, python-format |
||||
|
msgid "Something went wrong, please try again later or contact us." |
||||
|
msgstr "Algo ha ido mal, por favor inténtelo de nuevo más tarde o contáctenos." |
||||
|
|
||||
|
#. module: auth_signup_verify_email |
||||
|
#: code:addons/auth_signup_verify_email/controllers/main.py:31 |
||||
|
#, python-format |
||||
|
msgid "That does not seem to be an email address." |
||||
|
msgstr "Eso no parece una dirección de email válida." |
||||
|
|
||||
|
#. module: auth_signup_verify_email |
||||
|
#: view:website:auth_signup.fields |
||||
|
msgid "email" |
||||
|
msgstr "email" |
||||
|
|
||||
|
#. module: auth_signup_verify_email |
||||
|
#: view:website:auth_signup.fields |
||||
|
msgid "only_passwords" |
||||
|
msgstr "" |
@ -0,0 +1,47 @@ |
|||||
|
# Translation of Odoo Server. |
||||
|
# This file contains the translation of the following modules: |
||||
|
# * auth_signup_verify_email |
||||
|
# |
||||
|
# Translators: |
||||
|
# Paolo Valier, 2016 |
||||
|
msgid "" |
||||
|
msgstr "" |
||||
|
"Project-Id-Version: server-tools (8.0)\n" |
||||
|
"Report-Msgid-Bugs-To: \n" |
||||
|
"POT-Creation-Date: 2016-03-17 15:36+0000\n" |
||||
|
"PO-Revision-Date: 2016-03-13 08:59+0000\n" |
||||
|
"Last-Translator: Paolo Valier\n" |
||||
|
"Language-Team: Italian (http://www.transifex.com/oca/OCA-server-tools-8-0/language/it/)\n" |
||||
|
"MIME-Version: 1.0\n" |
||||
|
"Content-Type: text/plain; charset=UTF-8\n" |
||||
|
"Content-Transfer-Encoding: \n" |
||||
|
"Language: it\n" |
||||
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n" |
||||
|
|
||||
|
#. module: auth_signup_verify_email |
||||
|
#: code:addons/auth_signup_verify_email/controllers/main.py:54 |
||||
|
#, python-format |
||||
|
msgid "Check your email to activate your account!" |
||||
|
msgstr "Controlla la tua email per attivare il tuo account!" |
||||
|
|
||||
|
#. module: auth_signup_verify_email |
||||
|
#: code:addons/auth_signup_verify_email/controllers/main.py:50 |
||||
|
#, python-format |
||||
|
msgid "Something went wrong, please try again later or contact us." |
||||
|
msgstr "Qualcosa non è funzionato, prego provare più tardi altrimenti mettiti in contatto con noi." |
||||
|
|
||||
|
#. module: auth_signup_verify_email |
||||
|
#: code:addons/auth_signup_verify_email/controllers/main.py:31 |
||||
|
#, python-format |
||||
|
msgid "That does not seem to be an email address." |
||||
|
msgstr "Questo non sembra essere un indirizzo email valido." |
||||
|
|
||||
|
#. module: auth_signup_verify_email |
||||
|
#: view:website:auth_signup.fields |
||||
|
msgid "email" |
||||
|
msgstr "email" |
||||
|
|
||||
|
#. module: auth_signup_verify_email |
||||
|
#: view:website:auth_signup.fields |
||||
|
msgid "only_passwords" |
||||
|
msgstr "" |
@ -0,0 +1,46 @@ |
|||||
|
# Translation of Odoo Server. |
||||
|
# This file contains the translation of the following modules: |
||||
|
# * auth_signup_verify_email |
||||
|
# |
||||
|
# Translators: |
||||
|
msgid "" |
||||
|
msgstr "" |
||||
|
"Project-Id-Version: server-tools (8.0)\n" |
||||
|
"Report-Msgid-Bugs-To: \n" |
||||
|
"POT-Creation-Date: 2015-11-27 14:01+0000\n" |
||||
|
"PO-Revision-Date: 2015-11-12 20:16+0000\n" |
||||
|
"Last-Translator: <>\n" |
||||
|
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/oca/OCA-server-tools-8-0/language/pt_BR/)\n" |
||||
|
"MIME-Version: 1.0\n" |
||||
|
"Content-Type: text/plain; charset=UTF-8\n" |
||||
|
"Content-Transfer-Encoding: \n" |
||||
|
"Language: pt_BR\n" |
||||
|
"Plural-Forms: nplurals=2; plural=(n > 1);\n" |
||||
|
|
||||
|
#. module: auth_signup_verify_email |
||||
|
#: code:addons/auth_signup_verify_email/controllers/main.py:54 |
||||
|
#, python-format |
||||
|
msgid "Check your email to activate your account!" |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: auth_signup_verify_email |
||||
|
#: code:addons/auth_signup_verify_email/controllers/main.py:50 |
||||
|
#, python-format |
||||
|
msgid "Something went wrong, please try again later or contact us." |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: auth_signup_verify_email |
||||
|
#: code:addons/auth_signup_verify_email/controllers/main.py:31 |
||||
|
#, python-format |
||||
|
msgid "That does not seem to be an email address." |
||||
|
msgstr "" |
||||
|
|
||||
|
#. module: auth_signup_verify_email |
||||
|
#: view:website:auth_signup.fields |
||||
|
msgid "email" |
||||
|
msgstr "email" |
||||
|
|
||||
|
#. module: auth_signup_verify_email |
||||
|
#: view:website:auth_signup.fields |
||||
|
msgid "only_passwords" |
||||
|
msgstr "" |
@ -0,0 +1,47 @@ |
|||||
|
# Translation of Odoo Server. |
||||
|
# This file contains the translation of the following modules: |
||||
|
# * auth_signup_verify_email |
||||
|
# |
||||
|
# Translators: |
||||
|
# Matjaž Mozetič <m.mozetic@matmoz.si>, 2015 |
||||
|
msgid "" |
||||
|
msgstr "" |
||||
|
"Project-Id-Version: server-tools (8.0)\n" |
||||
|
"Report-Msgid-Bugs-To: \n" |
||||
|
"POT-Creation-Date: 2015-11-27 14:01+0000\n" |
||||
|
"PO-Revision-Date: 2015-11-13 11:44+0000\n" |
||||
|
"Last-Translator: Matjaž Mozetič <m.mozetic@matmoz.si>\n" |
||||
|
"Language-Team: Slovenian (http://www.transifex.com/oca/OCA-server-tools-8-0/language/sl/)\n" |
||||
|
"MIME-Version: 1.0\n" |
||||
|
"Content-Type: text/plain; charset=UTF-8\n" |
||||
|
"Content-Transfer-Encoding: \n" |
||||
|
"Language: sl\n" |
||||
|
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" |
||||
|
|
||||
|
#. module: auth_signup_verify_email |
||||
|
#: code:addons/auth_signup_verify_email/controllers/main.py:54 |
||||
|
#, python-format |
||||
|
msgid "Check your email to activate your account!" |
||||
|
msgstr "Preverite svojo e-pošto za aktiviranje računa!" |
||||
|
|
||||
|
#. module: auth_signup_verify_email |
||||
|
#: code:addons/auth_signup_verify_email/controllers/main.py:50 |
||||
|
#, python-format |
||||
|
msgid "Something went wrong, please try again later or contact us." |
||||
|
msgstr "Nekaj je narobe. Ponovno poskusite kasneje ali pa stopite v stik z nami." |
||||
|
|
||||
|
#. module: auth_signup_verify_email |
||||
|
#: code:addons/auth_signup_verify_email/controllers/main.py:31 |
||||
|
#, python-format |
||||
|
msgid "That does not seem to be an email address." |
||||
|
msgstr "Kaže, da to ni e-poštni naslov." |
||||
|
|
||||
|
#. module: auth_signup_verify_email |
||||
|
#: view:website:auth_signup.fields |
||||
|
msgid "email" |
||||
|
msgstr "e-pošta" |
||||
|
|
||||
|
#. module: auth_signup_verify_email |
||||
|
#: view:website:auth_signup.fields |
||||
|
msgid "only_passwords" |
||||
|
msgstr "only_passwords" |
@ -0,0 +1,47 @@ |
|||||
|
# Translation of Odoo Server. |
||||
|
# This file contains the translation of the following modules: |
||||
|
# * auth_signup_verify_email |
||||
|
# |
||||
|
# Translators: |
||||
|
# Ahmet Altınışık <aaltinisik@altinkaya.com.tr>, 2016 |
||||
|
msgid "" |
||||
|
msgstr "" |
||||
|
"Project-Id-Version: server-tools (8.0)\n" |
||||
|
"Report-Msgid-Bugs-To: \n" |
||||
|
"POT-Creation-Date: 2016-01-19 14:44+0000\n" |
||||
|
"PO-Revision-Date: 2016-01-31 14:58+0000\n" |
||||
|
"Last-Translator: Ahmet Altınışık <aaltinisik@altinkaya.com.tr>\n" |
||||
|
"Language-Team: Turkish (http://www.transifex.com/oca/OCA-server-tools-8-0/language/tr/)\n" |
||||
|
"MIME-Version: 1.0\n" |
||||
|
"Content-Type: text/plain; charset=UTF-8\n" |
||||
|
"Content-Transfer-Encoding: \n" |
||||
|
"Language: tr\n" |
||||
|
"Plural-Forms: nplurals=2; plural=(n > 1);\n" |
||||
|
|
||||
|
#. module: auth_signup_verify_email |
||||
|
#: code:addons/auth_signup_verify_email/controllers/main.py:54 |
||||
|
#, python-format |
||||
|
msgid "Check your email to activate your account!" |
||||
|
msgstr "Hesabınızı aktive etmek için e-postanızı kontrol edin!" |
||||
|
|
||||
|
#. module: auth_signup_verify_email |
||||
|
#: code:addons/auth_signup_verify_email/controllers/main.py:50 |
||||
|
#, python-format |
||||
|
msgid "Something went wrong, please try again later or contact us." |
||||
|
msgstr "Bişeyler ters gitti. Lütfen sonra tekrar deneyin ya da bize ulaşın." |
||||
|
|
||||
|
#. module: auth_signup_verify_email |
||||
|
#: code:addons/auth_signup_verify_email/controllers/main.py:31 |
||||
|
#, python-format |
||||
|
msgid "That does not seem to be an email address." |
||||
|
msgstr "Bu bir e-posta adresi gözükmüyor." |
||||
|
|
||||
|
#. module: auth_signup_verify_email |
||||
|
#: view:website:auth_signup.fields |
||||
|
msgid "email" |
||||
|
msgstr "eposta" |
||||
|
|
||||
|
#. module: auth_signup_verify_email |
||||
|
#: view:website:auth_signup.fields |
||||
|
msgid "only_passwords" |
||||
|
msgstr "sadece_parolalar" |
After Width: 100 | Height: 100 | Size: 10 KiB |
172
auth_signup_verify_email/static/description/icon.svg
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,5 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
# © 2016 Jairo Llopis <jairo.llopis@tecnativa.com> |
||||
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). |
||||
|
|
||||
|
from . import test_verify_email |
@ -0,0 +1,72 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
# © 2016 Jairo Llopis <jairo.llopis@tecnativa.com> |
||||
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). |
||||
|
|
||||
|
from urllib import urlencode |
||||
|
from lxml.html import document_fromstring |
||||
|
from openerp import _ |
||||
|
from openerp.tests.common import HttpCase |
||||
|
|
||||
|
|
||||
|
class UICase(HttpCase): |
||||
|
def setUp(self): |
||||
|
super(UICase, self).setUp() |
||||
|
self.icp = self.env["ir.config_parameter"] |
||||
|
self.old_allow_uninvited = self.icp.get_param( |
||||
|
"auth_signup.allow_uninvited") |
||||
|
self.icp.set_param("auth_signup.allow_uninvited", "True") |
||||
|
|
||||
|
# Workaround https://github.com/odoo/odoo/issues/12237 |
||||
|
self.cr.commit() |
||||
|
|
||||
|
self.data = { |
||||
|
"csrf_token": self.csrf_token(), |
||||
|
"name": "Somebody", |
||||
|
} |
||||
|
self.msg = { |
||||
|
"badmail": _("That does not seem to be an email address."), |
||||
|
"failure": _( |
||||
|
"Something went wrong, please try again later or contact us."), |
||||
|
"success": _("Check your email to activate your account!"), |
||||
|
} |
||||
|
|
||||
|
def tearDown(self): |
||||
|
"""Workaround https://github.com/odoo/odoo/issues/12237.""" |
||||
|
super(UICase, self).tearDown() |
||||
|
self.icp.set_param( |
||||
|
"auth_signup.allow_uninvited", self.old_allow_uninvited) |
||||
|
self.cr.commit() |
||||
|
|
||||
|
def html_doc(self, url="/web/signup", data=None, timeout=10): |
||||
|
"""Get an HTML LXML document.""" |
||||
|
if data: |
||||
|
data = bytes(urlencode(data)) |
||||
|
return document_fromstring(self.url_open(url, data, timeout).read()) |
||||
|
|
||||
|
def csrf_token(self): |
||||
|
"""Get a valid CSRF token.""" |
||||
|
doc = self.html_doc() |
||||
|
return doc.xpath("//input[@name='csrf_token']")[0].get("value") |
||||
|
|
||||
|
def search_text(self, doc, text): |
||||
|
"""Search for any element containing the text.""" |
||||
|
return doc.xpath("//*[contains(text(), '%s')]" % text) |
||||
|
|
||||
|
def test_bad_email(self): |
||||
|
"""Test rejection of bad emails.""" |
||||
|
self.data["login"] = "bad email" |
||||
|
doc = self.html_doc(data=self.data) |
||||
|
self.assertTrue(self.search_text(doc, self.msg["badmail"])) |
||||
|
|
||||
|
def test_good_email(self): |
||||
|
"""Test acceptance of good emails. |
||||
|
|
||||
|
This test could lead to success if your SMTP settings are correct, or |
||||
|
to failure otherwise. Any case is expected, since tests usually run |
||||
|
under unconfigured demo instances. |
||||
|
""" |
||||
|
self.data["login"] = "good@example.com" |
||||
|
doc = self.html_doc(data=self.data) |
||||
|
self.assertTrue( |
||||
|
self.search_text(doc, self.msg["failure"]) or |
||||
|
self.search_text(doc, self.msg["success"])) |
@ -0,0 +1,20 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<!-- © 2016 Jairo Llopis <jairo.llopis@tecnativa.com> |
||||
|
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). --> |
||||
|
<odoo> |
||||
|
|
||||
|
<template id="signup_fields" inherit_id="auth_signup.fields"> |
||||
|
<xpath expr="//div[@class='form-group field-password']" |
||||
|
position="attributes"> |
||||
|
<attribute name="t-if">only_passwords</attribute> |
||||
|
</xpath> |
||||
|
<xpath expr="//div[@class='form-group field-confirm_password']" |
||||
|
position="attributes"> |
||||
|
<attribute name="t-if">only_passwords</attribute> |
||||
|
</xpath> |
||||
|
<xpath expr="//input[@name='login']" position="attributes"> |
||||
|
<attribute name="type">email</attribute> |
||||
|
</xpath> |
||||
|
</template> |
||||
|
|
||||
|
</odoo> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue