src/Controller/FusacqVousAideController.php line 33

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. /**
  4.  * @author Mehrez Labidi
  5.  */
  6. namespace App\Controller;
  7. use App\Entity\Utilisateur;
  8. use App\Form\Models\DemandeFinancement;
  9. use App\Form\Type\DemandeFinancementType;
  10. use App\Services\DemandeDeFinancement as DemandeDeFinancementService;
  11. use App\Services\LogMarketingProvider as LogMarketingProviderService;
  12. use Symfony\Component\HttpFoundation\Request;
  13. use Symfony\Component\HttpFoundation\Response;
  14. use App\Form\Models\ContacteNouveauFormulaireCapital;
  15. use App\Form\Models\ContacteNouveauFormulaireCapitalNonCap;
  16. use App\Form\Type\ContactezNouveauFormulaireCapitalType;
  17. use App\Form\Type\ContactezNouveauFormulaireNonCapCapitalType;
  18. use App\Services\ContactezNous as ContactezNousService;
  19. use App\Services\Encryptage\AesEncrytageStrategy;
  20. use App\Services\MetaTag;
  21. class FusacqVousAideController extends EntityUsingController {
  22.     public function __construct(MetaTag $metaTag) {
  23.         $this->metaTag $metaTag;
  24.     }
  25.     public const MAX_AGE 43200// 12heures
  26.     public function simulerVotrePret() {
  27.         $metaTag $this->metaTag
  28.                 ->setTitle("Prêt Reprise d'Entreprise | Solutions de Financement | Fusacq")
  29.                 ->setDescription("Découvrez les solutions de financement pour votre projet de rachat d'entreprise. Conseils, types de prêts, accompagnement et conditions d'accès aux financements pour réussir votre reprise. Experts Fusacq.");
  30.         $response $this->render('fusacq_vous_aide/simuler_votre_pret.html.twig', [
  31.             "controller_name" => "FusacqVousAideController"'metaTag' => $metaTag,
  32.         ]);
  33.         $response->setPublic();
  34.         $response->setMaxAge(self::MAX_AGE); // 12heures
  35.         return $response;
  36.     }
  37.     public function simulerVotreReprise() {
  38.           $metaTag $this->metaTag
  39.                 ->setTitle("Simulateur de Prêt pour Reprise d'Entreprise | Calculez votre Financement | Fusacq")
  40.                 ->setDescription("Estimez facilement votre prêt pour rachat d'entreprise avec notre simulateur gratuit. Calculez mensualités, taux et capacité d'emprunt pour financer votre projet de reprise. Outil exclusif Fusacq.");
  41.           
  42.         $response $this->render('fusacq_vous_aide/simuler_votre_reprise.html.twig', [
  43.             "controller_name" => "FusacqVousAideController"'metaTag' => $metaTag,
  44.         ]);
  45.         $response->setPublic();
  46.         $response->setMaxAge(self::MAX_AGE); // 12heures
  47.         return $response;
  48.     }
  49.     /**
  50.      * @param Request                     $request
  51.      * @param                             $codePays
  52.      * @param DemandeDeFinancementService $demandeDeFinancementService
  53.      * @param LogMarketingProviderService $logMarketingProviderService
  54.      * @return mixed
  55.      * @throws \Exception
  56.      */
  57.     public function faireUneDemandeDeFinancement(Request $request$codePaysDemandeDeFinancementService $demandeDeFinancementServiceLogMarketingProviderService $logMarketingProviderService) {
  58.         $model = new DemandeFinancement();
  59.         $form $this->createForm(DemandeFinancementType::class, $model, [
  60.             'action' => $this->generateUrl(
  61.                     $request->attributes->get('_route'),
  62.                     [
  63.                         'codePays' => $codePays
  64.                     ]
  65.             ),
  66.             'method' => 'POST',
  67.         ]);
  68.         $form->handleRequest($request);
  69.         $societe_visee null;
  70.         $operation_envisagee null;
  71.         if ($form->isSubmitted()) {
  72.             $societe_visee $request->request->get('societe_visee');
  73.             $operation_envisagee $request->request->get('operation_envisagee');
  74.             if ($form->isValid()) {
  75.                 $data $form->getData();
  76.                 $response $demandeDeFinancementService->sendMailDemandeDeFinancement($data);
  77.                 if ($response) {
  78.                     $this->addFlash('success_demande_fin'"votre demande de financement  est bien envoyee");
  79.                 }
  80.                 $user $this->getUser(); // $this->getDoctrine()->getManager()->getRepository(Utilisateur::class)->find(19);
  81.                 if ($user) {
  82.                     //ajouter l'action << Demande de financement >> dans les logs_actions, type_action n°88
  83.                     $logMarketingProviderService->ajouterActionLogsActions(
  84.                             $user->_get('id_utilisateur') ?? $user['id_utilisateur'],
  85.                             "88",
  86.                             $user->_get('type_utilisateur') ?? $user['type_utilisateur'],
  87.                             '----');
  88.                 }
  89.             } else {
  90.                 $this->addFlash('error_demande_fin'"votre demande de financement n'est pas envoyee");
  91.             }
  92.         }
  93.         $metaTag $this->metaTag
  94.                 ->setTitle("Prêt Reprise d'Entreprise | Guide Complet de Financement | Fusacq")
  95.                 ->setDescription("Tout savoir sur le financement de rachat d'entreprise : types de prêts, conditions d'obtention, garanties et conseils d'experts pour optimiser votre dossier de reprise. Solution complète par Fusacq.");
  96.         
  97.         return $this->render('fusacq_vous_aide/faire_une_demande_de_financement.html.twig', [
  98.                     "controller_name" => "FusacqVousAideController"'form' => $form->createView(),
  99.                     "societe_visee" => $societe_visee'metaTag' => $metaTag,
  100.                     "operation_envisagee" => $operation_envisagee,
  101.         ]);
  102.     }
  103.     /**
  104.      * @param Request                     $request
  105.      * @param                             $codePays
  106.      * @param DemandeDeFinancementService $demandeDeFinancementService
  107.      * @param LogMarketingProviderService $logMarketingProviderService
  108.      * @param ContactezNousService $contactezNous
  109.      * @param AesEncrytageStrategy $aesEncrytageStrategy
  110.      * @return mixed
  111.      * @throws \Exception
  112.      */
  113.     public function nouveauFormulaireCapitalImmateriel(Request $request$codePaysLogMarketingProviderService $logMarketingProviderServiceContactezNousService $contactezNousAesEncrytageStrategy $aesEncrytageStrategy) {
  114.         $user $this->getUser();
  115.         if ($user) {
  116.             $model = new ContacteNouveauFormulaireCapitalNonCap();
  117.             $model->_set("nom"$user->_get("nom_utilisateur"));
  118.             $model->_set("prenom"$user->_get("prenom_utilisateur"));
  119.             $model->_set("email"$user->_get("email_utilisateur"));
  120.             $model->_set("societe"$user->_get("factur_nom_societe"));
  121.             $model->_set("telephone"$aesEncrytageStrategy->decryptage($user->_get("telephone_utilisateur")));
  122.             $form $this->createForm(ContactezNouveauFormulaireNonCapCapitalType::class, $model, [
  123.                 'action' => $this->generateUrl(
  124.                         $request->attributes->get('_route'),
  125.                         [
  126.                             'codePays' => $codePays,
  127.                         ]
  128.                 ),
  129.                 'method' => 'POST',
  130.             ]);
  131.         } else {
  132.             $model = new ContacteNouveauFormulaireCapital();
  133.             $form $this->createForm(ContactezNouveauFormulaireCapitalType::class, $model, [
  134.                 'action' => $this->generateUrl(
  135.                         $request->attributes->get('_route'),
  136.                         [
  137.                             'codePays' => $codePays,
  138.                         ]
  139.                 ),
  140.                 'method' => 'POST',
  141.             ]);
  142.         }
  143.         $form->handleRequest($request);
  144.         if ($form->isSubmitted()) {
  145.             if ($form->isValid()) {
  146.                 $data $form->getData();
  147.                 $response $contactezNous->sendMailNouveauFormulaireCapital($data);
  148.                 if ($response) {
  149.                     $this->addFlash('success_form_capital_imm''Votre demande a bien été envoyée');
  150.                 } else {
  151.                     $this->addFlash('error_form_capital_imm'"Votre demande n'a pas été envoyée");
  152.                 }
  153.             } else {
  154.                 $this->addFlash('error_form_capital_imm'"Votre demande n'a pas été envoyée");
  155.             }
  156.         }
  157.         return $this->render('fusacq_vous_aide/contact_nouveau_formulaire_capital.html.twig', [
  158.                     'controller_name' => 'FusacqVousAideController',
  159.                     'form' => $form->createView()
  160.         ]);
  161.     }
  162. }