diff --git a/app/controller/admin.php b/app/controller/admin.php index 528efaeb8c3d6a6b5f0a318e2db9ba6e390af2de..22bf5fd58bba99dc82acce3f315287ee2ba62c42 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,