Skip to content
Extraits de code Groupes Projets
Valider 78b0522b rédigé par Hugo Trentesaux's avatar Hugo Trentesaux
Parcourir les fichiers

gestion du mail

parent 26a69331
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
from . import controllers
......@@ -13,9 +13,7 @@
"assets": {
"web._assets_primary_variables": [],
"web._assets_frontend_helpers": [],
'web.assets_frontend': [
'solagro_auth_signup/static/**/*',
],
"web.assets_frontend": [],
"web.assets_tests": [],
"web.assets_qweb": [],
},
......
from . import main
from odoo import http, tools, _
from odoo.addons.auth_signup.controllers.main import AuthSignupHome
class SolagroAuthSignupHome(AuthSignupHome):
@http.route('/web/signup', type='http', auth='public', website=True, sitemap=False)
def web_auth_signup(self, **post):
# email validation
if post and http.request.httprequest.method == 'POST':
email = post.get('email')
if email and not tools.single_email_re.match(email):
post.update({'error': _('Invalid Email! Please enter a valid email address.'), 'error_email': True})
else:
post["login"] = email
# name from firstname / lastname
if post and http.request.httprequest.method == 'POST':
firstname = post.get('firstname')
lastname = post.get('lastname')
post["name"] = firstname + " " + lastname
# update request params
http.request.params.update(post)
return super().web_auth_signup()
/** @odoo-module */
import "web.dom_ready";
console.log("ready")
// il semble que web.signup n'a pas été porté en OWL, donc j'utilise l'ancienne forme
const signupForm = document.querySelector('.oe_signup_form');
if (signupForm) {
const name = document.querySelector("input[name='name']");
const firstname = document.querySelector("input[name='firstname']");
const lastname = document.querySelector("input[name='lastname']");
let firstname_val = ""
let lastname_val = ""
firstname.addEventListener("input", (e) => {
firstname_val = e.target.value
update_name()
});
lastname.addEventListener("input", (e) => {
lastname_val = e.target.value
update_name()
});
function update_name() {
name.value = firstname_val + " " + lastname_val
}
}
......@@ -3,21 +3,29 @@
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
<odoo>
<template id="auth_signup_fields_inherit" inherit_id="auth_signup.fields">
<!-- replaces name by firstname / lastname -->
<xpath expr="//div[@class='mb-3 field-name']/input" position="attributes">
<attribute name="required">False</attribute>
<attribute name="t-att-readonly">True</attribute>
<!-- email field -->
<!-- div with correct error class -->
<xpath expr="//input[@id='login']/.." position="attributes">
<attribute name="t-attf-class">mb-3 {{'o_has_error' if error_email else ''}}</attribute>
</xpath>
<!-- input with correct type and error class-->
<xpath expr="//input[@id='login']" position="attributes">
<attribute name="type">email</attribute>
<attribute name="name">email</attribute>
<attribute name="t-attf-class">form-control {{'is-invalid' if error_email else ''}}</attribute>
</xpath>
<xpath expr="//div[@class='mb-3 field-name']" position="after">
<!-- replaces name by firstname / lastname -->
<xpath expr="//input[@name='name']/.." position="replace">
<div class="mb-3 field-firstname">
<label for="name">Prénom</label>
<input type="text" name="firstname" t-att-value="firstname" id="firstname"
class="form-control form-control-sm" placeholder="par ex. Julie"
required="required" t-att-readonly="'readonly' if only_passwords else None"/>
required="required" t-att-readonly="'readonly' if only_passwords else None"
/>
</div>
<div class="mb-3 field-lastname">
<label for="name">Nom</label>
......@@ -28,5 +36,4 @@
</xpath>
</template>
</odoo>
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter