From 26a6933176ad5098834438c2683985c8516f236d Mon Sep 17 00:00:00 2001 From: Hugo Trentesaux <hugo@le-filament.com> Date: Tue, 25 Feb 2025 11:43:30 +0100 Subject: [PATCH] ajoute firstname et lastname dans le formulaire de login --- __manifest__.py | 24 ++++++++++++++++++++ static/src/js/signup.js | 30 +++++++++++++++++++++++++ views/auth_signup_login_templates.xml | 32 +++++++++++++++++++++++++++ 3 files changed, 86 insertions(+) create mode 100644 __manifest__.py create mode 100644 static/src/js/signup.js create mode 100644 views/auth_signup_login_templates.xml diff --git a/__manifest__.py b/__manifest__.py new file mode 100644 index 0000000..43f9804 --- /dev/null +++ b/__manifest__.py @@ -0,0 +1,24 @@ +{ + "name": "Solagro - Auth Signup", + "summary": "Inscription membre pour Solagro", + "author": "Le Filament", + "website": "https://le-filament.com", + "version": "16.0.1.0.0", + "license": "AGPL-3", + "depends": ["web", "auth_signup"], + "data": [ + # views + "views/auth_signup_login_templates.xml", + ], + "assets": { + "web._assets_primary_variables": [], + "web._assets_frontend_helpers": [], + 'web.assets_frontend': [ + 'solagro_auth_signup/static/**/*', + ], + "web.assets_tests": [], + "web.assets_qweb": [], + }, + "installable": True, + "auto_install": False, +} diff --git a/static/src/js/signup.js b/static/src/js/signup.js new file mode 100644 index 0000000..1928ef9 --- /dev/null +++ b/static/src/js/signup.js @@ -0,0 +1,30 @@ +/** @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 + } +} diff --git a/views/auth_signup_login_templates.xml b/views/auth_signup_login_templates.xml new file mode 100644 index 0000000..92ce845 --- /dev/null +++ b/views/auth_signup_login_templates.xml @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="utf-8" ?> +<!-- Copyright 2024- Le Filament (https://le-filament.com) + 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> + </xpath> + + <xpath expr="//div[@class='mb-3 field-name']" position="after"> + <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"/> + </div> + <div class="mb-3 field-lastname"> + <label for="name">Nom</label> + <input type="text" name="lastname" t-att-value="lastname" id="lastname" + class="form-control form-control-sm" placeholder="par ex. Nguyen" + required="required" t-att-readonly="'readonly' if only_passwords else None"/> + </div> + </xpath> + </template> + + +</odoo> -- GitLab