<?php
// src/Controller/LuckyController.php
namespace App\Controller;
use App\Services\MetaTag;
use App\Controller\EntityUsingController;
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
use App\Services\Buzz\BuzzIndexPageProvider;
use App\Services\ManagerEntity\{
ActualitesManagers,
AnnuairesManagers,
AnnoncesManagers,
DocumentationManagers,
FormationsManager,
QuestionsSemaineManagers,
WebinarManager,
BusinessAngelManagers
};
use Symfony\Component\Form\Extension\Core\Type\ButtonType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\HiddenType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Forms;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use App\Services\LangCodePaysHandler;
use App\Helper\Utils;
use App\Twig\TranslationExtension;
use App\Repository\AnnoncesPubliquesRepository;
use App\Entity\{
AnnoncesVendeur,Localisations,
AnnoncesAcheteur,
Societes,
AnnuaireRepreneurs,
InvestisseursPrives,
BuzzActualites,
UtilisateursInteractions,
SuiviUtilisateur
};
use App\Form\Models\ContactPubFusacqExpert;
use App\Services\ContactPubFusacqExpert as ContactPubFusacqExpertService;
use App\Form\Type\ContactPubFusacqExpertType;
use App\Services\CacheHandler;
use Symfony\Component\Serializer\Serializer;
use Symfony\Component\Serializer\SerializerInterface;
use App\Services\RedisCacheDB;
use App\Services\Encryptage\AesEncrytageStrategy;
use Doctrine\ORM\EntityManagerInterface;
use App\Services\LogUtilisateurs\LogUtilisateursHandler;
class IndexController extends EntityUsingController {
/**
* @var Serializer
*/
private $serializer;
/**
* @var RedisCacheDB
*/
private $redisCacheDB;
/**
* @var CacheHandler
*/
private $cacheHandler;
public const CACHE_TTL = 259200; // 72heures 3 jours
public const MAX_AGE = 43200; // 12heures
/**
* @var \App\Controller\WebinarManager
*/
private $wm;
/**
* @var \App\Controller\FormationsManager
*/
private $fm;
/**
* @var \App\Controller\ActualitesManagers
*/
private $actm;
/**
* @var QuestionsSemaineManagers
*/
private $qsm;
/**
* @var AnnuairesManagers
*/
private $am;
/**
* @var TranslationExtension
*/
private $translationExtension;
private $documentationManagers;
/**
* @var LangCodePaysHandler
*/
private $codePaysHandler;
/**
* @var BusinessAngelManagers
*/
private $bam;
/**
* @var MetaTag
*/
private $metaTag;
/**
* @var string
*/
private $lang;
/**
* @var EntityManagerInterface
*/
protected $em;
/**
* @var AesEncrytageStrategy
*/
private $encrypt;
protected $logUtilisateursHandler;
/**
* @var BuzzIndexPageProvider
*/
private $buzzIndexPageProvider;
/**
* @param \App\Services\ManagerEntity\WebinarManager $wm
*/
public function __construct(
WebinarManager $wm,
FormationsManager $fm,
AnnuairesManagers $am,
ActualitesManagers $actm,
DocumentationManagers $documentationManagers,
QuestionsSemaineManagers $qsm,
LangCodePaysHandler $codePaysHandler,
ParameterBagInterface $params,
AnnoncesPubliquesRepository $apr,
AnnoncesManagers $anm,
TranslationExtension $translationExtension,
BusinessAngelManagers $bam,
MetaTag $metaTag,
LogUtilisateursHandler $logUtilisateursHandler,
BuzzIndexPageProvider $buzzIndexPageProvider,
SerializerInterface $serializer, RedisCacheDB $redisCacheDB, CacheHandler $cacheHandler, AesEncrytageStrategy $aesEncrytageStrategy, EntityManagerInterface $em
) {
$this->wm = $wm;
$this->fm = $fm;
$this->am = $am;
$this->actm = $actm;
$this->qsm = $qsm;
$this->documentationManagers = $documentationManagers;
$this->codePaysHandler = $codePaysHandler;
$this->params = $params;
$this->apr = $apr;
$this->anm = $anm;
$this->translationExtension = $translationExtension;
$this->bam = $bam;
$this->metaTag = $metaTag;
$this->buzzIndexPageProvider = $buzzIndexPageProvider;
$this->lang = $codePaysHandler->getLang();
$this->cacheHandler = $cacheHandler;
$this->redisCacheDB = $redisCacheDB;
$this->serializer = $serializer;
$this->encrypt = $aesEncrytageStrategy;
$this->em = $em;
$this->logUtilisateursHandler = $logUtilisateursHandler;
}
public function index(Request $request, $codePays ): Response {
$response = $this->render("index/index_" . $this->getVersionByCodePays($codePays) . ".html.twig", []);
$response->setPublic();
$response->setMaxAge(self::MAX_AGE); // 12heures
$response->headers->addCacheControlDirective('must-revalidate', true);
return $response;
}
// https://www.fusacq.com/symf_fr_
// http://symfony.fusacq.com/symf_fr_
//
public function test(): Response {
return $this->render('index/test.html.twig', []);
}
public function cookie(): Response {
return $this->render('index/cookie.html.twig', []);
}
public function reactiveCompteRgpd($id, $codePays): Response {
$idUtilisateur = $this->encrypt->decryptage($id);
if (!is_numeric($idUtilisateur)) {
return $this->redirect('/');
}
$interactionUtilisateur = $this->em->getRepository(UtilisateursInteractions::class)->findOneBy(array(
'id_utilisateur' => $idUtilisateur
));
if (empty($interactionUtilisateur)) {
return $this->redirect('/');
}
$plateform_interaction = $interactionUtilisateur->_get("plateform_interaction");
if ($plateform_interaction == "RETIF" || $plateform_interaction == "retif") {
$motSujet = "RETIF / Place des Commerces";
$lienLogo = "https://www.placedescommerces.com/images/logo_PDC.png";
$lienSite = "https://www.placedescommerces.com";
} elseif ($plateform_interaction == "uimm" || $plateform_interaction == "UIMM") {
$motSujet = "UIMM / FUSACQ";
$lienLogo = "https://content.fusacq.com/static/help-fusacq/fr/css/images/logo_fusacq2.gif";
$lienSite = "https://opportunites-industrielles.uimm.fr/";
} elseif ($plateform_interaction == "transmibat" || $plateform_interaction == "TRANSMIBAT") {
$motSujet = "TRANSMIBAT / FUSACQ";
$lienLogo = "https://content.fusacq.com/static/help-fusacq/fr/css/images/logo_fusacq2.gif";
$lienSite = "https://www.transmibat.fr/";
} elseif ($plateform_interaction == "PDC") {
$motSujet = "Place des Commerces";
$lienLogo = "https://www.placedescommerces.com/images/logo_PDC.png";
$lienSite = "https://www.placedescommerces.com";
} elseif ($plateform_interaction == "PDF") {
$motSujet = "Place des Franchises";
$lienLogo = 'https://static.placedesfranchises.com/img/logo_mail.jpg';
$lienSite = "https://www.placedesfranchises.com";
} else {
$motSujet = "FUSACQ";
$lienLogo = "https://content.fusacq.com/static/help-fusacq/fr/css/images/logo_fusacq2.gif";
$lienSite = "https://www.fusacq.com";
}
$interactionUtilisateur->_set("date_time_interaction", date("YmdHis"));
$interactionUtilisateur->_set("date_action_anonymisation_totale", null);
$interactionUtilisateur->_set("date_action_anonymisation", null);
$interactionUtilisateur->_set("anonymisation_rgpd", null);
$interactionUtilisateur->_set("type_interaction", "reactive");
//$interactionUtilisateur->_set("plateform_interaction", "FUSACQ");
try {
$this->em->persist($interactionUtilisateur);
$this->em->flush($interactionUtilisateur);
} catch (\Exception $e) {
}
$suiviUtilisateur = new SuiviUtilisateur();
$suiviUtilisateur->_set("id_utilisateur", $idUtilisateur);
$suiviUtilisateur->_set("date_suivi", date("Ymd"));
$suiviUtilisateur->_set("nom_administrateur", "admin");
$suiviUtilisateur->_set("detail_action", "RGPD : L'utilisateur ne souhaite pas que son compte soit désactivé");
try {
$this->em->persist($suiviUtilisateur);
$this->em->flush($suiviUtilisateur);
} catch (\Exception $e) {
}
return $this->render('index/reactive_compte_rgpd.html.twig', [
'codePays' => $codePays,
'lienSite' => $lienSite,
'lienLogo' => $lienLogo,
'motSujet' => $motSujet
]);
}
public function first(string $word): Response {
return new Response(
'<html><body> ' . $word . '</body></html>'
);
}
public function redirectionLienMail(Request $request, $codePays): Response {
/*
* case "annonces_acquisition_public":$page_de_redirection = "/espace_reprise";
break;
case "annuaire_repreneurs_public":$page_de_redirection = "/annuaire-repreneurs";
break;
case "demande_de_pret_financement":$page_de_redirection = "/pret-reprise-entreprise";
break;
case "annuaire_des_participations_des_fonds":$page_de_redirection = "/participations/liste_participations.php?id_page=1&tri=invest_down";
break;
case "annuaire_des_fonds_d_investissement":$page_de_redirection = "/annuaire-fonds-investissement";
break;
case "simulateur_reprise_entreprise":$page_de_redirection = "/simulateur-reprise-entreprise#refSollicitation";
break;
case "abonnement_tarif":$page_de_redirection = "/tarifs/tarifs.php";
break;
case "annonce_cession":$page_de_redirection = "/espace_cession";
break;
case "financement_detail":$page_de_redirection = "/financement-detail";
break;
case "annuaire_experts": $page_de_redirection = "/annuaire_experts";
break;
case "annuaire_repreneur": $page_de_redirection = "/annuaire-repreneurs"; // "/annuaire_repreneurs_recherche/liste.php";
break;
case "formation_croissance_externe": $page_de_redirection = "/formation-croissance-externe";
break;
case "formation_reprise": $page_de_redirection = "/formation-reprise-entreprise";
break;
case "base_valorisation": $page_de_redirection = "/evaluation-d-entreprise";
break;
case "buzz": $page_de_redirection = "/buzz";
break;
case "espace_cession": $page_de_redirection = "/espace_cession";
break;
case "offre_fusacq_expert": $page_de_redirection = "/offre-fusacq-expert";
break;
* */
$parametres = $request->query->all();
$lien = "/compte";
if (!empty($parametres["type_redirection"])) {
$lien = $parametres["type_redirection"];
}
return $this->redirect($lien);
}
public function authredirect(Request $request): Response {
$codePays = $request->getSession()->get('codePays');
return $this->redirectToRoute('index', ['codePays' => $codePays]);
}
public function deconnexion(Request $request): Response {
return $this->redirectToRoute('app_logout');
}
public function prochainWebinar($lang, $codePays): Response {
$prochainWebinar = $this->wm->getProchainWebinar();
$response = $this->render(
"index/fragments/prochain_webinar_" . strtolower($this->getVersionByCodePays($codePays)) . ".html.twig",
[
'lang' => $lang,
'prochainWebinar' => $prochainWebinar,
'codePays' => $codePays,
]
);
$response->setPublic();
$response->setMaxAge(self::MAX_AGE); // 12heures
return $response;
}
public function dernieresFormations($lang, $codePays): Response {
$formations = $this->fm->getDernieresFormations(5);
// on complete la liste par des à venir pour afficher 5 exactement
$formations[] = [
"date_formation" => "",
"type_lieu_session" => "",
"id_date_formation" => "",
"id_formation" => "7",
"reference" => "JR1",
"dates" => "A venir",
"titre" => "Formation à la reprise d'entreprise"
];
$formations[] = [
"date_formation" => "",
"type_lieu_session" => "",
"id_date_formation" => "",
"id_formation" => "24",
"reference" => "CE1",
"dates" => "A venir",
"titre" => "Formation à la croissance externe"
];
$formations[] = [
"date_formation" => "",
"type_lieu_session" => "",
"id_date_formation" => "",
"id_formation" => "43",
"reference" => "CE1",
"dates" => "A venir",
"titre" => "Formation à la reprise de commerce"
];
$formations[] = [
"date_formation" => "",
"type_lieu_session" => "",
"id_date_formation" => "",
"id_formation" => "61",
"reference" => "MOD34",
"dates" => "A venir",
"titre" => "Savoir lire et analyser un Bilan et un Compte de résultat, sur 2 jours"
];
$formations = array_slice($formations, 0, 5); // on complete la liste par des à venir pour afficher 5 exactement
$response = $this->render(
'index/fragments/dernieres_formations.html.twig',
[
'lang' => $lang,
'formations' => $formations,
'codePays' => $codePays,
]
);
$response->setPublic();
$response->setMaxAge(self::MAX_AGE); // 12heures
return $response;
}
/**
* @param $lang
* @param $codePays
* @return \Symfony\Component\HttpFoundation\Response
* @throws \Exception
*/
public function derniersExperts($lang, $codePays) {
$experts = $this->am->getDerniersExperts($this->getIdPaysByCodePays($codePays));
$formFactory = Forms::createFormFactoryBuilder()->getFormFactory();
$form = $formFactory->createBuilder()
->add('searchWord', TextType::class)
->setAction($this->generateUrl('annuaires_experts_recherche', ['codePays' => $codePays]))
->setMethod('GET')
->getForm();
return $this->render(
'index/fragments/derniers_experts.html.twig',
[
'lang' => $lang,
'experts' => $experts,
'codePays' => $codePays, 'form' => $form->createView(),
]
);
}
/**
*
* @param type $lang
* @param type $codePays
* @return type
*/
public function dernieresAnnoncesPDC($lang, $codePays) {
$annonces = $this->apr->getDernieresAnnoncesPDC($this->getIdPaysByCodePays($codePays));
$response = $this->render(
"index/fragments/dernieres_annonces_pdc.html.twig",
[
'lang' => $lang,
'annonces' => $annonces,
'codePays' => $codePays,
]
);
$response->setPublic();
$response->setMaxAge(self::MAX_AGE); // 12heures
return $response;
}
/**
* @param type $lang
* @param type $codePays
* @return type
*/
public function dernieresAnnoncesFusacqAlaUne($lang, $codePays) {
$annonces = $this->anm->getAnnoncesAlaUnePageAccueil($this->getIdPaysByCodePays($codePays));
$response = $this->render(
"index/fragments/dernieres_annonces_fusacq_alaune.html.twig",
[
'lang' => $lang,
'annonces' => $annonces,
'codePays' => $codePays,
]
);
$response->setPublic();
$response->setMaxAge(self::MAX_AGE); // 12heures
return $response;
}
/**
* @param $lang
* @param $codePays
* @return \Symfony\Component\HttpFoundation\Response
*/
public function derniersCVRepreneurs($lang, $codePays) {
$CVs = $this->am->getDerniersCVRepreneurs($this->getIdPaysByCodePays($codePays));
$formFactory = Forms::createFormFactoryBuilder()->getFormFactory();
$form = $formFactory->createBuilder()
->add('mots_cle_recherche', TextType::class)
->setAction($this->generateUrl('annuaires_repreneurs_recherche', ['codePays' => $codePays]))
->setMethod('GET')
->getForm();
return $this->render(
'index/fragments/derniers_cv_repreneurs.html.twig',
[
'lang' => $lang,
'CVs' => $CVs,
'codePays' => $codePays, 'form' => $form->createView(),
]
);
}
/**
*
* @param type $lang
* @param type $codePays
* @return type
*/
public function derniersActualiteExperts($lang, $codePays) {
$actualites = $this->actm->getDerniersActualitesExperts($limit = 5, $this->getIdPaysByCodePays($codePays));
$response = $this->render(
'index/fragments/derniers_actualite_experts.html.twig',
[
'lang' => $lang,
'actualites' => $actualites,
'codePays' => $codePays,
]
);
$response->setPublic();
$response->setMaxAge(self::MAX_AGE); // 12heures
return $response;
}
/**
* @param $lang
* @param $codePays
* @return mixed
*/
public function avisExpert($lang, $codePays) {
$avis = $this->documentationManagers->randomAvis(); // random avis
$response = $this->render(
'index/fragments/avis_expert.html.twig',
[
'lang' => $lang, "avis" => $avis,
'codePays' => $codePays,
]
);
$response->setPublic();
$response->setMaxAge(self::MAX_AGE); // 12heures
return $response;
}
/**
*
* @param type $lang
* @param type $codePays
* @return type
*/
public function evenements($lang, $codePays) {
$event = $this->getDoctrine()->getRepository(BuzzActualites::class)->getDernierEvennement();
if (!$event) {
$actu = $this->getDoctrine()->getRepository(BuzzActualites::class)->getDerniereActu($this->getIdPaysByCodePays($codePays));
}
$response = $this->render(
'index/fragments/evenements.html.twig',
[
'lang' => $lang,
"event" => $event,
"actu" => $actu ?? NULL,
'codePays' => $codePays,
]
);
$response->setPublic();
$response->setMaxAge(self::MAX_AGE); // 12heures
return $response;
}
/**
* Récupère et affiche les dernières actualités Fusacq Buzz
*
* @param string $lang
* @param string $codePays
* @return Response
*/
public function toutesActuFusacqBuzz($lang, $codePays): Response
{
$idPays = $this->getIdPaysByCodePays($codePays);
$actualitesRaw = $this->getDoctrine()
->getRepository(BuzzActualites::class)
->getDernieresActuFusionsAcquisitions($idPays);
$actualites = array_map([$this->buzzIndexPageProvider, 'formatArticle'], $actualitesRaw);
$response = $this->render(
'index/fragments/toutes_actu_fusacq_buzz.html.twig',
[
'lang' => $lang,
'actualites' => $actualites,
'codePays' => $codePays,
]
);
$response->setPublic();
$response->setMaxAge(self::MAX_AGE);
return $response;
}
/**
* @param $lang
* @param $codePays
* @return mixed
* @throws \Exception
*/
public function laQuestionDeLaSemaine($lang, $codePays) {
$question = $this->qsm->derniereQuestion();
$response = $this->render(
'index/fragments/la_question_de_la_semaine.html.twig',
[
'lang' => $lang,
'question' => $question,
'codePays' => $codePays,
]
);
$response->setPublic();
$response->setMaxAge(self::MAX_AGE); // 12heures
return $response;
}
/**
* @param $codePays
* @return mixed
*/
public function offreFusacqExpert(Request $request, ContactPubFusacqExpertService $contactPubFusacqExpert, $codePays) {
$model = new ContactPubFusacqExpert();
$form_contact = $this->createForm(ContactPubFusacqExpertType::class, $model, [
'action' => $this->generateUrl(
'offreFusacqExpert',
[
'codePays' => $codePays,
]
),
'method' => 'POST',
]);
$form_contact->handleRequest($request);
if ($form_contact->isSubmitted()) {
if ($form_contact->isValid()) {
$data = $form_contact->getData();
$response = $contactPubFusacqExpert->sendMail($data);
if ($response) {
$this->addFlash('success', "votre message est bien envoye");
} else {
$this->addFlash('error', "l'envoi de votre message a echoue");
}
} else {
$this->addFlash('error', "l'envoi de votre message a echoue");
}
}
$response = $this->render(
'index/offre_fusacq_expert.html.twig',
[
'codePays' => $codePays,
'form_contact' => $form_contact->createView()
]
);
$response->setPublic();
$response->setMaxAge(self::MAX_AGE); // 12heures
return $response;
}
/**
* @param $lang
* @param $codePays
* @return \Symfony\Component\HttpFoundation\Response
*/
public function ongletReprendreUneEntreprise($lang, $codePays) {
$id_pays = $this->getIdPaysByCodePays($codePays);
$nb_actifs = NULL;
$nb_entreprises = NULL;
$nb_cibles_potentielles = NULL;
$nb_recherches_partenariat = NULL;
$nb_annonces_reprendre_entreprise = NULL;
$pays_cession = $this->anm->donne_option_select_pays_annonce_vente($id_pays);
$txt_region = $this->translationExtension->translate('toutes les regions', $lang, "", "M", "");
$regions = [$txt_region => 0];
$formFactory = Forms::createFormFactoryBuilder()->getFormFactory();
$form_reprendre_entreprise = $formFactory->createNamedBuilder('')
->add('id_pays', ChoiceType::class, [
'choices' => $pays_cession
])
->add('id_region', ChoiceType::class, [
'choices' => $regions
])
->add('reference_mots_cles', TextType::class, [
'required' => false,
'attr' => array(
'placeholder' => $this->translationExtension->translate("ex. transport, métalurgie, V35455, ...", $lang, '', 'M', '')
)
])
->add('type_recherche', HiddenType::class, [
'data' => 5,
])
->add('rechercher', SubmitType::class)
->setAction($this->generateUrl('reprendre_entreprise_resultats_annonces_cession_entreprise', ['codePays' => "_" . $codePays . "_"]))
->setMethod('GET')
->getForm();
return $this->render(
'index/fragments/onglet_reprendre_une_entreprise.html.twig',
[
'nb_annonces_reprendre_entreprise' => $nb_annonces_reprendre_entreprise,
'nb_entreprises' => $nb_entreprises,
'nb_actifs' => $nb_actifs,
'nb_cibles_potentielles' => $nb_cibles_potentielles,
'nb_recherches_partenariat' => $nb_recherches_partenariat,
'lang' => $lang,
'form_reprendre_entreprise' => $form_reprendre_entreprise->createView(),
'codePaysWithUnderScore' => '_' . $codePays . '_'
]
);
}
/**
* @param $lang
* @param $codePays
* @return \Symfony\Component\HttpFoundation\Response
*/
public function ongletVendreUneEntreprise($lang, $codePays) {
$id_pays = $this->getIdPaysByCodePays($codePays);
$nb_annonces_acheteur = NULL;
$nb_recherches_partenariats = NULL;
$nb_acquisitions = NULL;
$nb_cv = NULL;
$nb_acquereurs_historiques = NULL;
$nb_participations_fonds = NULL;
$nb_acheteurs_potentiels = NULL;
$nb_investisseurs_acquereurs = NULL;
$nb_annonces_vendre_entreprise = NULL;
$pays_acquisition = $this->anm->donne_option_select_pays_annonces_acheteur("entreprise", $id_pays);
$txt_region = $this->translationExtension->translate('toutes les regions', $lang, "", "M", "");
$regions = [$txt_region => 0];
$formFactory = Forms::createFormFactoryBuilder()->getFormFactory();
$form_vendre_entreprise = $formFactory->createNamedBuilder('')
->add('id_pays', ChoiceType::class, [
'choices' => $pays_acquisition
])
->add('id_region', ChoiceType::class, [
'choices' => $regions
])
->add('reference_mots_cles', TextType::class, [
'required' => false,
'attr' => array(
'placeholder' => $this->translationExtension->translate("ex. transport, metallurgie, hotellerie, ...", $lang, '', 'M', '')
)
])
->add('type_recherche', HiddenType::class, [
'data' => 5,
])
->add('rechercher', SubmitType::class)
->setAction($this->generateUrl('vendre_entreprise_resultats_annonces_acquisition', ['codePays' => "_" . $codePays . "_"]))
->setMethod('GET')
->getForm();
return $this->render(
'index/fragments/onglet_vendre_une_entreprise.html.twig',
[
'nb_annonces_vendre_entreprise' => $nb_annonces_vendre_entreprise,
'nb_acquisitions' => $nb_acquisitions,
'nb_cv' => $nb_cv,
'nb_acheteurs_potentiels' => $nb_acheteurs_potentiels,
'nb_investisseurs_acquereurs' => $nb_investisseurs_acquereurs,
'lang' => $lang,
'form_vendre_entreprise' => $form_vendre_entreprise->createView(),
'codePaysWithUnderScore' => '_' . $codePays . '_'
]
);
}
/**
* @param $lang
* @param $codePays
* @return \Symfony\Component\HttpFoundation\Response
*/
public function ongletOuvrirMonCapital($lang, $codePays) {
$id_pays = $this->getIdPaysByCodePays($codePays);
$nb_business_angel = NULL;
$nb_cv_repreneurs_investisseurs = NULL;
$nb_acquereurs_investisseurs = NULL;
$nb_fonds_investissement = NULL;
$nb_annonces_ouvrir_capital = NULL;
$pays_business_angel = $this->bam->donne_option_select_pays_business_angel($id_pays);
$txt_region = $this->translationExtension->translate('toutes les regions', $lang, "", "M", "");
$regions = [$txt_region => 0];
$formFactory = Forms::createFormFactoryBuilder()->getFormFactory();
$form_ouvrir_capital = $formFactory->createNamedBuilder('')
->add('id_pays', ChoiceType::class, [
'choices' => $pays_business_angel
])
->add('id_region', ChoiceType::class, [
'choices' => $regions
])
->add('reference_mots_cles', TextType::class, [
'required' => false,
'attr' => array(
'placeholder' => $this->translationExtension->translate("ex. transport, metallurgie, hotellerie, ...", $lang, '', 'M', '')
)
])
->add('type_recherche', HiddenType::class, [
'data' => 5,
])
->add('rechercher', SubmitType::class)
->setAction($this->generateUrl('ouvrir_capital_resultats_business_angel', ['codePays' => "_" . $codePays . "_"]))
->setMethod('GET')
->getForm();
return $this->render(
'index/fragments/onglet_ouvrir_mon_capital.html.twig',
[
'nb_annonces_ouvrir_capital' => $nb_annonces_ouvrir_capital,
'nb_business_angel' => $nb_business_angel,
'nb_cv_repreneurs_investisseurs' => $nb_cv_repreneurs_investisseurs,
'nb_acquereurs_investisseurs' => $nb_acquereurs_investisseurs,
'nb_fonds_investissement' => $nb_fonds_investissement,
'lang' => $lang,
'form_ouvrir_capital' => $form_ouvrir_capital->createView(),
'codePaysWithUnderScore' => '_' . $codePays . '_'
]
);
}
/**
*
* @param type $codePays
* @return type
*/
private function getVersionByCodePays($codePays) {
return Utils::codePaysWithoutDash($codePays);
}
/**
* @param type $codePays
* @return type
*/
private function getIdPaysByCodePays($codePays) {
return $this->container->get("id_pays_by_code_pays")->getIdPaysByCodePays($codePays);
}
public function logUtilisateursHandler() { // Service pour logger utilisateur avec service = 68
$response = new Response('', Response::HTTP_NOT_FOUND);
$response->setPublic();
$response->setMaxAge(self::MAX_AGE); // 12heures
return $this->logUtilisateursHandler->main($response);
}
}