Allow users (and admins) to decide whether their email should be shown on their public profile

This commit is contained in:
Jan Böhmer 2023-04-08 19:53:05 +02:00
parent 71b0c2d83e
commit 5b5e8a4fd5
8 changed files with 104 additions and 3 deletions

View file

@ -117,7 +117,11 @@ class UserAdminForm extends AbstractType
'required' => false,
'disabled' => !$this->security->isGranted('edit_infos', $entity),
])
->add('showEmailOnProfile', CheckboxType::class, [
'required' => false,
'label' => 'user.show_email_on_profile.label',
'disabled' => !$this->security->isGranted('edit_infos', $entity),
])
->add('department', TextType::class, [
'empty_data' => '',
'label' => 'user.department.label',

View file

@ -28,6 +28,7 @@ use App\Form\Type\RichTextEditorType;
use App\Form\Type\ThemeChoiceType;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Event\PreSetDataEvent;
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Form\Extension\Core\Type\FileType;
@ -80,6 +81,11 @@ class UserSettingsType extends AbstractType
'label' => 'user.email.label',
'disabled' => !$this->security->isGranted('edit_infos', $options['data']) || $this->demo_mode,
])
->add('showEmailOnProfile', CheckboxType::class, [
'required' => false,
'label' => 'user.show_email_on_profile.label',
'disabled' => !$this->security->isGranted('edit_infos', $options['data']) || $this->demo_mode,
])
->add('avatar_file', FileType::class, [
'label' => 'user_settings.change_avatar.label',
'mapped' => false,