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