From 9a69761d22c6b01d7ea313c02e5ec0e3b1c5699d Mon Sep 17 00:00:00 2001 From: Bastien Le Querrec <blq@laquadrature.net> Date: Mon, 14 Dec 2020 15:53:49 +0100 Subject: [PATCH] =?UTF-8?q?met=20=C3=A0=20jour=20le=20cumul=20et=20le=20to?= =?UTF-8?q?tal=20quand=20un=20don=20est=20ajout=C3=A9=20depuis=20l'interfa?= =?UTF-8?q?ce=20d'amin?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controller/admin.php | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/app/controller/admin.php b/app/controller/admin.php index 528efae..22bf5fd 100644 --- a/app/controller/admin.php +++ b/app/controller/admin.php @@ -11,6 +11,7 @@ use LQDN\Command\DonationResetPdfCommand; use LQDN\Command\DonationCreateCommand; use LQDN\Command\UserUpdateByAdminCommand; use LQDN\Command\UserCreateCommand; +use LQDN\Command\UserUpdateTotalCommand; use LQDN\Command\UserUpdateCumulCommand; use LQDN\Command\AdminUpdateParentCommand; use LQDN\Command\AdminUpdateTotalUsersCommand; @@ -299,13 +300,12 @@ class Admin extends Controller // Mise à jour ou ajout du don if ($id=='') { // We need to check if there's already a user with this email - $result = $db->query("SELECT id + $result = $db->query("SELECT id, cumul, total FROM users WHERE email='".\Utils::asl($email)."'"); if ($result) { - // The user already exist, lets get the user_id - $user_id = $result->fetch(\PDO::FETCH_ASSOC); - $user_id = $user_id['id']; + // The user already exist, lets get the user id + $user = $result->fetch(\PDO::FETCH_ASSOC); } else { // Let's create the account first $db->query("INSERT INTO users @@ -317,7 +317,9 @@ class Admin extends Controller '".\Utils::asl($pseudo)."', '".\Utils::asl($somme)."', '0')"); - $user_id = $db->lastInsertId(); + $user['id'] = $db->lastInsertId(); + $user['cumul'] = 0; + $user['total'] = 0; } $db->query("INSERT INTO dons (datec, @@ -326,17 +328,22 @@ class Admin extends Controller lang, abo, public, + cumul, status) VALUES (now(), - '".\Utils::asl($user_id)."', + '".\Utils::asl($user['id'])."', '".\Utils::asl($somme)."', '".\Utils::asl($lang)."', '".\Utils::asl($abo)."', '".\Utils::asl($public)."', + '".\Utils::asl($user['cumul'])."', 1)"); // Récupération de l'id pour passage en mode édition $id = $db->lastInsertId(); + + $f3->get('container')['command_handler']->handle(new UserUpdateTotalCommand($user['id'], (int) $user['total'] + $somme)); + $f3->get('container')['command_handler']->handle(new UserUpdateCumulCommand($user['id'], (int) $user['cumul'] + $somme)); } else { // We will get the ids associated to the gift first $result = $db->query("SELECT adresse_id, -- GitLab