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