gestion cuisine, page faq

This commit is contained in:
Tykayn 2025-07-07 23:30:09 +02:00 committed by tykayn
parent 2bcec59281
commit cd6c14c378
6 changed files with 98 additions and 4 deletions

View file

@ -25,6 +25,8 @@ final class AdminController extends AbstractController
{
private FollowUpService $followUpService;
// Flag pour activer/désactiver la suppression de ville
private $allowDeleteCity = false;
public function __construct(
private EntityManagerInterface $entityManager,
@ -2097,4 +2099,16 @@ final class AdminController extends AbstractController
// ... autres variables nécessaires ...
]);
}
// Dans la méthode de suppression de ville (ex: deleteCity ou similaire)
public function deleteCityAction(Request $request, $id): Response
{
if (!$this->allowDeleteCity) {
$this->addFlash('danger', "La suppression de ville est désactivée par configuration.");
return $this->redirectToRoute('admin_dashboard');
}
// ... logique de suppression existante ...
// Pour éviter l'erreur, on retourne une redirection par défaut si rien n'est fait
return $this->redirectToRoute('admin_dashboard');
}
}

View file

@ -710,4 +710,10 @@ class PublicController extends AbstractController
}
}
}
#[Route('/faq', name: 'faq')]
public function faq(): Response
{
return $this->render('public/faq.html.twig');
}
}

View file

@ -130,13 +130,11 @@ out meta;';
* @return void
*/
public function map_post_values($request_post) {
$has_ask_angela = false;
$has_opening_hours = false;
$modified_request_post = [];
foreach ($request_post as $key => $value) {
if (strpos($key, 'custom__ask_angela') === 0 ) {
if($value == 'ask_angela'){
@ -146,6 +144,33 @@ out meta;';
if (strpos($key, 'custom__opening_hours') === 0 && $value != '') {
$has_opening_hours = true;
}
// Ajout gestion livraison/vente à emporter (takeaway)
if (strpos($key, 'custom__takeaway') === 0) {
if (in_array($value, ['yes', 'only', 'no'])) {
$modified_request_post['commerce_tag_value__takeaway'] = $value;
}
// Si vide ou autre, on ne met pas le champ
}
// Gestion spéciale pour le champ cuisine (multiple)
if (strpos($key, 'commerce_tag_value__cuisine') === 0) {
$newCuisines = $value;
if (!is_array($newCuisines)) {
$newCuisines = array_map('trim', explode(';', $newCuisines));
}
// Récupérer la valeur existante si présente
$existing = isset($request_post['cuisine_existing']) ? $request_post['cuisine_existing'] : '';
$existingCuisines = $existing ? array_map('trim', explode(';', $existing)) : [];
// Fusionner en gardant l'ordre de l'existant puis des nouveaux non déjà présents
$allCuisines = $existingCuisines;
foreach ($newCuisines as $c) {
if ($c !== '' && !in_array($c, $allCuisines)) {
$allCuisines[] = $c;
}
}
// Nettoyer les vides et assembler
$allCuisines = array_filter($allCuisines, fn($v) => $v !== '');
$modified_request_post['commerce_tag_value__cuisine'] = implode(';', $allCuisines);
}
$modified_request_post[$key] = $value;
}