src/Controller/MetaConfigController.php line 97

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  4. use Symfony\Component\HttpFoundation\Session\SessionInterface;
  5. use Symfony\Component\HttpFoundation\Session\Session;
  6. use Symfony\Component\Routing\Annotation\Route;
  7. use Symfony\Component\HttpFoundation\Request;
  8. use Symfony\Component\HttpFoundation\Response;
  9. use App\Entity\Entreprise;
  10. use App\Repository\EntrepriseRepository;
  11. use App\Repository\MetaConfigRepository;
  12. use App\Entity\MetaConfig;
  13. use App\Service\GlobalService;
  14. class MetaConfigController extends AbstractController
  15. {
  16.     private $metaConfigRepository;
  17.     private $entrepriseRepository;
  18.     private $global_s;
  19.     private $session;
  20.     public function __construct(GlobalService $global_sEntrepriseRepository $entrepriseRepositoryMetaConfigRepository $metaConfigRepositorySessionInterface $session){
  21.         $this->metaConfigRepository $metaConfigRepository;
  22.         $this->entrepriseRepository $entrepriseRepository;
  23.         $this->global_s $global_s;
  24.         $this->session $session;
  25.     }
  26.     /**
  27.      * @Route("/config/email", name="config_email")
  28.      */
  29.     public function index()
  30.     {
  31.         $cabinetComptable $this->metaConfigRepository->findOneBy(['mkey'=>'cabinet_comptable''entreprise'=>$this->session->get('entreprise_session_id')]);
  32.         $gestionFinancement $this->metaConfigRepository->findOneBy(['mkey'=>'gestion_financement''entreprise'=>$this->session->get('entreprise_session_id')]);
  33.         $gestionTresorie $this->metaConfigRepository->findOneBy(['mkey'=>'gestion_tresorie''entreprise'=>$this->session->get('entreprise_session_id')]);
  34.         
  35.         return $this->render('config_email/index.html.twig', [
  36.             'cabinetComptable' => $cabinetComptable,
  37.             'gestionFinancement' => $gestionFinancement,
  38.             'gestionTresorie' => $gestionTresorie
  39.         ]);
  40.     }
  41.     /**
  42.      * @Route("/config/email/add", name="config_email_add")
  43.      */
  44.     public function addEmailComptable(Request $request)
  45.     {
  46.         $entreprise $this->getDoctrine()->getRepository(Entreprise::class)->find($this->session->get('entreprise_session_id'));
  47.         if(is_null($entreprise)){
  48.             $this->addFlash('error'"Vous devez selectionner une entreprise");
  49.             return $this->redirectToRoute('config_email');
  50.         }
  51.         $cabinetComptable $this->metaConfigRepository->findOneBy(['mkey'=>'cabinet_comptable''entreprise'=>$entreprise->getId()]);
  52.         if(is_null($cabinetComptable))
  53.             $cabinetComptable = new MetaConfig();
  54.         $cabinetComptable->setMkey('cabinet_comptable');
  55.         $cabinetComptable->setValue($request->request->get('cabinet_comptable'));
  56.         $cabinetComptable->setEntreprise($entreprise);
  57.         $gestionFinancements $this->metaConfigRepository->findOneBy(['mkey'=>'gestion_financement''entreprise'=>$entreprise->getId()]);
  58.         if(is_null($gestionFinancements))
  59.             $gestionFinancements = new MetaConfig();    
  60.         $gestionFinancements->setMkey('gestion_financement');
  61.         $gestionFinancements->setValue($request->request->get('gestionFinancement'));
  62.         $gestionFinancements->setEntreprise($entreprise);
  63.         $gestionTresorie $this->metaConfigRepository->findOneBy(['mkey'=>'gestion_tresorie''entreprise'=>$entreprise->getId()]);
  64.         if(is_null($gestionTresorie))
  65.             $gestionTresorie = new MetaConfig();
  66.         $gestionTresorie->setMkey('gestion_tresorie');
  67.         $gestionTresorie->setValue($request->request->get('gestionTresorie'));
  68.         $gestionTresorie->setEntreprise($entreprise);
  69.         $entityManager $this->getDoctrine()->getManager();
  70.         $entityManager->persist($cabinetComptable);
  71.         $entityManager->persist($gestionFinancements);
  72.         $entityManager->persist($gestionTresorie);
  73.         $entityManager->flush(); 
  74.         return $this->redirectToRoute('config_email');
  75.     }
  76.     /**
  77.      * @Route("/getConfigMeta", name="get_meta_config")
  78.      */
  79.     public function getConfigMeta(Request $request$key)
  80.     {
  81.         $cabinetComptable $this->metaConfigRepository->findOneBy(['mkey'=>$key'entreprise'=>$this->session->get('entreprise_session_id')]);
  82.         $val "";
  83.         if(!is_null($cabinetComptable))
  84.             $val $cabinetComptable->getValue();
  85.         return new Response($val);
  86.     }
  87.     /**
  88.      * @Route("/config/smsSend", name="config_acces_sms_send")
  89.      */
  90.     public function smsEnvoie(Request $request)
  91.     {
  92.         $metaUsername $this->metaConfigRepository->findOneBy(['mkey'=>"smsEnvoi_username"'entreprise'=>$this->session->get('entreprise_session_id')]);
  93.         $metaPassword $this->metaConfigRepository->findOneBy(['mkey'=>"smsEnvoi_password"'entreprise'=>$this->session->get('entreprise_session_id')]);
  94.         $metaSender $this->metaConfigRepository->findOneBy(['mkey'=>"smsEnvoi_sender"'entreprise'=>$this->session->get('entreprise_session_id')]);
  95.         if ($request->isMethod('POST')) {
  96.             $username $request->request->get('username');
  97.             $password $request->request->get('password');
  98.             $sender $request->request->get('sender');
  99.             $entreprise $this->getDoctrine()->getRepository(Entreprise::class)->find($this->session->get('entreprise_session_id'));
  100.             if(is_null($metaUsername))
  101.                 $metaUsername = new MetaConfig();
  102.             
  103.             if(is_null($metaPassword))
  104.                 $metaPassword = new MetaConfig();
  105.             if(is_null($metaSender))
  106.                 $metaSender = new MetaConfig();
  107.             $metaUsername->setMkey("smsEnvoi_username");
  108.             $metaUsername->setValue($username);
  109.             $metaUsername->setEntreprise($entreprise);
  110.             $metaPassword->setMkey("smsEnvoi_password");
  111.             $metaPassword->setValue($password);
  112.             $metaPassword->setEntreprise($entreprise);
  113.             $metaSender->setMkey("smsEnvoi_sender");
  114.             $metaSender->setValue($sender);
  115.             $metaSender->setEntreprise($entreprise);
  116.             $entityManager $this->getDoctrine()->getManager();
  117.             $entityManager->persist($metaUsername);
  118.             $entityManager->persist($metaPassword);
  119.             $entityManager->persist($metaSender);
  120.             $entityManager->flush(); 
  121.             $this->addFlash('success'"Enregistrement effectuĂ©");
  122.         }
  123.         
  124.         return $this->render('config_email/config_smsenvoie.html.twig', [
  125.             'username'=>$metaUsername,
  126.             'password'=>$metaPassword,
  127.             'sender'=>$metaSender
  128.         ]);
  129.     }
  130. }