<?php
namespace App\Controller;
use App\Action\Recruitment\Recruitment;
use DateTime;
use DateInterval;
use App\Entity\Zoom;
use App\Entity\Permis;
use Shopping\Entity\Tax;
use App\Entity\Actualite;
use Core\Entity\ErrorCode;
use Shopping\Entity\Order;
use App\Entity\Association;
use Core\Entity\Statistique;
use mysql_xdevapi\Exception;
use Psr\Log\LoggerInterface;
use Shopping\Entity\Feature;
use Shopping\Entity\Product;
use Shopping\Entity\Category;
use Core\Entity\Configuration;
use App\Entity\PageRecruitment;
use Sender\Service\Email\Mailer;
use Shopping\Entity\OrderStatus;
use User\Entity\UserAssociation;
use App\Form\PageRecruitmentType;
use Core\Service\Session\Session;
use Shopping\Entity\FeatureGroup;
use User\Entity\UserAssociationTop;
use Shopping\Entity\ProductDeclinaison;
use User\Entity\UserAssociationCategory;
use Core\Controller\Traits\BaseController;
use Shopping\Service\Payment\PaymentManager;
use User\Entity\UserAssociationLocalisation;
use Symfony\Component\HttpFoundation\Request;
use App\Controller\Traits\FunctionsController;
use Shopping\Entity\ProductDeclinaisonFeature;
use Symfony\Component\HttpFoundation\Response;
use User\Controller\Traits\BaseUserController;
use Symfony\Component\HttpFoundation\JsonResponse;
use Core\Service\FileReaderWriter\FileReaderWriter;
use Shopping\Controller\Traits\BaseShoppingController;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
/**
* Controller répondant aux methods "GET" de l'application
*/
class PageController extends AbstractController
{
use BaseController;
use BaseUserController;
use BaseShoppingController;
use FunctionsController;
/**
* Utilisation du template automatique
* Redirection vers le template configurer dans l'administration
*/
public function template_auto(Request $request)
{
$template = $request->attributes->get('vars')['controller']['core_page']->getTemplate();
return $this->generateTemplate('@' . $template->getModule() . '/' . $template->getName());
}
/* -------------------------------------------------------- */
/* -------------- Pages personnalisées -------------------- */
/* -------------------------------------------------------- */
/**
* Page d'accueil
*/
public function page_default_604cdefd8f455(Request $request)
{
$this->vars['page_active'] = 1;
$template = $request->attributes->get('vars')['controller']['core_page']->getTemplate();
return $this->generateTemplate('@' . $template->getModule() . '/' . $template->getName());
}
/**
* Page contact
*/
public function page_default_6059cd6c8a447(Request $request)
{
$this->vars['page_active'] = 4;
$template = $request->attributes->get('vars')['controller']['core_page']->getTemplate();
return $this->generateTemplate('@' . $template->getModule() . '/' . $template->getName());
}
/**
* Page recrutement
*/
public function page_default_612c9fcb591bd(Request $request)
{
$form = $this->createForm(PageRecruitmentType::class, (new PageRecruitment()));
$template = $request->attributes->get('vars')['controller']['core_page']->getTemplate();
$this->vars['page_active'] = 7;
$this->vars['form'] = $form->createView();
return $this->generateTemplate('@' . $template->getModule() . '/' . $template->getName());
}
/**
* Page application
*/
public function page_default_612f988f46d5d(Request $request)
{
$template = $request->attributes->get('vars')['controller']['core_page']->getTemplate();
$this->vars['page_active'] = 8;
return $this->generateTemplate('@' . $template->getModule() . '/' . $template->getName());
}
/**
* Page concept
*/
public function page_default_6059cce2657fa(Request $request)
{
$this->vars['page_active'] = 2;
$template = $request->attributes->get('vars')['controller']['core_page']->getTemplate();
return $this->generateTemplate('@' . $template->getModule() . '/' . $template->getName());
}
/**
* Page conseils
*/
public function page_default_6059cd3a08706(Request $request)
{
$this->vars['page_active'] = 3;
$template = $request->attributes->get('vars')['controller']['core_page']->getTemplate();
return $this->generateTemplate('@' . $template->getModule() . '/' . $template->getName());
}
/**
* Page soins
*/
public function page_default_609510fd3788b(Request $request)
{
$this->vars['page_active'] = 6;
$template = $request->attributes->get('vars')['controller']['core_page']->getTemplate();
return $this->generateTemplate('@' . $template->getModule() . '/' . $template->getName());
}
/**
* Page diagnostic
*/
public function page_default_6059ce334a572(Request $request)
{
$template = $request->attributes->get('vars')['controller']['core_page']->getTemplate();
return $this->generateTemplate('@' . $template->getModule() . '/' . $template->getName());
}
/**
* Page franchise
*/
public function page_default_6059cdb3c15ee(Request $request)
{
$this->vars['page_active'] = 5;
$template = $request->attributes->get('vars')['controller']['core_page']->getTemplate();
return $this->generateTemplate('@' . $template->getModule() . '/' . $template->getName());
}
/**
* Page Mentions légales
*/
public function page_default_605a2ada2c9fe(Request $request)
{
$template = $request->attributes->get('vars')['controller']['core_page']->getTemplate();
return $this->generateTemplate('@' . $template->getModule() . '/' . $template->getName());
}
/**
* Page Conditions Générales de Vente
*/
public function page_default_605a2b010a36c(Request $request)
{
$template = $request->attributes->get('vars')['controller']['core_page']->getTemplate();
return $this->generateTemplate('@' . $template->getModule() . '/' . $template->getName());
}
/* ------------------------------------------- */
/* -------------- Boutique ------------------- */
/* ------------------------------------------- */
/**
* Boutique - Catégories
*/
public function page_default_5fc90f9575cd0(Request $request)
{
return $this->forward('Shopping\Controller\PageController::category', [
'vars' => $this->vars
]);
}
/**
* Boutique - Panier
*/
public function page_default_5fb7958391f0c(Request $request)
{
$this->vars['template'] = $this->vars['controller']['core_page']->getTemplate();
return $this->forward('Shopping\Controller\PageController::cart', [
'vars' => $this->vars,
]);
}
/**
* Boutique - Commande
*/
public function page_default_5fc91e1c2628d(Request $request)
{
return $this->forward('Shopping\Controller\PageController::order', [
'vars' => $this->vars,
]);
}
/**
* Boutique - Retour de commande - Réussite
*/
public function page_default_5ef9e903bf609(Session $session, Request $request)
{
$this->vars['cart_manager']->clear();
$this->vars['order_manager']->clear();
$session->clear('order_processus_state');
$template = $request->attributes->get('vars')['controller']['core_page']->getTemplate();
return $this->generateTemplate('@' . $template->getModule() . '/' . $template->getName());
}
/**
* Boutique - Retour de commande - Echec
*/
public function page_default_5fd0e19f62233(Session $session, Request $request)
{
$template = $request->attributes->get('vars')['controller']['core_page']->getTemplate();
return $this->generateTemplate('@' . $template->getModule() . '/' . $template->getName());
}
/* ----------------------------------------------------- */
/* -------------- Compte utilisateur ------------------- */
/* ----------------------------------------------------- */
/**
* Compte - Inscription
*/
public function page_default_5fc91fbc846a9(Request $request)
{
return $this->forward('User\Controller\PageController::connect_register', [
'vars' => $this->vars
]);
}
/**
* Compte - Connexion
*/
public function page_default_5fc91ba0ae778(Request $request)
{
return $this->forward('User\Controller\PageController::connect_register', [
'vars' => $this->vars
]);
}
/**
* Compte - Déconnexion
*/
public function page_default_5fc91c20b58f1(Request $request)
{
return $this->forward('User\Controller\PageController::disconnect', [
'vars' => $this->vars
]);
}
/**
* Compte - Mot de passe oublié
*/
public function page_default_5fc9203cb6e67(Request $request)
{
return $this->forward('User\Controller\PageController::forgot_password', [
'vars' => $this->vars
]);
}
/**
* Compte - Mot de passe oublié - Réinitialisation
*/
public function page_default_5fc920768c12c(Request $request)
{
return $this->forward('User\Controller\PageController::forgot_password_reset', [
'vars' => $this->vars
]);
}
/**
* Compte - Suppression
*/
public function page_default_5f20311551762(Request $request)
{
return $this->forward('User\Controller\PageController::user_remove', [
'vars' => $this->vars
]);
}
/**
* Compte - Désactivé
*/
public function page_default_5fc91ef1d8eed(Request $request)
{
return $this->forward('User\Controller\PageController::user_desactive', [
'vars' => $this->vars
]);
}
/**
* Compte - Tableau de bord
*/
public function page_default_5fc9140a44270(Request $request)
{
return $this->forward('User\Controller\PageController::account', [
'vars' => $this->vars
]);
}
/**
* Compte - Historique de commandes
*/
public function page_default_5fc914665eb4d(Request $request)
{
return $this->forward('User\Controller\PageController::account_orders', [
'vars' => $this->vars
]);
}
/**
* Compte - Historique de commandes - Commande
*/
public function page_default_5fc914d4a22ac(Request $request)
{
return $this->forward('User\Controller\PageController::account_order', [
'vars' => $this->vars
]);
}
/**
* Compte - Carnet d'adresses
*/
public function page_default_5fc91521e3084(Request $request)
{
return $this->forward('User\Controller\PageController::account_addresses', [
'vars' => $this->vars
]);
}
/**
* Compte - Carnet d'adresses - Adresse
*/
public function page_default_5fc9156320b76(Request $request)
{
return $this->forward('User\Controller\PageController::account_address', [
'vars' => $this->vars
]);
}
/**
* Compte - Paramètres
*/
public function page_default_5fc917932dc67(Request $request)
{
return $this->forward('User\Controller\PageController::account_settings', [
'vars' => $this->vars
]);
}
/**
* Compte - Newsletters
*/
public function page_default_5fc917c9d08a4(Request $request)
{
return $this->forward('User\Controller\PageController::account_newsletter', [
'vars' => $this->vars
]);
}
/**
* Compte - Favoris
*/
public function page_default_60671073b997a(Request $request)
{
return $this->forward('User\Controller\PageController::account_favoris', [
'vars' => $this->vars
]);
}
/**
* Compte - Informations
*/
public function page_default_5fc91838a9ca2(Request $request)
{
return $this->forward('User\Controller\PageController::account_information_particulier', [
'vars' => $this->vars
]);
}
/* ----------------------------------------------- */
/* -------------- Switch d'URL ------------------- */
/* ----------------------------------------------- */
/**
* Switch entre les pages au format /([a-zA-Z0-9-_]+)
*/
public function page_default_5f9be8a4586c6(Request $request)
{
$slug = $this->getCurrentPageSlug($request, 0);
$object = $this->getEntityBySlug($slug, Category::class);
if ($object != null) {
return $this->forward('Shopping\Controller\PageController::products', [
'vars' => array_merge($this->vars, [
'category' => $object
])
]);
}
$object = $this->getEntityBySlug($slug, Product::class);
if ($object != null) {
return $this->forward('Shopping\Controller\PageController::product', [
'vars' => array_merge($this->vars, [
'product' => $object
])
]);
}
return $this->redirectNotFoundException($request);
}
}