Module Recettes : on avance encore...
This commit is contained in:
@@ -6,6 +6,11 @@ use Exception;
|
||||
use Propel\Runtime\Exception\PropelException;
|
||||
use Propel\Runtime\Propel;
|
||||
use Recettes\Form\RecetteCreateForm;
|
||||
use Recettes\Model\Recipe;
|
||||
use Recettes\Model\RecipeProducts;
|
||||
use Recettes\Model\RecipeQuery;
|
||||
use Recettes\Model\RecipeSteps;
|
||||
use Recettes\Model\RecipeStepsQuery;
|
||||
use Symfony\Component\HttpFoundation\RedirectResponse;
|
||||
use Thelia\Controller\Admin\BaseAdminController;
|
||||
use Thelia\Core\Event\Content\ContentUpdateEvent;
|
||||
@@ -22,26 +27,18 @@ use Thelia\Tools\URL;
|
||||
class MainController extends BaseAdminController
|
||||
{
|
||||
|
||||
public function viewAction(Request $request)
|
||||
public function saveRecipe(Request $request)
|
||||
{
|
||||
$id = $request->get("content_id");
|
||||
|
||||
}
|
||||
|
||||
|
||||
public function saveRecipe(Request $request)
|
||||
{
|
||||
$productsList = [];
|
||||
|
||||
$con = Propel::getConnection();
|
||||
$error = "";
|
||||
$con = Propel::getConnection();
|
||||
$nouvelleRecette = false;
|
||||
|
||||
$form = new RecetteCreateForm($request);
|
||||
try {
|
||||
$formValidate = $this->validateForm($form);
|
||||
$data = $formValidate->getData();
|
||||
|
||||
$content_id = $data['content_id'];
|
||||
$contentId = $data['content_id'];
|
||||
$title = $data['title'];
|
||||
$difficulty = $data['difficulty'];
|
||||
$numberPeople = $data['people'];
|
||||
@@ -49,19 +46,52 @@ class MainController extends BaseAdminController
|
||||
$cookingTime = $data['cooking_time'];
|
||||
$steps = $data['steps'];
|
||||
|
||||
if (null !== $title && null !== $preparationTime) {
|
||||
$content = ContentI18nQuery::create()->filterByLocale('fr_FR')->findOneById($content_id);
|
||||
if (null !== $title && null !== $contentId && null !== $difficulty && null !== $numberPeople && null !== $preparationTime) {
|
||||
|
||||
$encodedData = json_encode($data);
|
||||
$content->setDescription($encodedData);
|
||||
$content->save($con);
|
||||
$recipe = RecipeQuery::create()->findOneByContentId($contentId);
|
||||
if (null === $recipe)
|
||||
{
|
||||
$nouvelleRecette = true;
|
||||
$recipe = new Recipe();
|
||||
}
|
||||
else
|
||||
$recipeId = $recipe->getId();
|
||||
|
||||
$recipe->setContentId($contentId);
|
||||
$recipe->setTitle($title);
|
||||
$recipe->setDifficulty($difficulty);
|
||||
$recipe->setPeople($numberPeople);
|
||||
$recipe->setPreparationTime($preparationTime);
|
||||
$recipe->setCookingTime($cookingTime);
|
||||
$recipe->save($con);
|
||||
$con->commit();
|
||||
}
|
||||
|
||||
if (!$nouvelleRecette)
|
||||
{
|
||||
// On supprime les étapes pour les recréer par la suite.
|
||||
$steps = RecipeStepsQuery::create()->findByRecipeId($recipeId);
|
||||
$steps->delete($con);
|
||||
$con->commit();
|
||||
}
|
||||
/*
|
||||
foreach ($steps as $step) {
|
||||
$recipeSteps = new RecipeSteps();
|
||||
$recipeSteps->setRecipeId($recipeId);
|
||||
$recipeSteps->setStep($step['id']);
|
||||
$recipeSteps->setDescription($step['description']);
|
||||
$recipeSteps->save();
|
||||
$con->commit();
|
||||
}
|
||||
*/
|
||||
// A rajouter : les produits et les étapes
|
||||
|
||||
return new RedirectResponse(URL::getInstance()->absoluteUrl("/admin/content/update/" . $contentId));
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
$error = $e->getMessage();
|
||||
}
|
||||
|
||||
return new RedirectResponse(URL::getInstance()->absoluteUrl("/admin/content/update/" . $content_id));
|
||||
return new RedirectResponse(URL::getInstance()->absoluteUrl("/admin/content"));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user