From b92488e32f08c1dcede72f949ba3aff62391327f Mon Sep 17 00:00:00 2001 From: Kevin Papst Date: Wed, 3 Nov 2021 16:24:22 +0100 Subject: [PATCH] include roles and teams in user create form (#2849) --- src/Controller/UserController.php | 2 + src/Form/UserCreateType.php | 22 +++++++++++ templates/user/create.html.twig | 61 +++++++++++++++++++++++++++++++ 3 files changed, 85 insertions(+) diff --git a/src/Controller/UserController.php b/src/Controller/UserController.php index 43b98a03..c0b8e0ec 100644 --- a/src/Controller/UserController.php +++ b/src/Controller/UserController.php @@ -241,6 +241,8 @@ final class UserController extends AbstractController 'include_active_flag' => true, 'include_preferences' => $this->isGranted('preferences', $user), 'include_add_more' => true, + 'include_teams' => $this->isGranted('teams_other_profile'), + 'include_roles' => $this->isGranted('roles_other_profile'), ]); } } diff --git a/src/Form/UserCreateType.php b/src/Form/UserCreateType.php index 425cf1a2..d738fd0d 100644 --- a/src/Form/UserCreateType.php +++ b/src/Form/UserCreateType.php @@ -9,6 +9,8 @@ namespace App\Form; +use App\Form\Type\TeamType; +use App\Form\Type\UserRoleType; use Symfony\Component\Form\Extension\Core\Type\CheckboxType; use Symfony\Component\Form\Extension\Core\Type\PasswordType; use Symfony\Component\Form\Extension\Core\Type\RepeatedType; @@ -42,6 +44,24 @@ class UserCreateType extends UserEditType parent::buildForm($builder, $options); + if ($options['include_teams'] === true) { + $builder + ->add('teams', TeamType::class, [ + 'multiple' => true, + 'expanded' => false, + 'required' => false, + ]); + } + + if ($options['include_roles'] === true) { + $builder + ->add('roles', UserRoleType::class, [ + 'multiple' => true, + 'expanded' => false, + 'required' => false, + ]); + } + if ($options['include_add_more'] === true) { $builder->add('create_more', CheckboxType::class, [ 'label' => 'label.create_more', @@ -58,6 +78,8 @@ class UserCreateType extends UserEditType $resolver->setDefaults([ 'validation_groups' => ['UserCreate', 'Registration'], 'include_add_more' => false, + 'include_roles' => false, + 'include_teams' => false, ]); } } diff --git a/templates/user/create.html.twig b/templates/user/create.html.twig index 57c970c7..bab9e1e8 100644 --- a/templates/user/create.html.twig +++ b/templates/user/create.html.twig @@ -11,6 +11,67 @@ } %} {% embed formEditTemplate with formOptions %} {% block form_body %} +
+
+ {{ form_row(form.username) }} +
+
+ {{ form_row(form.email) }} +
+
+ {{ form_row(form.color) }} +
+
+ +
+
+ {{ form_row(form.alias) }} +
+
+ {{ form_row(form.title) }} +
+
+ {{ form_row(form.accountNumber) }} +
+
+ +
+
+ {{ form_row(form.plainPassword.first) }} +
+
+ {{ form_row(form.plainPassword.second) }} +
+
+ +
+
+ {{ form_row(form.language) }} +
+
+ {{ form_row(form.timezone) }} +
+
+ + {% if form.teams is defined or form.roles is defined %} + {% set length = 12 %} + {% if form.teams is defined and form.roles is defined %} + {% set length = 6 %} + {% endif %} +
+ {% if form.teams is defined %} +
+ {{ form_row(form.teams) }} +
+ {% endif %} + {% if form.roles is defined %} +
+ {{ form_row(form.roles) }} +
+ {% endif %} +
+ {% endif %} + {{ form_widget(form) }} {% endblock %} {% endembed %}