✨ feat(AvatarController): Génère un avatar SVG pour l'utilisateur authentifié.
♻️ refactor(DashboardController): Simplifie la méthode artemis. 🔒 fix(ProfilsController): Gère l'upload d'avatar et le changement de mot de passe. 🗑️ chore(RevendeurController): Améliore la gestion des revendeurs et l'ajout. ⚙️ refactor(AccountController): Améliore la gestion des comptes administrateurs.
This commit is contained in:
@@ -9,24 +9,28 @@ use Symfony\Component\Routing\Attribute\Route;
|
||||
|
||||
class AvatarController extends AbstractController
|
||||
{
|
||||
|
||||
#[Route(path: '/artemis/lockdown',name: 'artemis_lockdown',methods: ['GET', 'POST'])]
|
||||
#[Route('/artemis/lockdown', name: 'artemis_lockdown', methods: ['GET', 'POST'])]
|
||||
public function artemisLockdown(): Response
|
||||
{
|
||||
return $this->json([
|
||||
'lockdown' => false
|
||||
]);
|
||||
return $this->json(['lockdown' => false]);
|
||||
}
|
||||
|
||||
#[Route(path: '/artemis/avatar',name: 'artemis_avatar',methods: ['GET', 'POST'])]
|
||||
#[Route('/artemis/avatar', name: 'artemis_avatar', methods: ['GET', 'POST'])]
|
||||
public function artemis(): Response
|
||||
{
|
||||
$avatar = new InitialAvatar();
|
||||
$avatar->name($this->getUser()->getUserIdentifier());
|
||||
$image = $avatar->generateSvg();
|
||||
return new Response($image->toXMLString(),200,[
|
||||
'Content-Type' => 'image/svg+xml'
|
||||
]);
|
||||
$user = $this->getUser();
|
||||
if (!$user) {
|
||||
throw $this->createAccessDeniedException('Utilisateur non authentifié.');
|
||||
}
|
||||
|
||||
$avatar = new InitialAvatar();
|
||||
$avatar->name($user->getUserIdentifier());
|
||||
$image = $avatar->generateSvg();
|
||||
|
||||
return new Response(
|
||||
$image->toXMLString(),
|
||||
Response::HTTP_OK,
|
||||
['Content-Type' => 'image/svg+xml']
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,14 +5,12 @@ namespace App\Controller\Artemis;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Symfony\Component\Routing\Attribute\Route;
|
||||
use Symfony\Component\Security\Http\Authentication\AuthenticationUtils;
|
||||
|
||||
class DashboardController extends AbstractController
|
||||
{
|
||||
#[Route(path: '/artemis',name: 'artemis_dashboard',methods: ['GET', 'POST'])]
|
||||
public function artemis(AuthenticationUtils $authenticationUtils): Response
|
||||
#[Route('/artemis', name: 'artemis_dashboard', methods: ['GET', 'POST'])]
|
||||
public function artemis(): Response
|
||||
{
|
||||
return $this->render('artemis/dashboard.twig');
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,39 +7,57 @@ 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\Attribute\Route;
|
||||
use Symfony\Component\Routing\Annotation\Route;
|
||||
use Symfony\Component\Security\Core\Role\RoleHierarchyInterface;
|
||||
|
||||
class ProfilsController extends AbstractController
|
||||
{
|
||||
#[Route(path: '/artemis/profils',name: 'artemis_profils',methods: ['GET', 'POST'])]
|
||||
public function artemis(EntityManagerInterface $entityManager,UserPasswordHasherInterface $userPasswordHasher,RoleHierarchyInterface $hierarchy,Request $request): Response
|
||||
{
|
||||
if($request->isMethod('POST')) {
|
||||
if($request->files->has('avatar_upload')) {
|
||||
$file = $request->files->get('avatar_upload');
|
||||
$user = $this->getUser();
|
||||
#[Route('/artemis/profils', name: 'artemis_profils', methods: ['GET', 'POST'])]
|
||||
public function artemis(
|
||||
EntityManagerInterface $entityManager,
|
||||
UserPasswordHasherInterface $userPasswordHasher,
|
||||
RoleHierarchyInterface $hierarchy,
|
||||
Request $request
|
||||
): Response {
|
||||
$user = $this->getUser();
|
||||
if (!$user) {
|
||||
throw $this->createAccessDeniedException();
|
||||
}
|
||||
|
||||
if ($request->isMethod('POST')) {
|
||||
// Gestion upload avatar
|
||||
$file = $request->files->get('avatar_upload');
|
||||
if ($file !== null) {
|
||||
$user->setAvatar($file);
|
||||
$entityManager->persist($user);
|
||||
$entityManager->flush();
|
||||
$this->addFlash("success","Mise à jour effectuée");
|
||||
|
||||
$this->addFlash('success', 'Mise à jour effectuée');
|
||||
return $this->redirectToRoute('artemis_profils');
|
||||
}
|
||||
if($request->request->has('new_password') && $request->request->has('confirm_new_password')) {
|
||||
if($request->request->get('new_password') == $request->request->get('confirm_new_password')) {
|
||||
$user = $this->getUser();
|
||||
$user->setPassword($userPasswordHasher->hashPassword($user,$request->request->get('new_password')));
|
||||
|
||||
// Gestion changement de mot de passe
|
||||
$newPassword = $request->request->get('new_password');
|
||||
$confirmPassword = $request->request->get('confirm_new_password');
|
||||
|
||||
if ($newPassword && $confirmPassword) {
|
||||
if ($newPassword === $confirmPassword) {
|
||||
$hashedPassword = $userPasswordHasher->hashPassword($user, $newPassword);
|
||||
$user->setPassword($hashedPassword);
|
||||
$entityManager->persist($user);
|
||||
$entityManager->flush();
|
||||
$this->addFlash("success","Mise à jour effectuée");
|
||||
|
||||
$this->addFlash('success', 'Mise à jour effectuée');
|
||||
return $this->redirectToRoute('artemis_profils');
|
||||
} else {
|
||||
$this->addFlash('danger', 'Les mots de passe ne correspondent pas.');
|
||||
}
|
||||
}
|
||||
}
|
||||
return $this->render('artemis/profils.twig',[
|
||||
'current' => $request->get('current','main'),
|
||||
'roles' => $hierarchy->getReachableRoleNames($this->getUser()->getRoles()),
|
||||
]);
|
||||
|
||||
return $this->render('artemis/profils.twig', [
|
||||
'current' => $request->query->get('current', 'main'),
|
||||
'roles' => $hierarchy->getReachableRoleNames($user->getRoles()),
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,7 +7,6 @@ use App\Form\Artemis\Revendeur\RevendeurType;
|
||||
use App\Service\Revendeur\RevendeurService;
|
||||
use App\Service\Revendeur\SendLinkEvent;
|
||||
use Cocur\Slugify\Slugify;
|
||||
use Doctrine\ORM\EntityManager;
|
||||
use Doctrine\ORM\EntityManagerInterface;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
|
||||
@@ -17,46 +16,80 @@ use Symfony\Component\Routing\Attribute\Route;
|
||||
|
||||
class RevendeurController extends AbstractController
|
||||
{
|
||||
#[Route(path: '/artemis/revendeur',name: 'artemis_revendeur')]
|
||||
public function revendeur(EntityManagerInterface $entityManager,Request $request,EventDispatcherInterface $eventDispatcher,RevendeurService $revendeurService): Response
|
||||
{
|
||||
if($request->query->has('delete')) {
|
||||
#[Route('/artemis/revendeur', name: 'artemis_revendeur')]
|
||||
public function revendeur(
|
||||
EntityManagerInterface $entityManager,
|
||||
Request $request,
|
||||
EventDispatcherInterface $eventDispatcher,
|
||||
RevendeurService $revendeurService
|
||||
): Response {
|
||||
if ($request->query->has('delete')) {
|
||||
$revendeur = $revendeurService->get($request->query->get('id'));
|
||||
$entityManager->remove($revendeur);
|
||||
$entityManager->flush();
|
||||
$this->addFlash("success","Revendeur supprimer");
|
||||
return $this->redirectToRoute('artemis_revendeur');
|
||||
}
|
||||
if($request->query->has('sendLink')) {
|
||||
$revendeur = $revendeurService->get($request->query->get('id'));
|
||||
$eventSendLink = new SendLinkEvent($revendeur);
|
||||
$eventDispatcher->dispatch($eventSendLink);
|
||||
$this->addFlash("success","Le lien à été envoyée");
|
||||
if ($revendeur instanceof Revendeur) {
|
||||
$entityManager->remove($revendeur);
|
||||
$entityManager->flush();
|
||||
$this->addFlash('success', 'Revendeur supprimé avec succès.');
|
||||
} else {
|
||||
$this->addFlash('error', 'Revendeur introuvable.');
|
||||
}
|
||||
return $this->redirectToRoute('artemis_revendeur');
|
||||
}
|
||||
|
||||
return $this->render('artemis/revendeur/revendeur.twig', [
|
||||
if ($request->query->has('sendLink')) {
|
||||
$revendeur = $revendeurService->get($request->query->get('id'));
|
||||
if ($revendeur instanceof Revendeur) {
|
||||
$eventSendLink = new SendLinkEvent($revendeur);
|
||||
$eventDispatcher->dispatch($eventSendLink);
|
||||
$this->addFlash('success', 'Le lien a été envoyé.');
|
||||
} else {
|
||||
$this->addFlash('error', 'Revendeur introuvable.');
|
||||
}
|
||||
return $this->redirectToRoute('artemis_revendeur');
|
||||
}
|
||||
|
||||
return $this->render('artemis/revendeur/revendeur.twig', [
|
||||
'revendeurLists' => $revendeurService->list(),
|
||||
]);
|
||||
|
||||
}
|
||||
#[Route(path: '/artemis/revendeur/{id}',name: 'artemis_revendeur_view')]
|
||||
public function revendeurVideo(EntityManagerInterface $entityManager,Request $request,EventDispatcherInterface $eventDispatcher,RevendeurService $revendeurService): Response
|
||||
{
|
||||
|
||||
#[Route('/artemis/revendeur/{id}', name: 'artemis_revendeur_view')]
|
||||
public function revendeurVideo(
|
||||
EntityManagerInterface $entityManager,
|
||||
Request $request,
|
||||
EventDispatcherInterface $eventDispatcher,
|
||||
RevendeurService $revendeurService,
|
||||
?Revendeur $revendeur
|
||||
): Response {
|
||||
if (!$revendeur) {
|
||||
$this->addFlash('error', 'Revendeur introuvable.');
|
||||
return $this->redirectToRoute('artemis_revendeur');
|
||||
}
|
||||
|
||||
// Votre logique ici (affichage, modification, etc.)
|
||||
|
||||
return $this->render('artemis/revendeur/revendeur_view.twig', [
|
||||
'revendeur' => $revendeur,
|
||||
]);
|
||||
}
|
||||
#[Route(path: '/artemis/revendeur/add',name: 'artemis_revendeur_add')]
|
||||
public function revendeurAdd(Request $request,RevendeurService $revendeurService): Response
|
||||
{
|
||||
$r = new Revendeur();
|
||||
$form = $this->createForm(RevendeurType::class,$r);
|
||||
|
||||
#[Route('/artemis/revendeur/add', name: 'artemis_revendeur_add')]
|
||||
public function revendeurAdd(
|
||||
Request $request,
|
||||
RevendeurService $revendeurService
|
||||
): Response {
|
||||
$revendeur = new Revendeur();
|
||||
$form = $this->createForm(RevendeurType::class, $revendeur);
|
||||
$form->handleRequest($request);
|
||||
|
||||
if ($form->isSubmitted() && $form->isValid()) {
|
||||
$slugify = new Slugify();
|
||||
$r->setCode($slugify->slugify($r->getRaisonSocial()));
|
||||
$revendeurService->create($r);
|
||||
$revendeur->setCode($slugify->slugify($revendeur->getRaisonSocial()));
|
||||
$revendeurService->create($revendeur);
|
||||
$this->addFlash('success', 'Revendeur créé avec succès.');
|
||||
return $this->redirectToRoute('artemis_revendeur');
|
||||
}
|
||||
return $this->render('artemis/revendeur/revendeur_add.twig', [
|
||||
|
||||
return $this->render('artemis/revendeur/revendeur_add.twig', [
|
||||
'form' => $form->createView(),
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -12,7 +12,6 @@ use App\Repository\AccountRepository;
|
||||
use App\Service\Generator\TempPasswordGenerator;
|
||||
use App\Service\Logger\LoggerService;
|
||||
use App\Service\Mailer\Event\CreatedAdminEvent;
|
||||
use AWS\CRT\Log;
|
||||
use Doctrine\ORM\EntityManagerInterface;
|
||||
use Knp\Component\Pager\PaginatorInterface;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||
@@ -25,115 +24,141 @@ use Symfony\Component\Uid\Uuid;
|
||||
|
||||
class AccountController extends AbstractController
|
||||
{
|
||||
#[Route(path: '/artemis/settings/accountAdmin',name: 'artemis_settings_accountAdmin',methods: ['GET', 'POST'])]
|
||||
public function accountAdmin(LoggerService $loggerService,AccountRepository $accountRepository,AccountLoginRegisterRepository $accountLoginRegisterRepository): Response
|
||||
{
|
||||
#[Route('/artemis/settings/accountAdmin', name: 'artemis_settings_accountAdmin', methods: ['GET', 'POST'])]
|
||||
public function accountAdmin(
|
||||
LoggerService $loggerService,
|
||||
AccountRepository $accountRepository,
|
||||
AccountLoginRegisterRepository $accountLoginRegisterRepository
|
||||
): Response {
|
||||
$admins = [];
|
||||
|
||||
foreach ($accountRepository->findAll() as $account) {
|
||||
if(in_array("ROLE_ADMIN",$account->getRoles()) || in_array("ROLE_ROOT",$account->getRoles())) {
|
||||
if (in_array('ROLE_ADMIN', $account->getRoles(), true) || in_array('ROLE_ROOT', $account->getRoles(), true)) {
|
||||
$lastLogin = $accountLoginRegisterRepository->lastLogin($account);
|
||||
if($lastLogin instanceof AccountLoginRegister) {
|
||||
$account->lastLoginAt = $lastLogin[0];
|
||||
if ($lastLogin instanceof AccountLoginRegister || (is_array($lastLogin) && isset($lastLogin[0]))) {
|
||||
$account->lastLoginAt = is_array($lastLogin) ? $lastLogin[0] : $lastLogin;
|
||||
}
|
||||
$admins[] = $account;
|
||||
}
|
||||
}
|
||||
$loggerService->log("ACCESS","Affichage list administrateur",$this->getUser());
|
||||
|
||||
return $this->render('artemis/settings/account/admin.twig',[
|
||||
$loggerService->log('ACCESS', 'Affichage liste administrateur', $this->getUser());
|
||||
|
||||
return $this->render('artemis/settings/account/admin.twig', [
|
||||
'admins' => $admins,
|
||||
]);
|
||||
|
||||
}
|
||||
|
||||
#[Route(path: '/artemis/settings/accountAdmin/add',name: 'artemis_settings_accountAdmin_add',methods: ['GET', 'POST'])]
|
||||
public function accountAdminAdd(LoggerService $loggerService,EntityManagerInterface $entityManager,EventDispatcherInterface $eventDispatcher,Request $request,AccountRepository $accountRepository,UserPasswordHasherInterface $userPasswordHasher): Response
|
||||
{
|
||||
#[Route('/artemis/settings/accountAdmin/add', name: 'artemis_settings_accountAdmin_add', methods: ['GET', 'POST'])]
|
||||
public function accountAdminAdd(
|
||||
LoggerService $loggerService,
|
||||
EntityManagerInterface $entityManager,
|
||||
EventDispatcherInterface $eventDispatcher,
|
||||
Request $request,
|
||||
AccountRepository $accountRepository,
|
||||
UserPasswordHasherInterface $userPasswordHasher
|
||||
): Response {
|
||||
$account = new Account();
|
||||
$form = $this->createForm(NewAdminType::class,$account);
|
||||
$form = $this->createForm(NewAdminType::class, $account);
|
||||
$form->handleRequest($request);
|
||||
if($form->isSubmitted() && $form->isSubmitted()) {
|
||||
$accountExit = $accountRepository->findOneBy(['username'=>$account->getUsername()]);
|
||||
if($accountExit instanceof Account) {
|
||||
$this->addFlash("error","Nom utilisateur déja utilisée");
|
||||
return $this->redirectToRoute('artemis_settings_accountAdmin_add');
|
||||
}
|
||||
$email = $account->getEmail();
|
||||
if(!str_contains($email,"@siteconseil.fr")){
|
||||
$this->addFlash("error","L'adresse email doit etre une email siteconseil.fr");
|
||||
|
||||
if ($form->isSubmitted() && $form->isValid()) {
|
||||
$existingAccount = $accountRepository->findOneBy(['username' => $account->getUsername()]);
|
||||
if ($existingAccount) {
|
||||
$this->addFlash('error', "Nom d'utilisateur déjà utilisé.");
|
||||
return $this->redirectToRoute('artemis_settings_accountAdmin_add');
|
||||
}
|
||||
|
||||
$accountExitEmail = $accountRepository->findOneBy(['email'=>$account->getEmail()]);
|
||||
if($accountExitEmail instanceof Account) {
|
||||
$this->addFlash("error","Email déja utilisée");
|
||||
$email = $account->getEmail();
|
||||
if (str_contains($email, '@siteconseil.fr') === false) {
|
||||
$this->addFlash('error', "L'adresse email doit être une adresse siteconseil.fr");
|
||||
return $this->redirectToRoute('artemis_settings_accountAdmin_add');
|
||||
}
|
||||
|
||||
$existingEmail = $accountRepository->findOneBy(['email' => $email]);
|
||||
if ($existingEmail) {
|
||||
$this->addFlash('error', "Email déjà utilisé.");
|
||||
return $this->redirectToRoute('artemis_settings_accountAdmin_add');
|
||||
}
|
||||
|
||||
$password = TempPasswordGenerator::generate();
|
||||
|
||||
$account->setIsActif(true);
|
||||
$account->setRoles(['ROLE_ADMIN']);
|
||||
$account->setUuid(Uuid::v4());
|
||||
$account->setPassword($userPasswordHasher->hashPassword($account,$password));
|
||||
$account->setPassword($userPasswordHasher->hashPassword($account, $password));
|
||||
$account->setIsFirstLogin(true);
|
||||
$account->setUpdateAt(new \DateTimeImmutable());
|
||||
|
||||
$entityManager->persist($account);
|
||||
$entityManager->flush();
|
||||
|
||||
$event = new CreatedAdminEvent($account,$password);
|
||||
$event = new CreatedAdminEvent($account, $password);
|
||||
$eventDispatcher->dispatch($event);
|
||||
|
||||
$loggerService->log("CREATE","Création d'un compte administrateur - ".$account->getUsername()." - ".$account->getEmail(),$this->getUser());
|
||||
$this->addFlash("error","Création du compte effectuée");
|
||||
$loggerService->log('CREATE', "Création d'un compte administrateur - " . $account->getUsername() . " - " . $account->getEmail(), $this->getUser());
|
||||
$this->addFlash('success', "Création du compte effectuée");
|
||||
return $this->redirectToRoute('artemis_settings_accountAdmin');
|
||||
}
|
||||
return $this->render('artemis/settings/account/add.twig',[
|
||||
'form' => $form->createView()
|
||||
|
||||
return $this->render('artemis/settings/account/add.twig', [
|
||||
'form' => $form->createView(),
|
||||
]);
|
||||
}
|
||||
|
||||
#[Route(path: '/artemis/settings/accountAdmin/{id}',name: 'artemis_settings_accountAdmin_view',methods: ['GET', 'POST'])]
|
||||
public function accountAdminView(PaginatorInterface $paginator,LoggerService $loggerService,?Account $account,UserPasswordHasherInterface $userPasswordHasher,EntityManagerInterface $entityManager,Request $request,AccountLoginRegisterRepository $accountLoginRegisterRepository): Response
|
||||
{
|
||||
if(!$account instanceof Account)
|
||||
#[Route('/artemis/settings/accountAdmin/{id}', name: 'artemis_settings_accountAdmin_view', methods: ['GET', 'POST'])]
|
||||
public function accountAdminView(
|
||||
PaginatorInterface $paginator,
|
||||
LoggerService $loggerService,
|
||||
?Account $account,
|
||||
UserPasswordHasherInterface $userPasswordHasher,
|
||||
EntityManagerInterface $entityManager,
|
||||
Request $request,
|
||||
AccountLoginRegisterRepository $accountLoginRegisterRepository
|
||||
): Response {
|
||||
if (!$account instanceof Account) {
|
||||
return $this->redirectToRoute('artemis_settings_accountAdmin');
|
||||
}
|
||||
|
||||
$current = $request->get('type','main');
|
||||
$loggerService->log("ACCESS","Affichage Compte Administrateur - ".$account->getUsername()." - ".$current,$this->getUser());
|
||||
$current = $request->query->get('type', 'main');
|
||||
$loggerService->log('ACCESS', "Affichage Compte Administrateur - " . $account->getUsername() . " - " . $current, $this->getUser());
|
||||
|
||||
$form = $this->createForm(AdminFormType::class,$account);
|
||||
$form = $this->createForm(AdminFormType::class, $account);
|
||||
$form->handleRequest($request);
|
||||
if($form->isSubmitted() && $form->isValid()) {
|
||||
if ($form->isSubmitted() && $form->isValid()) {
|
||||
$entityManager->persist($account);
|
||||
$entityManager->flush();
|
||||
$this->addFlash("success","Mise à jour effectuée");
|
||||
$loggerService->log("UPDATE","Mise à jour du compte Administrateur - ".$account->getUsername(),$this->getUser());
|
||||
$this->addFlash('success', 'Mise à jour effectuée');
|
||||
$loggerService->log('UPDATE', "Mise à jour du compte Administrateur - " . $account->getUsername(), $this->getUser());
|
||||
|
||||
return $this->redirectToRoute('artemis_settings_accountAdmin_view',['id'=>$account->getId()]);
|
||||
return $this->redirectToRoute('artemis_settings_accountAdmin_view', ['id' => $account->getId()]);
|
||||
}
|
||||
|
||||
$lastLogin = $accountLoginRegisterRepository->lastLogin($account);
|
||||
$account->lastLoginAt = $lastLogin[0] ?? new AccountLoginRegister();
|
||||
$account->lastLoginAt = $lastLogin[0] ?? null;
|
||||
|
||||
$formPassword = $this->createForm(AdminPasswordType::class);
|
||||
$formPassword->handleRequest($request);
|
||||
if($formPassword->isSubmitted() && $formPassword->isValid()) {
|
||||
if ($formPassword->isSubmitted() && $formPassword->isValid()) {
|
||||
$password = $formPassword->get('password')->getData();
|
||||
$account->setPassword($userPasswordHasher->hashPassword($account,$password));
|
||||
$account->setPassword($userPasswordHasher->hashPassword($account, $password));
|
||||
$entityManager->persist($account);
|
||||
$entityManager->flush();
|
||||
$this->addFlash("success","Mise à jour effectuée");
|
||||
$loggerService->log("UPDATE","Mise à jour du mot de passe du compte Administrateur - ".$account->getUsername(),$this->getUser());
|
||||
return $this->redirectToRoute('artemis_settings_accountAdmin_view',['id'=>$account->getId()]);
|
||||
$this->addFlash('success', 'Mise à jour effectuée');
|
||||
$loggerService->log('UPDATE', "Mise à jour du mot de passe du compte Administrateur - " . $account->getUsername(), $this->getUser());
|
||||
|
||||
return $this->redirectToRoute('artemis_settings_accountAdmin_view', ['id' => $account->getId()]);
|
||||
}
|
||||
|
||||
$logs = $loggerService->load($account);
|
||||
$logs = $loggerService->load($account);
|
||||
|
||||
return $this->render('artemis/settings/account/view.twig',[
|
||||
return $this->render('artemis/settings/account/view.twig', [
|
||||
'account' => $account,
|
||||
'formAccount' => $form->createView(),
|
||||
'formPassword' => $formPassword->createView(),
|
||||
'current' => $current,
|
||||
'logs' => $accountLoginRegisterRepository->findBy(['account'=>$account],['id'=>'asc']),
|
||||
'actions' => $paginator->paginate($logs,$request->get('page',1),20)
|
||||
'logs' => $accountLoginRegisterRepository->findBy(['account' => $account], ['id' => 'asc']),
|
||||
'actions' => $paginator->paginate($logs, $request->query->getInt('page', 1), 20),
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user