diff --git a/src/Controller/DefaultController.php b/src/Controller/DefaultController.php index 4df5aee1..e8a386c9 100644 --- a/src/Controller/DefaultController.php +++ b/src/Controller/DefaultController.php @@ -13,6 +13,7 @@ use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; + final class DefaultController extends AbstractController { #[Route('/', name: 'app_default')] @@ -69,6 +70,7 @@ final class DefaultController extends AbstractController #[Route('/history', name: 'history')] public function history(): Response { + $user = $this->getUser(); return $this->render('logged/history.html.twig', [ 'controller_name' => 'DefaultController', 'chiffreAffaires' => 10000, @@ -91,17 +93,19 @@ final class DefaultController extends AbstractController ], 'allSellings' => 12, 'recentSellings' => [], - 'recentSells' => [ - [ - 'id' => '1234', - 'date' => date_create('now'), - 'comment' => 'blah', - 'amount' => 52, - 'productsSold' => [ - 'name' => 'un truc de démo aussi làààà' - ], - ], - ], + 'recentSells' => + $user->getSellings(), +// [ +// [ +// 'id' => '1234', +// 'date' => date_create('now'), +// 'comment' => 'blah', +// 'amount' => 52, +// 'productsSold' => [ +// 'name' => 'un truc de démo aussi làààà' +// ], +// ], +// ], 'activeSelling' => [], // 'sellingComment' => [], 'statisticsFestivals' => 'todo', @@ -123,14 +127,14 @@ final class DefaultController extends AbstractController 'products' => $user->getProducts(), // mock land 'lastFestival' => ['id' => 1, - 'name' => 'le festival de mock', - 'dateCreation' => '2025-02-16', - 'commentaire' => 'MOCK: hop le commentaire de festival', - 'chiffreAffaire' => '1234', - 'fondDeCaisseAvant' => '100', - 'fondDeCaisseAprès' => '150', - 'sold' => 123 - ], + 'name' => 'le festival de mock', + 'dateCreation' => '2025-02-16', + 'commentaire' => 'MOCK: hop le commentaire de festival', + 'chiffreAffaire' => '1234', + 'fondDeCaisseAvant' => '100', + 'fondDeCaisseAprès' => '150', + 'sold' => 123 + ], 'history' => [], ]); } @@ -146,9 +150,10 @@ final class DefaultController extends AbstractController public function mass_create(Request $request, EntityManagerInterface $entityManager): Response { // TODO prendre en compte l'ajout de nouveaux produits si on a une valeur dans le POST - $request = Request::createFromGlobals(); +// $request = Request::createFromGlobals(); $data = json_decode($request->getContent(), true); - + $loggedUser = $this->getUser(); + // les imports listent des catégories de produits et des noms de produits avec leur prix comme ceci: // catégorie: livre // les moutaines;5€ @@ -161,6 +166,18 @@ final class DefaultController extends AbstractController // Vérifiez si une requête POST a été faite if ($request->isMethod('POST')) { $data = $request->getContent(); + + return new Response(var_dump($data)); + + + + + + + + + + $lines = explode("\n", $data); // Séparez les lignes $currentCategory = null; @@ -175,6 +192,7 @@ final class DefaultController extends AbstractController if (preg_match('/^(.*):$/', $line, $matches)) { $currentCategory = new GroupOfProducts(); $currentCategory->setName(trim($matches[1])); + $currentCategory->setOwner($loggedUser); $entityManager->persist($currentCategory); continue; } @@ -186,6 +204,7 @@ final class DefaultController extends AbstractController // Créez un nouvel objet Product $product = new Product(); + $product->setUser($loggedUser); $product->setName($productName); $product->setPrice($productPrice); @@ -198,6 +217,8 @@ final class DefaultController extends AbstractController // Enregistrez tous les changements dans la base de données $entityManager->flush(); + +// return $this->redirectToRoute('app_product_index'); return new Response('Produits importés avec succès.', Response::HTTP_CREATED); } } @@ -221,23 +242,23 @@ final class DefaultController extends AbstractController // si l'utilisateur courant n'a pas de festival actuel, en créer un - $currentFestival = $loggedUser->getCurrentFestival(); - if (!$currentFestival) { - - $currentFestival = new Festival(); - $currentFestival - ->setName('festival auto créé') - ->setUser($loggedUser) - ->setDateCreation(new \DateTime()) - ->setDateStart(new \DateTime()) - ->setDateEnd((new \DateTime())->modify('+1 year')) - ->setClientsCount(1); - - $entityManager->persist($currentFestival); - } else { - $currentFestival->setClientsCount($currentFestival->getClientsCount() + 1); - } - $currentFestival->addSelling($newSelling); +// $currentFestival = $loggedUser->getCurrentFestival(); +// if (!$currentFestival) { +// +// $currentFestival = new Festival(); +// $currentFestival +// ->setName('festival auto créé') +// ->setUser($loggedUser) +// ->setDateCreation(new \DateTime()) +// ->setDateStart(new \DateTime()) +// ->setDateEnd((new \DateTime())->modify('+1 year')) +// ->setClientsCount(1); +// +// $entityManager->persist($currentFestival); +// } else { +// $currentFestival->setClientsCount($currentFestival->getClientsCount() + 1); +// } +// $currentFestival->addSelling($newSelling); // prendre les identifiants des produits en base et les ajouter aux produits de ce Selling // Récupérer les produits à partir des identifiants @@ -274,9 +295,20 @@ final class DefaultController extends AbstractController $response = [ 'message' => 'yes', - 'newChiffreAffaire' => $currentFestival->getChiffreAffaire(), - 'clientsCount' => $currentFestival->getClientsCount(), - 'activeFestival' => $currentFestival, +// TODO démocker 'newChiffreAffaire' => $currentFestival->getChiffreAffaire(), + 'newChiffreAffaire' => 12, +// 'clientsCount' => $currentFestival->getClientsCount(), + 'clientsCount' => 12, +// 'activeFestival' => $currentFestival, + 'activeFestival' => ['id' => 1, + 'name' => 'le festival de mock', + 'dateCreation' => '2025-02-16', + 'commentaire' => 'MOCK: hop le commentaire de festival', + 'chiffreAffaire' => '1234', + 'fondDeCaisseAvant' => '100', + 'fondDeCaisseAprès' => '150', + 'sold' => 123 + ], ]; // prendre en compte l'ajout de nouveaux produits si on a une valeur dans le POST