Ca a l'air OK pour la partie backOffice du module Recettes
This commit is contained in:
@@ -211,7 +211,83 @@ class BackController extends BaseAdminController
|
||||
} catch (\Exception $e) {
|
||||
$error = $e->getMessage();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public function removeStep($step, $recipeId, $contentId)
|
||||
{
|
||||
$con = Propel::getConnection();
|
||||
|
||||
$foundStep = RecipeStepsQuery::create()
|
||||
->filterByRecipeId($recipeId)
|
||||
->findOneByStep($step);
|
||||
$nextSteps = RecipeStepsQuery::create()
|
||||
->filterByRecipeId($recipeId)
|
||||
->filterByStep($step, Criteria::GREATER_THAN)
|
||||
->orderByStep()
|
||||
->find($con);
|
||||
|
||||
if ($foundStep) {
|
||||
$foundStep->delete();
|
||||
|
||||
foreach ($nextSteps as $next) {
|
||||
$nouveauNumero = $next->getStep()-1;
|
||||
(new RecipeSteps())
|
||||
->setRecipeId($recipeId)
|
||||
->setStep($nouveauNumero)
|
||||
->setDescription($next->getDescription())
|
||||
->save();
|
||||
$next->delete();
|
||||
}
|
||||
}
|
||||
|
||||
return new RedirectResponse(URL::getInstance()->absoluteUrl("/admin/content/update/" . $contentId . "?current_tab=recipe"));
|
||||
}
|
||||
|
||||
|
||||
public function updatePosition()
|
||||
{
|
||||
$step = $this->getRequest()->get('step');
|
||||
|
||||
$mode = $this->getRequest()->get('mode');
|
||||
if ($mode === "up") $replacedStep = $step - 1;
|
||||
else $replacedStep = $step + 1;
|
||||
|
||||
$recipeId = $this->getRequest()->get('recipe_id');
|
||||
$contentId = $this->getRequest()->get('content_id');
|
||||
|
||||
$current = RecipeStepsQuery::create()
|
||||
->filterByRecipeId($recipeId)
|
||||
->findOneByStep($step);
|
||||
|
||||
$replaced = RecipeStepsQuery::create()
|
||||
->filterByRecipeId($recipeId)
|
||||
->findOneByStep($replacedStep);
|
||||
|
||||
// On supprime les 2 étapes (celle que l'on déplace et celle que l'on remplace) pour les recréer par la suite.
|
||||
RecipeStepsQuery::create()
|
||||
->filterByRecipeId($recipeId)
|
||||
->findOneByStep($step)
|
||||
->delete();
|
||||
|
||||
RecipeStepsQuery::create()
|
||||
->filterByRecipeId($recipeId)
|
||||
->findOneByStep($replacedStep)
|
||||
->delete();
|
||||
|
||||
(new RecipeSteps())
|
||||
->setRecipeId($recipeId)
|
||||
->setStep($step)
|
||||
->setDescription($replaced->getDescription())
|
||||
->save();
|
||||
|
||||
(new RecipeSteps())
|
||||
->setRecipeId($recipeId)
|
||||
->setStep($replacedStep)
|
||||
->setDescription($current->getDescription())
|
||||
->save();
|
||||
|
||||
return new RedirectResponse(URL::getInstance()->absoluteUrl("/admin/content/update/" . $contentId . "?current_tab=recipe"));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user