feat : refonte complète des migrations de base de données et amorce de mise en page de la page de profil utilisateur (pseudo + autres infos en mode "modification".

Suppression des commentaires inutiles
This commit is contained in:
2026-04-01 10:00:26 +02:00
parent f3822a60aa
commit b57236c4e7
23 changed files with 307 additions and 592 deletions

View File

@@ -3,11 +3,12 @@
namespace App\Form;
use App\Entity\User;
use Symfony\Component\Form\Extension\Core\Type\TelType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Form\Extension\Core\Type\FileType;
use Symfony\Component\Form\Extension\Core\Type\TelType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Validator\Constraints\Image;
@@ -27,22 +28,53 @@ class UserProfileType extends AbstractType
'label' => 'Nom',
'disabled' => true,
])
->add('identifiantKaz', TextType::class, [
'label' => 'Identifiant KAZ : ',
'disabled' => true,
])
->add('email', EmailType::class, [
'label' => 'E-mail',
'disabled' => true,
])
->add('alternateEmail', EmailType::class, ['label' => 'E-mail de secours'])
->add('alternateEmail', EmailType::class, [
'label' => 'E-mail de secours',
'constraints' => [
new Regex(
pattern: '/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/',
message: 'L\'adresse e-mail n\'est pas valide.'
)
]
])
->add('emailQuota', TextType::class, [
'label' => 'Espace de stockage de votre boîte mail : ',
'disabled' => true,
])
->add('hasNextcloudAccess', CheckboxType::class, [
'label' => 'Accès au Nextcloud : ',
'disabled' => true,
])
->add('nextcloudQuota', TextType::class, [
'label' => 'Espace de stockage de votre Nextcloud : ',
'disabled' => true,
])
->add('hasMobilizon', CheckboxType::class, [
'label' => 'Accès à Mobilizon : ',
'disabled' => true,
])
->add('hasAgoraAccess', CheckboxType::class, [
'label' => 'Accès à l\'Agora : ',
'disabled' => true,
])
->add('telephone', TelType::class, [
'label'=>'Téléphone',
'required' => false,
'attr' => [
'placeholder'=>'06 00 00 00 00',
'class'=> 'w-full px-4 py-3 border border-gris-clair rounded-lg focus:outline-none focus:border-bouton focus:ring-1 focus:ring-bouton transition-shadow'
],
'constraints' => [
new Regex(
pattern: '/^[0-9\+\s\.\-\(\)]+$/',
message: 'Le numéro de téléphone contient des caractères non valides'
message: 'Le numéro de téléphone n\'est pas valide.'
),
new Length(
max: 20,
@@ -51,7 +83,7 @@ class UserProfileType extends AbstractType
],
])
->add('image', FileType::class, [
'label' => 'Ma photo de profil',
'label' => 'Mon image de profil',
'mapped' => false,
'required' => false,
'constraints' => [