|
- <?php
-
- namespace Lc\CaracoleBundle\Controller\Merchant;
-
- use Doctrine\ORM\EntityManagerInterface;
- use Lc\CaracoleBundle\Container\Merchant\MerchantContainer;
- use Lc\CaracoleBundle\Definition\MerchantSettingDefinition;
- use Lc\CaracoleBundle\Form\Merchant\SwitchMerchantFormType;
- use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
- use Symfony\Component\HttpFoundation\Request;
- use Symfony\Component\Security\Core\Security;
- use Symfony\Component\Routing\Annotation\Route;
-
- class FavoriteMerchantController extends AbstractController
- {
- /**
- * @Route("/merchant/favorite", name="carac_merchant_favorite")
- */
- public function favoriteMerchant(Request $request, Security $security, EntityManagerInterface $entityManager)
- {
- $user = $security->getUser();
-
- if ($user) {
- $form = $this->createForm(SwitchMerchantFormType::class);
- $form->handleRequest($request);
-
- if ($form->isSubmitted() && $form->isValid()) {
- $merchant = $form->get('merchant')->getData();
-
- if ($merchant) {
- $user->setFavoriteMerchant($merchant);
- $entityManager->update($user);
- $entityManager->flush();
-
- // @TODO : à fignoler, hein gamin ?
- $url = $this->get(MerchantContainer::class)->getSettingSolver()->getSettingValue(
- $merchant,
- MerchantSettingDefinition::SETTING_URL
- ) . 'admin';
-
- if ($url) {
- return $this->redirect($url);
- }
- }
- }
- }
- }
- }
|