Sign-In : use symfony form component (with Bootstrap)
parent
fc23008e57
commit
fc96e0edff
@ -0,0 +1,11 @@
|
||||
form {
|
||||
text-align: left;
|
||||
|
||||
label {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.form-buttons {
|
||||
text-align: center;
|
||||
}
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
# As of Symfony 5.1, deprecations are logged in the dedicated "deprecation" channel when it exists
|
||||
#monolog:
|
||||
# channels: [deprecation]
|
||||
# handlers:
|
||||
# deprecation:
|
||||
# type: stream
|
||||
# channels: [deprecation]
|
||||
# path: "%kernel.logs_dir%/%kernel.environment%.deprecations.log"
|
@ -1,2 +0,0 @@
|
||||
#webpack_encore:
|
||||
# strict_mode: false
|
@ -1,2 +1,3 @@
|
||||
twig:
|
||||
default_path: '%kernel.project_dir%/templates'
|
||||
form_themes: ['bootstrap_4_horizontal_layout.html.twig']
|
@ -1,3 +1,8 @@
|
||||
#index:
|
||||
# path: /
|
||||
# controller: App\Controller\DefaultController::index
|
||||
# Redirige l'URL racine vers celle de la langue par défaut
|
||||
index:
|
||||
path: /
|
||||
controller: Symfony\Bundle\FrameworkBundle\Controller\RedirectController
|
||||
defaults:
|
||||
route: 'app_site_index'
|
||||
_locale: '%kernel.default_locale%'
|
||||
permanent: true
|
@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
namespace App\Form;
|
||||
|
||||
use Symfony\Component\Form\AbstractType;
|
||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||
|
||||
abstract class AbstractBootstrapForm extends AbstractType {
|
||||
public function configureOptions (OptionsResolver $resolver) {
|
||||
parent::configureOptions($resolver);
|
||||
|
||||
$resolver->setDefaults(
|
||||
[
|
||||
'attr' => [
|
||||
'class' => 'form-validation',
|
||||
'novalidate' => 'novalidate',
|
||||
],
|
||||
]
|
||||
);
|
||||
}
|
||||
}
|
@ -0,0 +1,50 @@
|
||||
<?php
|
||||
|
||||
namespace App\Form;
|
||||
|
||||
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\EmailType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\PasswordType;
|
||||
use Symfony\Component\Form\FormBuilderInterface;
|
||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||
|
||||
/**
|
||||
* Security : sign-in form
|
||||
*
|
||||
* @package App\Form
|
||||
*/
|
||||
class SecuritySignInForm extends AbstractBootstrapForm {
|
||||
public function buildForm (FormBuilderInterface $builder, array $options) {
|
||||
parent::buildForm($builder, $options);
|
||||
|
||||
$builder
|
||||
->add(
|
||||
'email',
|
||||
EmailType::class,
|
||||
[
|
||||
'label_format' => 'user.email',
|
||||
]
|
||||
)
|
||||
->add(
|
||||
'password',
|
||||
PasswordType::class,
|
||||
[
|
||||
'label_format' => 'user.password',
|
||||
]
|
||||
)
|
||||
->add(
|
||||
'_remember_me',
|
||||
CheckboxType::class,
|
||||
[
|
||||
'label_format' => 'sign.remember_me',
|
||||
'required' => false,
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
public function configureOptions (OptionsResolver $resolver) {
|
||||
parent::configureOptions($resolver);
|
||||
|
||||
$resolver->setDefault('translation_domain', 'security');
|
||||
}
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
<?php
|
||||
|
||||
use Symfony\Component\Dotenv\Dotenv;
|
||||
|
||||
require dirname(__DIR__) . '/vendor/autoload.php';
|
||||
|
||||
if (file_exists(dirname(__DIR__) . '/config/bootstrap.php')) {
|
||||
require dirname(__DIR__) . '/config/bootstrap.php';
|
||||
}
|
||||
elseif (method_exists(Dotenv::class, 'bootEnv')) {
|
||||
(new Dotenv())->bootEnv(dirname(__DIR__) . '/.env');
|
||||
}
|
Loading…
Reference in New Issue