Ca a l'air OK pour la partie backOffice du module Recettes
This commit is contained in:
@@ -11,21 +11,36 @@
|
||||
<route id="recipe.save" path="/admin/module/Recettes/save" methods="post">
|
||||
<default key="_controller">Recettes\Controller\BackController::saveRecipe</default>
|
||||
</route>
|
||||
|
||||
<route id="recipe.delete_product" path="/admin/module/Recettes/remove-product/{recipeId}/{pseId}/{contentId}">
|
||||
<default key="_controller">Recettes\Controller\BackController::removeProduct</default>
|
||||
<requirement key="recipeId">\d+</requirement>
|
||||
<requirement key="pseId">\d+</requirement>
|
||||
<requirement key="contentId">\d+</requirement>
|
||||
</route>
|
||||
|
||||
<route id="recipe.search_product" path="/admin/module/Recettes/search-product">
|
||||
<default key="_controller">Recettes\Controller\BackController::searchProduct</default>
|
||||
</route>
|
||||
|
||||
<route id="recipe.add_product" path="/admin/module/Recettes/add-product/{contentId}">
|
||||
<default key="_controller">Recettes\Controller\BackController::addProduct</default>
|
||||
<requirement key="contentId">\d+</requirement>
|
||||
</route>
|
||||
|
||||
<route id="recipe.add_step" path="/admin/module/Recettes/add-step" methods="post">
|
||||
<default key="_controller">Recettes\Controller\BackController::addStep</default>
|
||||
</route>
|
||||
|
||||
</routes>
|
||||
<route id="recipe.remove_step" path="/admin/module/Recettes/remove-step/{recipeId}/{step}/{contentId}">
|
||||
<default key="_controller">Recettes\Controller\BackController::removeStep</default>
|
||||
<requirement key="step">\d+</requirement>
|
||||
<requirement key="recipeId">\d+</requirement>
|
||||
<requirement key="contentId">\d+</requirement>
|
||||
</route>
|
||||
|
||||
<route id="recipe.update_position" path="/admin/module/Recettes/update-position">
|
||||
<default key="_controller">Recettes\Controller\BackController::updatePosition</default>
|
||||
</route>
|
||||
|
||||
</routes>
|
||||
@@ -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"));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -9,10 +9,10 @@
|
||||
<td>
|
||||
{$STEP}
|
||||
{if $LOOP_COUNT > 1}
|
||||
<a href="{url path='/admin/module/Recettes/update-position?mode=up&step=%step' step=$STEP}" class="u-position-up"><i class="glyphicon glyphicon-arrow-up"></i></a>
|
||||
<a href="{url path='/admin/module/Recettes/update-position?mode=up&step=%step&recipe_id=%recipe_id&content_id=%content_id' step=$STEP recipe_id=$recipe_id content_id=$content_id}" class="u-position-up" id="move-up"><i class="glyphicon glyphicon-arrow-up"></i></a>
|
||||
{/if}
|
||||
{if $LOOP_COUNT < $LOOP_TOTAL}
|
||||
<a href="{url path='/admin/module/Recettes/update-position?mode=down&step=%step' step=$STEP}" class="u-position-down"><i class="glyphicon glyphicon-arrow-down"></i></a>
|
||||
<a href="{url path='/admin/module/Recettes/update-position?mode=down&step=%step&recipe_id=%recipe_id&content_id=%content_id' step=$STEP recipe_id=$recipe_id content_id=$content_id}" class="u-position-down" id="move-down"><i class="glyphicon glyphicon-arrow-down"></i></a>
|
||||
{/if}</td>
|
||||
<td>{$DESCRIPTION|unescape:"html" nofilter}</td>
|
||||
<td class="text-center">
|
||||
@@ -21,10 +21,4 @@
|
||||
</tr>
|
||||
{/loop}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<a class="btn btn-default btn-primary"
|
||||
title="{intl l='Add a new step' d='recettes'}"
|
||||
data-target="#add-step-modal" data-toggle="modal">
|
||||
<i class="glyphicon glyphicon-plus-sign"></i>
|
||||
</a>
|
||||
</table>
|
||||
@@ -24,6 +24,7 @@
|
||||
{form_field form=$form field="content_id"}
|
||||
<input type="hidden" name="{$name}" value="{$content_id}">
|
||||
{/form_field}
|
||||
<input type="hidden" class="form-control" name="recipe_id" value="{$recipe_id}">
|
||||
<br>
|
||||
<div class="col-md-8">
|
||||
|
||||
@@ -125,6 +126,11 @@
|
||||
</div>
|
||||
<br>
|
||||
<label class="control-label">Etapes de la recette</label>
|
||||
<div style="display: inline-block; margin-left: 50px;">
|
||||
<a class="btn btn-default btn-primary" title="{intl l='Add a new step' d='recettes'}" data-target="#add-step-modal" data-toggle="modal">
|
||||
<i class="glyphicon glyphicon-plus-sign"></i>
|
||||
</a>
|
||||
</div>
|
||||
<div id="steps-block">
|
||||
{include file="includes/steps.html" recipe_id="$recipe_id"}
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user