<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace App\Controller;
use App\Form\Type\ChangePasswordType;
use Doctrine\ORM\EntityManagerInterface;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\IsGranted;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\PasswordHasher\Hasher\UserPasswordHasherInterface;
use Symfony\Component\Routing\Annotation\Route;
use App\Entity\User;
use App\Entity\Entry;
use App\Entity\Equipe;
use App\Entity\Participant;
use App\Repository\UserRepository;
use App\Repository\ParticipantRepository;
use Knp\Component\Pager\PaginatorInterface;
/**
* Controller used to manage current user.
*
* @author Romain Monteil <monteil.romain@gmail.com>
*/
#[Route('/account'), IsGranted('ROLE_USER')]
class AccountController extends AbstractController {
#[Route('/add-account', methods: ['GET', 'POST'], name: 'admin_add_account'), IsGranted('ROLE_ADMIN')]
public function addAccount(Request $request, UserRepository $users, EntityManagerInterface $entityManager): Response {
// create the user and hash its password
$invites = count($users->findInvites());
$colaborateurs = count($users->findColaborateurs());
$admins = count($users->findAdmins());
$agents = count($users->findAgents());
return $this->render('account/addAccount.html.twig', [
'invites' => $invites,
'colaborateurs' => $colaborateurs,
'admins' => $admins,
'agents' => $agents,
]);
}
#[Route('/add-agent', methods: ['GET', 'POST'], name: 'admin_add_agent'), IsGranted('ROLE_ADMIN')]
public function addAgent(Request $request, UserRepository $users, EntityManagerInterface $entityManager, UserPasswordHasherInterface $passwordHasher): Response {
if ($request->isMethod('post')) {
// create the user and hash its password
$user = new User();
$user->setFirstname($request->get('firstname'));
$user->setLastname($request->get('lastname'));
$user->setRoles(['ROLE_AGENT', 'ROLE_USER']);
$user->setPostOccupied($request->get('postOccupied'));
$user->setCin($request->get('cin'));
$user->setComment($request->get('comment'));
if ($request->get('enabled') == "1") {
$enabled = '1';
} else {
$enabled = '0';
}
$user->setEnabled($enabled);
$hashedPassword = $passwordHasher->hashPassword($user, $request->get('basic-default-password'));
$user->setPassword($hashedPassword);
$entityManager->persist($user);
$entityManager->flush();
if ($request->files->get('image')) {
$file = $request->files->get('image');
$user->setImage("uploads/profile/" . $user->getId() . "/" . $file->getClientOriginalName());
$file->move("uploads/profile/" . $user->getId() . "/", $file->getClientOriginalName());
}
$ref = 'Ag' . sprintf("%'.05d", $user->getId());
$user->setUsername($ref . '@actech.ma');
$user->setEmail($ref . '@actech.ma');
$user->setReference($ref);
if ($request->get('entry')) {
$entry = $entityManager->getRepository(Entry::class)->find($request->get('entry'));
$entry->addAgent($user);
$entityManager->persist($entry);
}
$equipe = $entityManager->getRepository(Equipe::class)->find($request->get('equipe'));
$equipe->addAgent($user);
if ($request->get('permissions')) {
foreach ($request->get('permissions') as $entryId) {
$entry = $entityManager->getRepository(Entry::class)->find($entryId);
$user->addPermission($entry);
$entityManager->persist($entry);
}
}
$entityManager->persist($entry);
$entityManager->persist($equipe);
$entityManager->flush();
$this->addFlash('success', 'Compte organisateur crée avec succés');
return $this->redirectToRoute('admin_list_agents');
}
$entries = $entityManager->getRepository(Entry::class)->findAll();
$equipes = $entityManager->getRepository(Equipe::class)->findAll();
return $this->render('account/addAgent.html.twig', [
'entries' => $entries,
'equipes' => $equipes,
]);
}
#[Route('/add-visitor', methods: ['GET', 'POST'], name: 'admin_add_visitor'), IsGranted('ROLE_ADMIN')]
public function addVisitor(Request $request, UserRepository $users, EntityManagerInterface $entityManager): Response {
if ($request->isMethod('post')) {
//////
$user = new Participant();
$user->setName($request->get('name'));
$user->setTitle($request->get('title'));
$user->setOrganization($request->get('organization'));
$entityManager->persist($user);
$entityManager->flush();
$equipe = $entityManager->getRepository(Equipe::class)->findOneById($request->get('equipe'));
$ref = 'AE02P' . sprintf("%'.05d", $user->getId());
$user->setReference($ref);
$equipe->addParticipant($user);
$entityManager->persist($equipe);
$entityManager->persist($user);
$entityManager->flush();
// $this->addFlash('success', 'Compte VISITOR crée avec succés');
return $this->redirectToRoute('admin_show_badge9x14', [
'id' => $user->getId(),
]);
}
$equipes = $entityManager->getRepository(Equipe::class)->findAll();
return $this->render('account/addVisitor.html.twig', [
'equipes' => $equipes,
]);
}
#[Route('/add-visitors-byarray', methods: ['GET', 'POST'], name: 'admin_add_visitor_byarray'), IsGranted('ROLE_ADMIN')]
public function addVisitorByarray(Request $request, UserRepository $users, EntityManagerInterface $entityManager): Response {
$lists = array(
array("val0" => "H.E. Mr. Gervais NDIRAKOBUCA", "val1" => "President of the Senate", "val2" => "Republic of Burundi", "val3" => "RED"),
array("val0" => "Mrs. Flora NDAYISENGA", "val1" => "Guest", "val2" => "Republic of Burundi", "val3" => "ORANGE"),
array("val0" => "Hon. Berchmans NZOYIHAYA", "val1" => "Member of Parliament", "val2" => "Republic of Burundi", "val3" => "WHITE"),
array("val0" => "Mr. Méthode BIHOYUBUSA", "val1" => "Staff delegation", "val2" => "Republic of Burundi", "val3" => "GREEN"),
array("val0" => "Mr. Aloys BAMPORUBUSA", "val1" => "Staff delegation", "val2" => "Republic of Burundi", "val3" => "GREEN"),
array("val0" => "Mr. Gaspard MBONIMPA", "val1" => "Staff delegation", "val2" => "Republic of Burundi", "val3" => "GREEN"),
array("val0" => "Ms. Louise MBONIMPA", "val1" => "Staff delegation", "val2" => "Republic of Burundi", "val3" => "GREEN"),
array("val0" => "Mr.Jean Claude NIMUBONA", "val1" => "Staff delegation", "val2" => "Republic of Burundi", "val3" => "GREEN"),
array("val0" => "Mr. SINZINKAYO Gilbert", "val1" => "Staff delegation", "val2" => "Republic of Burundi", "val3" => "GREEN"),
array("val0" => "Ms. Joselyne NZIGAMISONI", "val1" => "Staff delegation", "val2" => "Republic of Burundi", "val3" => "GREEN"),
array("val0" => "Mr. Schem HABONAYO", "val1" => "Staff delegation", "val2" => "Republic of Burundi", "val3" => "GREEN"),
array("val0" => "H.E.Mr. Pierre NGOLO ", "val1" => "President of the Senate ", "val2" => "Republic of the Congo ", "val3" => "RED"),
array("val0" => "Mr. Grâce Pacheli BARINGUI", "val1" => "Staff delegation", "val2" => "Republic of the Congo ", "val3" => "GREEN"),
array("val0" => "Mr. Historiel Prestigieux NGOLO ATIPO", "val1" => "Staff delegation", "val2" => "Republic of the Congo ", "val3" => "GREEN"),
array("val0" => "Mr. Fidèle MOUAMBOLI ", "val1" => "Staff delegation", "val2" => "Republic of the Congo ", "val3" => "GREEN"),
array("val0" => "Mr. Gaétan ONDONGA ", "val1" => "Staff delegation", "val2" => "Republic of the Congo ", "val3" => "GREEN"),
array("val0" => "H. E.Mr. Jean-Michel Sama Lukonde Kyenge ", "val1" => "President of the Senate ", "val2" => "Democratic Republic of the Congo", "val3" => "RED"),
array("val0" => "Hon. KANDA KALAMBAYI Pierre", "val1" => "Member of Parliament", "val2" => "Democratic Republic of the Congo", "val3" => "WHITE"),
array("val0" => "Hon. NGBAKO MBILISI Anastasie", "val1" => "Member of Parliament", "val2" => "Democratic Republic of the Congo", "val3" => "WHITE"),
array("val0" => "Hon. MBUGUJE MAREMBO Anne", "val1" => "Member of Parliament", "val2" => "Democratic Republic of the Congo", "val3" => "WHITE"),
array("val0" => "Mr. MUKASA Mwanabute Valéry", "val1" => "Staff delegation", "val2" => "Democratic Republic of the Congo", "val3" => "GREEN"),
array("val0" => "Mr. MUGISHO NYUNDA Théophile", "val1" => "Staff delegation", "val2" => "Democratic Republic of the Congo", "val3" => "GREEN"),
array("val0" => "Mr. NSAMBO ILUNGA KINANGI Philippe", "val1" => "Staff delegation", "val2" => "Democratic Republic of the Congo", "val3" => "GREEN"),
array("val0" => "Mr. ILUNGA MBUYA José", "val1" => "Staff delegation", "val2" => "Democratic Republic of the Congo", "val3" => "GREEN"),
array("val0" => "Mrs. MULUMBA MULUMBA Coco", "val1" => "Staff delegation", "val2" => "Democratic Republic of the Congo", "val3" => "GREEN"),
array("val0" => "Mr. KASHAMA MUBENGA Hervé", "val1" => "Staff delegation", "val2" => "Democratic Republic of the Congo", "val3" => "GREEN"),
array("val0" => "Mr. KAMBALE KALOLO Djo", "val1" => "Staff delegation", "val2" => "Democratic Republic of the Congo", "val3" => "GREEN"),
array("val0" => "Mr. MATALA KAMANDA Titi", "val1" => "Staff delegation", "val2" => "Democratic Republic of the Congo", "val3" => "GREEN"),
array("val0" => "Mr. KILUFYA MAKONGA KALALE John", "val1" => "Staff delegation", "val2" => "Democratic Republic of the Congo", "val3" => "GREEN"),
array("val0" => "H.E. Ms. Kandia KAMISSOKO CAMARA ", "val1" => "President of the Senate", "val2" => "Republic of Côte d'ivoire", "val3" => "RED"),
array("val0" => "Hon. Mrs. DIABY Makani", "val1" => "Member of Parliament", "val2" => "Republic of Côte d'ivoire", "val3" => "WHITE"),
array("val0" => "Hon. Mr. COFFI Michel Benoit", "val1" => "Member of Parliament", "val2" => "Republic of Côte d'ivoire", "val3" => "WHITE"),
array("val0" => "Hon. Mr. TOURE Ousmane Samassi", "val1" => "Secretary General", "val2" => "Republic of Côte d'ivoire", "val3" => "GREEN"),
array("val0" => "Mr. DOSSAN René", "val1" => "Staff delegation", "val2" => "Republic of Côte d'ivoire", "val3" => "GREEN"),
array("val0" => "Mr. TOURE Mathieu", "val1" => "Staff delegation", "val2" => "Republic of Côte d'ivoire", "val3" => "GREEN"),
array("val0" => "Mr. BAMBA Lanciné Joël", "val1" => "Staff delegation", "val2" => "Republic of Côte d'ivoire", "val3" => "GREEN"),
array("val0" => "Mr. BERTE Mamadou", "val1" => "Staff delegation", "val2" => "Republic of Côte d'ivoire", "val3" => "GREEN"),
array("val0" => "Mrs. DEMBELE Tjegnougo", "val1" => "Staff delegation", "val2" => "Republic of Côte d'ivoire", "val3" => "GREEN"),
array("val0" => "Mr. FANNY Adama", "val1" => "Staff delegation", "val2" => "Republic of Côte d'ivoire", "val3" => "GREEN"),
array("val0" => "Mr. Nouho SANGARE", "val1" => "Staff delegation", "val2" => "Republic of Côte d'ivoire", "val3" => "GREEN"),
array("val0" => "H.E. Mr. Essam Farid", "val1" => "Speaker of the Senate", "val2" => "Arab Republic of Egypt", "val3" => "RED"),
array("val0" => "Hon. Dr. Ahmed Mohamed Abdel-ghany", "val1" => "Secretary General", "val2" => "Arab Republic of Egypt", "val3" => "GREEN"),
array("val0" => "Hon. Mohamed Mostafa Kamal", "val1" => "Member of Parliament", "val2" => "Arab Republic of Egypt", "val3" => "WHITE"),
array("val0" => "Mr. Mohamed Jahin Abdel-hady", "val1" => "Staff delegation", "val2" => "Arab Republic of Egypt", "val3" => "GREEN"),
array("val0" => "Mrs. Marwa Mahmoud Hasseeb", "val1" => "Staff delegation", "val2" => "Arab Republic of Egypt", "val3" => "GREEN"),
array("val0" => "Mr. Tareq Metwally Khalaf Metwally", "val1" => "Staff delegation", "val2" => "Arab Republic of Egypt", "val3" => "GREEN"),
array("val0" => "Mr. Ahmed Zakareya Mohyel-din", "val1" => "Staff delegation", "val2" => "Arab Republic of Egypt", "val3" => "GREEN"),
array("val0" => "H.E. Ms. Teresa EFUA ASANGONO", "val1" => "President of the Senate", "val2" => "Republic of Equatorial Guinea", "val3" => "RED"),
array("val0" => "Hon. Anastasio ASUMU MUM MUÑOZ", "val1" => "Member of Parliament", "val2" => "Republic of Equatorial Guinea", "val3" => "WHITE"),
array("val0" => "Mr. Juan Jesús Nfa NGUEMA ALENE", "val1" => "Staff delegation", "val2" => "Republic of Equatorial Guinea", "val3" => "GREEN"),
array("val0" => "H.E. Mrs. Lindiwe T.Dlamini", "val1" => "President of the Senate", "val2" => "Kingdom of Eswatini", "val3" => "RED"),
array("val0" => "Hon. Sisusa Monusukaphi Dlamini", "val1" => "Member of Parliament", "val2" => "Kingdom of Eswatini", "val3" => "WHITE"),
array("val0" => "Hon. Prince Sibusiso Douglas Dlamini", "val1" => "Member of Parliament", "val2" => "Kingdom of Eswatini", "val3" => "WHITE"),
array("val0" => "Hon. Princess Ntfombiyenkhosi Dzelisa Dlamini", "val1" => "Member of Parliament", "val2" => "Kingdom of Eswatini", "val3" => "WHITE"),
array("val0" => "Hon. Lorraine Nkhosingisite NNxumalo", "val1" => "Member of Parliament", "val2" => "Kingdom of Eswatini", "val3" => "WHITE"),
array("val0" => "Ms. Lungile Siyaya", "val1" => "Staff delegation", "val2" => "Kingdom of Eswatini", "val3" => "GREEN"),
array("val0" => "H.E.Mrs Huguette Yvonne NYANA-EKOUME Epse AWORI ONANGA", "val1" => "President of the Senate", "val2" => "Gabonese Republic", "val3" => "RED"),
array("val0" => "Hon. Elodie Diane FOUEFOUE Epse SANDJOH", "val1" => "Member of Parliament", "val2" => "Gabonese Republic", "val3" => "WHITE"),
array("val0" => "Ms. Lygie Mathurine INDJELE NAMBA", "val1" => "Staff delegation", "val2" => "Gabonese Republic", "val3" => "GREEN"),
array("val0" => "Mr. Alex MAYILA", "val1" => "Staff delegation", "val2" => "Gabonese Republic", "val3" => "GREEN"),
array("val0" => "Mr. Romuald Cédric OBAME MBA", "val1" => "Staff delegation", "val2" => "Gabonese Republic", "val3" => "GREEN"),
array("val0" => "Mr. Cédric NZENGUE LOMAS", "val1" => "Staff delegation", "val2" => "Gabonese Republic", "val3" => "GREEN"),
array("val0" => "Mr. Felix MOUDIBANGOYI", "val1" => "Staff delegation", "val2" => "Gabonese Republic", "val3" => "GREEN"),
array("val0" => "H.E. Ms.Mamonaheng Mokitimi", "val1" => "President of the Senate", "val2" => "Kingdom of Lesotho", "val3" => "RED"),
array("val0" => "Hon. Mamolapo Majara", "val1" => "Member of Parliament", "val2" => "Kingdom of Lesotho", "val3" => "WHITE"),
array("val0" => "Hon. Nthupi Bereng", "val1" => "Member of Parliament", "val2" => "Kingdom of Lesotho", "val3" => "WHITE"),
array("val0" => "Mr. Teboho Sekese", "val1" => "Staff delegation", "val2" => "Kingdom of Lesotho", "val3" => "GREEN"),
array("val0" => "H.E. Mr. Godswill Obot Akpabio", "val1" => "President of the Senate", "val2" => "Federal Republic of Nigeria", "val3" => "RED"),
array("val0" => "Hon. Osita Ngwu", "val1" => "Member of Parliament", "val2" => "Federal Republic of Nigeria", "val3" => "WHITE"),
array("val0" => "Hon. Ibrahim Hassan Dankwambo", "val1" => "Member of Parliament", "val2" => "Federal Republic of Nigeria", "val3" => "WHITE"),
array("val0" => "Hon. Asuquo Ekpenyong", "val1" => "Member of Parliament", "val2" => "Federal Republic of Nigeria", "val3" => "WHITE"),
array("val0" => "Hon. Titus Tartenger Zam", "val1" => "Member of Parliament", "val2" => "Federal Republic of Nigeria", "val3" => "WHITE"),
array("val0" => "Mr. Barr. Fortune Ihua-Maduenyi", "val1" => "Staff delegation", "val2" => "Federal Republic of Nigeria", "val3" => "GREEN"),
array("val0" => "Ms. Glory Emmanuel Tende", "val1" => "Staff delegation", "val2" => "Federal Republic of Nigeria", "val3" => "GREEN"),
array("val0" => "Ms. Rosemary Ikhialose Irerua", "val1" => "Staff delegation", "val2" => "Federal Republic of Nigeria", "val3" => "GREEN"),
array("val0" => "Mrs. Ruth Tesin Sinime-Paulker", "val1" => "Staff delegation", "val2" => "Federal Republic of Nigeria", "val3" => "GREEN"),
array("val0" => "Dr. Adewale Adekanye", "val1" => "Staff delegation", "val2" => "Federal Republic of Nigeria", "val3" => "GREEN"),
array("val0" => "Ms.Florence Olanike Fofah", "val1" => "Staff delegation", "val2" => "Federal Republic of Nigeria", "val3" => "GREEN"),
array("val0" => "Mr. Uchechukwu Emmanuel Udonsi", "val1" => "Staff delegation", "val2" => "Federal Republic of Nigeria", "val3" => "GREEN"),
array("val0" => "Mr. Yusuf Baba Shehudeen", "val1" => "Staff delegation", "val2" => "Federal Republic of Nigeria", "val3" => "GREEN"),
array("val0" => "Mr. David Joseph Akhigbe", "val1" => "Staff delegation", "val2" => "Federal Republic of Nigeria", "val3" => "GREEN"),
array("val0" => "Mr. Nsikak Gregory Effiong", "val1" => "Staff delegation", "val2" => "Federal Republic of Nigeria", "val3" => "GREEN"),
array("val0" => "Mr. Temitope Brown", "val1" => "Staff delegation", "val2" => "Federal Republic of Nigeria", "val3" => "GREEN"),
array("val0" => "Hon. Lt. Gen. (Rtd) Michael Reuben Nyambuya", "val1" => "Member of Parliament", "val2" => "Republic of Zimbabwe", "val3" => "WHITE"),
array("val0" => "Hon. Tambudzani Mohadi", "val1" => "Member of Parliament", "val2" => "Republic of Zimbabwe", "val3" => "WHITE"),
array("val0" => "Hon. Ranganai Bwawanda", "val1" => "Member of Parliament", "val2" => "Republic of Zimbabwe", "val3" => "WHITE"),
array("val0" => "Hon. Spiwe Munemo", "val1" => "Member of Parliament", "val2" => "Republic of Zimbabwe", "val3" => "WHITE"),
array("val0" => "Mr. Califinos Kudakwashe Guvi", "val1" => "Staff delegation", "val2" => "Republic of Zimbabwe", "val3" => "GREEN"),
array("val0" => "Mrs. Mercy Kwangware", "val1" => "Staff delegation", "val2" => "Republic of Zimbabwe", "val3" => "GREEN"),
array("val0" => "Mr. Panashe Emmanuel Muzenda", "val1" => "Staff delegation", "val2" => "Republic of Zimbabwe", "val3" => "GREEN"),
array("val0" => "Ms. Panashe Paloma Chabwera", "val1" => "Staff delegation", "val2" => "Republic of Zimbabwe", "val3" => "GREEN"),
array("val0" => "Mr. Appeasement Kufandirori", "val1" => "Staff delegation", "val2" => "Republic of Zimbabwe", "val3" => "GREEN"),
array("val0" => "H.E. Mr. Rodrigo Gamarra", "val1" => "President - Mercosur Parliament", "val2" => "PARLASUR", "val3" => "RED"),
array("val0" => "Mr. Derlis Maidana", "val1" => "Member of Parliament", "val2" => "PARLASUR", "val3" => "WHITE"),
array("val0" => "Ms. Fabiana Martin", "val1" => "Member of Parliament", "val2" => "PARLASUR", "val3" => "WHITE"),
array("val0" => "Mr. Alejandro Deanes", "val1" => "Member of Parliament", "val2" => "PARLASUR", "val3" => "WHITE"),
array("val0" => "Mr. Arturo Silvera", "val1" => "Mercosur Parliament Staff Member", "val2" => "PARLASUR", "val3" => "GREEN"),
array("val0" => "Ms. Denisse Iriarte", "val1" => "Mercosur Parliament", "val2" => "PARLASUR", "val3" => "ORANGE"),
array("val0" => "Mr. Gustavo Cuevas", "val1" => "Mercosur Parliament Staff Member", "val2" => "PARLASUR", "val3" => "GREEN"),
array("val0" => "Mr. Eduardo Chiliquinga", "val1" => "Secretary General - Andean Parliament", "val2" => "PARLANDINO", "val3" => "GREEN"),
array("val0" => "H.E. Mr.René Daniel Camacho", "val1" => "President of Andean Parliament", "val2" => "PARLANDINO", "val3" => "RED"),
array("val0" => "H.E. Mr. Sidi Mohamed OULD ERRACHID", "val1" => "President of the House of Councillors", "val2" => "Kingdom of Morocco", "val3" => "RED"),
array("val0" => "Mr. Mansour LAMBARKI", "val1" => "Head of Cabinet of the President of the House of Councillors", "val2" => "Kingdom of Morocco", "val3" => "RED"),
array("val0" => "H.E. Mr. El Assad ZEROUALI", "val1" => "Secretary General of the House of Councillors", "val2" => "Kingdom of Morocco", "val3" => "RED"),
array("val0" => "H.E. Mr. Abdelkader SALAMA", "val1" => "First Vice-President of the House of Councillors", "val2" => "Kingdom of Morocco", "val3" => "RED"),
array("val0" => "H.E. Mr. Ahmed AKHCHICHINE", "val1" => "Second Vice-President of the House of Councillors", "val2" => "Kingdom of Morocco", "val3" => "RED"),
array("val0" => "H.E. Mr. Jawad HILALI", "val1" => "Third Vice-President of the House of Councillors", "val2" => "Kingdom of Morocco", "val3" => "RED"),
array("val0" => "H.E. Mr. Lahcen HADDAD", "val1" => "Fourth Vice-President of the House of Councillors", "val2" => "Kingdom of Morocco", "val3" => "RED"),
array("val0" => "H.E. Mr. Yahfadouh BEN M’BAREK", "val1" => "Fifth Vice-President of the House of Councillors", "val2" => "Kingdom of Morocco", "val3" => "RED"),
array("val0" => "H.E. Mr. Mohamed Salem BEN MASSAOUD", "val1" => "Secretary of the House of Councillors", "val2" => "Kingdom of Morocco", "val3" => "RED"),
array("val0" => "H.E. Mr. Salek EL MOUSSAOUI", "val1" => "Secretary of the House of Councillors", "val2" => "Kingdom of Morocco", "val3" => "RED"),
array("val0" => "H.E. Mr. Miloud MAASSID", "val1" => "Secretary of the House of Councillors", "val2" => "Kingdom of Morocco", "val3" => "RED"),
array("val0" => "H.E. Mr. Mustapha MOUCHARIK", "val1" => "Quaestor of the House of Councillors", "val2" => "Kingdom of Morocco", "val3" => "RED"),
array("val0" => "H.E. Mr. Mohammed Reda LAHMINI", "val1" => "Quaestor of the House of Councillors", "val2" => "Kingdom of Morocco", "val3" => "RED"),
array("val0" => "H.E. Mr. Abderrahmane OIFFA", "val1" => "Quaestor of the House of Councillors", "val2" => "Kingdom of Morocco", "val3" => "RED"),
array("val0" => "H.E. Mr. Rachid TALBI ALAMI", "val1" => "President of the House of Representatives", "val2" => "Kingdom of Morocco", "val3" => "RED"),
array("val0" => "H.E. Mr. Abdesselam LEBBAR", "val1" => "Member of Parliament", "val2" => "Kingdom of Morocco", "val3" => "WHITE"),
array("val0" => "H.E. Mr. Abdelkrim EL HAMSS", "val1" => "Member of Parliament", "val2" => "Kingdom of Morocco", "val3" => "WHITE"),
array("val0" => "H.E. Mr. Mohamed EL BAKKOURI", "val1" => "Member of Parliament", "val2" => "Kingdom of Morocco", "val3" => "WHITE"),
array("val0" => "H.E. Mr. Abdellatif MOUSTAKIM", "val1" => "Member of Parliament", "val2" => "Kingdom of Morocco", "val3" => "WHITE"),
array("val0" => "H.E. Mr. Youssef AYDI", "val1" => "Member of Parliament", "val2" => "Kingdom of Morocco", "val3" => "WHITE"),
array("val0" => "H.E. Mr. M'barek ESSOUBAI", "val1" => "Member of Parliament", "val2" => "Kingdom of Morocco", "val3" => "WHITE"),
array("val0" => "H.E. Mr. Mohammed Youssef ALAOUI", "val1" => "Member of Parliament", "val2" => "Kingdom of Morocco", "val3" => "WHITE"),
array("val0" => "H.E. Mr. Noureddine SOULAIK", "val1" => "Member of Parliament", "val2" => "Kingdom of Morocco", "val3" => "WHITE"),
array("val0" => "H.E. Mr. Lahcen NAZIHI", "val1" => "Member of Parliament", "val2" => "Kingdom of Morocco", "val3" => "WHITE"),
array("val0" => "H.E. Mr. Abdelkrim CHAHID", "val1" => "Member of Parliament", "val2" => "Kingdom of Morocco", "val3" => "WHITE"),
array("val0" => "H.E. Mr. Moulay Abderrahmane BLILA", "val1" => "Member of Parliament", "val2" => "Kingdom of Morocco", "val3" => "WHITE"),
array("val0" => "H.E. Ms. Neila TAZI", "val1" => "Member of Parliament", "val2" => "Kingdom of Morocco", "val3" => "WHITE"),
array("val0" => "H.E. Mr. Moulay Messaoud AGNAOU", "val1" => "Member of Parliament", "val2" => "Kingdom of Morocco", "val3" => "WHITE"),
array("val0" => "H.E. Mr. Abderrahmane DRISSI", "val1" => "Member of Parliament", "val2" => "Kingdom of Morocco", "val3" => "WHITE"),
array("val0" => "H.E. Mr. Othmane TARMOUNIA", "val1" => "Member of Parliament", "val2" => "Kingdom of Morocco", "val3" => "WHITE"),
array("val0" => "H.E. Ms. Nyonblee Karnga-Lawrence", "val1" => "President Pro-Tempore of the Senate", "val2" => "Republic of Liberia", "val3" => "RED"),
array("val0" => "H.E. Mr. Rolando González Patricio", "val1" => "President of PARLATINO", "val2" => "PARLATINO", "val3" => "RED"),
array("val0" => "Ms. Norma Calero", "val1" => "PARLATINO Staff Member", "val2" => "PARLATINO", "val3" => "GREEN"),
array("val0" => "H.E.Ms. Nyonblee Karnga-Lawrence", "val1" => "President Pro-Tempore of the Senate", "val2" => "Republic of Liberia", "val3" => "RED"),
array("val0" => "Hon. Abraham Darius Dillon ", "val1" => "Member of Parliament", "val2" => "Republic of Liberia", "val3" => "WHITE"),
array("val0" => "Hon. Jonathan Boye Charles Sogbie ", "val1" => "Member of Parliament", "val2" => "Republic of Liberia", "val3" => "WHITE"),
array("val0" => "Mr. Siafa Jallah ", "val1" => "Staff delegation", "val2" => "Republic of Liberia", "val3" => "GREEN")
);
//////
foreach ($lists as $list) {
// if ($list["1"] != "") {
$user = new Participant();
$user->setName($list["val0"]);
$user->setTitle($list["val1"]);
$user->setOrganization($list["val2"]);
$entityManager->persist($user);
$entityManager->flush();
$equipe = $entityManager->getRepository(Equipe::class)->findOneByBadge($list["val3"]);
$ref = 'AP02P' . sprintf("%'.05d", $user->getId());
$user->setReference($ref);
$equipe->addParticipant($user);
$entityManager->persist($equipe);
$entityManager->persist($user);
$entityManager->flush();
// $this->addFlash('success', 'Compte VISITOR crée avec succés');
}
return $this->redirectToRoute('admin_show_badge_orgverso', [
'id' => $user->getId(),
]);
$equipes = $entityManager->getRepository(Equipe::class)->findAll();
return $this->render('account/addVisitor.html.twig', [
'equipes' => $equipes,
]);
}
#[Route('/add-visitors', methods: ['GET', 'POST'], name: 'admin_add_visitors'), IsGranted('ROLE_ADMIN')]
public function addVisitors(Request $request, UserRepository $users, EntityManagerInterface $entityManager, UserPasswordHasherInterface $passwordHasher): Response {
if ($request->isMethod('post')) {
for ($i = 1; $i <= $request->get('nbVisitors'); $i++) {
// create the user and hash its password
$user = new User();
$user->setEnabled('1');
if ($request->get('typeaccess') == "VIP") {
$role = ['ROLE_VISITOR', 'ROLE_USER'];
$link = 'admin_list_participants';
} else {
$role = ['ROLE_COLABORATEUR', 'ROLE_USER'];
$link = 'admin_list_colaborateurs';
}
$user->setRoles($role);
$hashedPassword = $passwordHasher->hashPassword($user, "123456789");
$user->setPassword($hashedPassword);
$entityManager->persist($user);
$entityManager->flush();
$user->setFirstname("VISITOR");
$user->setLastname($user->getId());
$ref = 'AV' . sprintf("%'.05d", $user->getId());
$user->setUsername($ref . '@actech.ma');
$user->setEmail($ref . '@actech.ma');
$user->setReference($ref);
foreach ($request->get('permissions') as $entryId) {
$entry = $entityManager->getRepository(Entry::class)->find($entryId);
$user->addPermission($entry);
$entityManager->persist($entry);
}
$entityManager->persist($user);
$entityManager->flush();
}
$this->addFlash('success', $request->get('nbVisitors') . ' Comptes ' . $request->get('typeaccess') . ' crée avec succéss');
return $this->redirectToRoute($link);
}
$entries = $entityManager->getRepository(Entry::class)->findAll();
return $this->render('account/addVisitors.html.twig', [
'entries' => $entries,
]);
}
#[Route('/{id}/edit-organisateur', methods: ['GET', 'POST'], name: 'admin_edit_organisateur'), IsGranted('ROLE_ADMIN')]
public function editOrganisateur(Request $request, $id, UserRepository $users, EntityManagerInterface $entityManager, UserPasswordHasherInterface $passwordHasher): Response {
$user = $entityManager->getRepository(User::class)->find($id);
if ($request->isMethod('post')) {
// create the user and hash its password
$user->setFirstname($request->get('firstname'));
$user->setLastname($request->get('lastname'));
$user->setPostOccupied($request->get('postOccupied'));
$user->setCin($request->get('cin'));
$user->setComment($request->get('comment'));
if ($request->get('enabled') == "1") {
$enabled = '1';
} else {
$enabled = '0';
}
$ref = 'AO' . sprintf("%'.05d", $id);
// $user->setReference($ref);
$user->setEnabled($enabled);
if ($request->get('basic-default-password')) {
$hashedPassword = $passwordHasher->hashPassword($user, $request->get('basic-default-password'));
$user->setPassword($hashedPassword);
}
if ($request->files->get('image')) {
$file = $request->files->get('image');
$user->setImage("uploads/profile/" . $user->getId() . "/" . $file->getClientOriginalName());
$file->move("uploads/profile/" . $user->getId() . "/", $file->getClientOriginalName());
}
$entry = $entityManager->getRepository(Entry::class)->find($request->get('entry'));
$entry->addAgent($user);
if ($request->get('permissions')) {
foreach ($request->get('permissions') as $entryId) {
$entry = $entityManager->getRepository(Entry::class)->find($entryId);
$user->addPermission($entry);
$entityManager->persist($entry);
}
}
foreach ($user->getPermissions() as $entry) {
if (!in_array($entry->getId(), $request->get('permissions'))) {
$entry->removeVisitor($user);
$entityManager->persist($entry);
}
}
$entityManager->persist($entry);
$entityManager->flush();
$this->addFlash('success', 'Le compte #' . $user->getReference() . ' a été modifier avec succées');
return $this->redirectToRoute('admin_list_agents');
}
$entries = $entityManager->getRepository(Entry::class)->findAll();
$equipes = $entityManager->getRepository(Equipe::class)->findAll();
return $this->render('account/editOrganisateur.html.twig', [
'entries' => $entries,
'equipes' => $equipes,
'user' => $user,
]);
}
#[Route('/{id}/edit-visitor', methods: ['GET', 'POST'], name: 'admin_edit_visitor'), IsGranted('ROLE_ADMIN')]
public function editVisitor(Request $request, $id, ParticipantRepository $users, EntityManagerInterface $entityManager): Response {
$user = $entityManager->getRepository(Participant::class)->find($id);
if ($request->isMethod('post')) {
// $user->setReference($ref);
$entityManager->persist($user);
$entityManager->flush();
$entries = $entityManager->getRepository(Entry::class)->findAll();
$this->addFlash('success', 'Le compte #' . $user->getReference() . ' a été modifier avec succéss');
return $this->redirectToRoute($link);
}
$entries = $entityManager->getRepository(Entry::class)->findAll();
return $this->render('account/editVisitor.html.twig', [
'entries' => $entries,
'user' => $user
]);
}
#[Route('/agents-list', name: 'admin_list_agents'), IsGranted('ROLE_ADMIN')]
public function listAgents(Request $request, UserRepository $users): Response {
$accounts = $users->findAgents();
$invites = count($users->findInvites());
$colaborateurs = count($users->findColaborateurs());
$admins = count($users->findAdmins());
$agents = count($users->findAgents());
return $this->render('list/agentsList.html.twig', [
'users' => $accounts,
'invites' => $invites,
'colaborateurs' => $colaborateurs,
'admins' => $admins,
'agents' => $agents,
]);
}
#[Route('/eq-{id}/agents-list-by-equipe', name: 'admin_list_agents_byequipe'), IsGranted('ROLE_ADMIN')]
public function listAgentsByEquipe(Request $request, UserRepository $users, $id, EntityManagerInterface $entityManager): Response {
$equipe = $entityManager->getRepository(Equipe::class)->find($id);
$accounts = $users->findByEquipe($id);
return $this->render('list/agentsListByEquipe.html.twig', [
'users' => $accounts,
'equipe' => $equipe,
]);
}
#[Route('/participant-list', name: 'admin_list_participants'), IsGranted('ROLE_ADMIN')]
public function listInvites(Request $request, ParticipantRepository $participants, UserRepository $users): Response {
$accounts = $participants->findAll();
$invites = count($participants->findAll());
$colaborateurs = count($users->findColaborateurs());
$admins = count($users->findAdmins());
$agents = count($users->findAgents());
return $this->render('list/participantsList.html.twig', [
'users' => $accounts,
'invites' => $invites,
'colaborateurs' => $colaborateurs,
'admins' => $admins,
'agents' => $agents,
]);
}
#[Route('/colaborateurs-list', name: 'admin_list_colaborateurs'), IsGranted('ROLE_ADMIN')]
public function listColaborateurs(Request $request, UserRepository $users): Response {
$accounts = $users->findColaborateurs();
$invites = count($users->findInvites());
$colaborateurs = count($users->findColaborateurs());
$admins = count($users->findAdmins());
$agents = count($users->findAgents());
return $this->render('list/vvipsList.html.twig', [
'users' => $accounts,
'invites' => $invites,
'colaborateurs' => $colaborateurs,
'admins' => $admins,
'agents' => $agents,
]);
}
#[Route('/admins-list', name: 'admin_list_admins'), IsGranted('ROLE_ADMIN')]
public function listAdmins(Request $request, UserRepository $users): Response {
$accounts = $users->findAdmins();
$invites = count($users->findInvites());
$colaborateurs = count($users->findColaborateurs());
$admins = count($users->findAdmins());
$agents = count($users->findAgents());
return $this->render('list/adminsList.html.twig', [
'users' => $accounts,
'invites' => $invites,
'colaborateurs' => $colaborateurs,
'admins' => $admins,
'agents' => $agents,
]);
}
}