diff --git a/css/ordreGF.css b/css/ordreGF.css index 3e9d340..aa6692e 100644 --- a/css/ordreGF.css +++ b/css/ordreGF.css @@ -175,3 +175,12 @@ display: flex; gap: 10px; } + +.ordregf-master-row { + background: linear-gradient(90deg, #001f3f, #004cff) !important; + color: #ffffff; + font-weight: 600; + letter-spacing: 0.3px; + border-bottom: 1px solid rgba(255, 255, 255, 0.15); + box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.08); +} diff --git a/js/ordreGF.js b/js/ordreGF.js index 1762a53..51c7240 100644 --- a/js/ordreGF.js +++ b/js/ordreGF.js @@ -1,11 +1,13 @@ document.addEventListener("DOMContentLoaded", () => { - // --- 1. GESTION DES MODALS ET FORMULAIRES (SI PRÉSENTS) --- + // --- 1. GESTION DES MODALS ET FORMULAIRES --- // Modal Créer Ordre const modalCreerOrdre = document.getElementById("modalCreerOrdre"); const btnCreer = document.querySelector(".ordregf-btn-creer"); + if (modalCreerOrdre && btnCreer) { btnCreer.addEventListener("click", () => modalCreerOrdre.showModal()); + document.getElementById("btnAnnuler")?.addEventListener("click", () => { document.getElementById("formCreerOrdre").reset(); modalCreerOrdre.close(); @@ -17,8 +19,13 @@ document.addEventListener("DOMContentLoaded", () => { const btnRechercher = document.getElementById("btnRechercher"); btnRechercher?.addEventListener("click", async () => { const isin = document.getElementById("isinRecherche").value; - const response = await fetch(`/php/api_rechercher_action.php?isin=${isin}`); + if (!isin) return alert("Veuillez entrer un code ISIN"); + + const response = await fetch( + `/php/api_rechercher_action.php?isin=${encodeURIComponent(isin)}`, + ); const data = await response.json(); + if (data.success) { document.getElementById("Nom").value = data.company_name; document.getElementById("ticker").value = data.ticker; @@ -34,13 +41,23 @@ document.addEventListener("DOMContentLoaded", () => { .getElementById("formCreerOrdre") ?.addEventListener("submit", async (e) => { e.preventDefault(); + // FormData récupère automatiquement tous les champs ayant un attribut "name" const formData = new FormData(e.target); - formData.append("isin", document.getElementById("isinRecherche").value); + const response = await fetch("/php/api_enregistrer_ordre.php", { method: "POST", body: formData, }); - if ((await response.json()).success) location.reload(); + + const result = await response.json(); + if (result.success) { + location.reload(); + } else { + alert( + "Erreur lors de l'enregistrement : " + + (result.message || "Erreur inconnue"), + ); + } }); // Enregistrement Detail @@ -52,14 +69,18 @@ document.addEventListener("DOMContentLoaded", () => { method: "POST", body: new FormData(e.target), }); - if ((await response.json()).success) location.reload(); - else alert("Erreur lors de l'enregistrement du détail"); + const result = await response.json(); + if (result.success) location.reload(); + else + alert( + "Erreur lors de l'enregistrement du détail : " + + (result.message || ""), + ); }); // --- 2. GESTION MODIFICATION (DÉLÉGATION D'ÉVÉNEMENT) --- document.addEventListener("click", (e) => { - // Ouverture Modal Modifier const button = e.target.closest(".ordregf-btn-modifier-petit"); if (button) { const detail = JSON.parse(button.getAttribute("data-detail")); diff --git a/php/api_enregistrer_ordre.php b/php/api_enregistrer_ordre.php index a25c0f1..ccdb6c9 100644 --- a/php/api_enregistrer_ordre.php +++ b/php/api_enregistrer_ordre.php @@ -1,4 +1,7 @@ getConnection(); $stmt = $db->prepare("INSERT INTO ordreGF (isin, Nom, ticker, code_yahoo) VALUES (?, ?, ?, ?)"); diff --git a/php/ordreGF.php b/php/ordreGF.php index 45df1f5..c9d965e 100644 --- a/php/ordreGF.php +++ b/php/ordreGF.php @@ -195,11 +195,15 @@ require_once __DIR__ . '/header.php';