Files
afup/sources/AppBundle/Controller/AdminController.php
Jean-Baptiste Nahan ab63791ce1 correction de la configuration (#767)
* correction de la configuration
* renommage des services pour preparer SF4
* remplacement des noms de service par les noms de classe
* ajout commentaire pour les services n'ayant pas de nom sous forme de nom de classe
2019-04-03 23:13:27 +02:00

81 lines
2.7 KiB
PHP

<?php
namespace AppBundle\Controller;
use Afup\Site\Association\Personnes_Physiques;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\HttpFoundation\Request;
class AdminController extends Controller
{
public function loginAction(Request $request)
{
$authenticationUtils = $this->get('security.authentication_utils');
// get the login error if there is one
$error = $authenticationUtils->getLastAuthenticationError();
// last username entered by the user
$lastUsername = $authenticationUtils->getLastUsername();
$actualUrl = $request->getSchemeAndHttpHost() . $request->getRequestUri();
$targetPath = null;
if (
$request->query->has('target')
and $targetUri = $request->query->get('target')
and $targetUri !== $actualUrl
and parse_url($targetUri, PHP_URL_HOST) === null // Ensure there is no domain here
) {
$targetPath = $targetUri;
}
return $this->render('admin/login.html.twig', [
'last_username' => $lastUsername,
'error' => $error,
'target_path' => $targetPath,
'title' => "Connexion",
'page' => 'connexion',
'class' => 'panel-page'
]);
}
public function lostPasswordAction(Request $request)
{
$form = $this->createFormBuilder()
->add('email', EmailType::class)
->add('submit', SubmitType::class, ['label' => 'Demander un nouveau mot de passe'])
->getForm()
;
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
/**
* @var $personnesPhysiques Personnes_Physiques
*/
$personnesPhysiques = $this->get(\AppBundle\LegacyModelFactory::class)->createObject(Personnes_Physiques::class);
$personnesPhysiques->envoyerMotDePasse($form->getData()['email']);
$this->addFlash('notice', 'Votre demande a été prise en compte. Si un compte correspond à cet email vous recevez un nouveau mot de passe rapidement.');
}
return $this->render('admin/lost_password.html.twig',
[
'form' => $form->createView(),
'title' => 'Mot de passe perdu',
'page' => 'motdepasse_perdu',
'class' => 'panel-page'
]
);
}
public function getMenuAction()
{
$pages = $this->getParameter('app.pages_backoffice');
return $this->render(':admin:menu.html.twig', ['pages' => $pages]);
}
}