} else { $tmpPanier[$data["prod_id"]] = intval($data["quantite"]); $app['session']->set('panier', $tmpPanier); } return $tmpPanier[$data["prod_id"]]; })->bind('gopanier'); $app->get('/validPanierScr', function (Request $request) use($app) { $tmpPanier = $app['session']->get('panier'); $tableauCommande = []; $commandeDAO = new commandeDAO($app['db']); $produitDAO = new produitDAO($app['db']); $lastId = $commandeDAO->findLastId(); $lastId = intval($lastId); $lastId += 1; foreach ($tmpPanier as $key => $value) { $tmpObject = $produitDAO->find($key); if ($tmpObject->getStock() < $value) { $app['session']->getFlashBag()->add('error', array('title' => 'Oups, problème de stock...', 'message' => "Vous avez demandé {$value} Kg de " . $tmpObject->getNomProduit() . ", nous n'en possédons que " . $tmpObject->getStock() . " Kg.")); return $app->redirect($app['url_generator']->generate('panier')); } $tableauCommande[$key] = new Commande(); $tableauCommande[$key]->setComId($lastId); $tableauCommande[$key]->setProdId($key); $tableauCommande[$key]->setComQuantite($value); $token = $app['security']->getToken(); $user = $token->getUser(); $tableauCommande[$key]->setUsrId(intval($user->getId())); $tableauCommande[$key]->setComEtat('En attente'); } foreach ($tableauCommande as $key => $value) { $commandeDAO->save($value);
} return $app['twig']->render('admin/gestComm.html.twig', array('tableauCommandes' => $mesCommandes, 'quantiteCommandes' => $quantiteCommandes)); })->bind('gestComm'); // Edition mot de passe admin $app->post('/changeCommScr', function (Request $request) use($app) { $data = $request->request->all(); $comid = $data["idCom"]; $commandeDAO = new CommandeDAO($app['db']); $produitDAO = new produitDAO($app['db']); $mesCommandes = $commandeDAO->find($comid); $state = $data["etat"]; if ($state == "Expédiée") { foreach ($mesCommandes as $key => $value) { $idProd = $value->getProdId(); $quantiteProdCom = $value->getComQuantite(); $prodObj = $produitDAO->find($idProd); $actualStock = $prodObj->getStock(); $newStock = $actualStock - $quantiteProdCom; if ($newStock >= 0) { $prodObj->setStock($newStock); $produitDAO->save($prodObj); } else { $app['session']->getFlashBag()->add('error', array('title' => 'Oups, problème de stock...', 'message' => "Si vous demandez {$quantiteProdCom} Kg de " . $prodObj->getNomProduit() . ", le stock va passer en négatif, augmentez les stocks avant. Stock actuel : " . $prodObj->getStock() . " Kg.")); return "error"; } } } foreach ($mesCommandes as $key => $value) { $value->setComEtat($state); $count = $commandeDAO->stateSave($value); }