From bb8627c66e37dd0ab991c05df31c80caffd7968e Mon Sep 17 00:00:00 2001 From: Ivo Valchev Date: Tue, 15 Sep 2020 15:07:41 +0200 Subject: [PATCH 1/2] Allow multiple roles to be selected for users --- src/Controller/Backend/UserEditController.php | 2 +- templates/_partials/fields/select.html.twig | 4 +++- templates/users/edit.html.twig | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Controller/Backend/UserEditController.php b/src/Controller/Backend/UserEditController.php index 405ee5bec..d26450a67 100644 --- a/src/Controller/Backend/UserEditController.php +++ b/src/Controller/Backend/UserEditController.php @@ -145,7 +145,7 @@ public function save(?User $user, ValidatorInterface $validator): Response $displayName = $user->getDisplayName(); $locale = Json::findScalar($this->getFromRequest('locale')); - $roles = (array) Json::findScalar($this->getFromRequest('roles')); + $roles = Json::findArray($this->getFromRequest('roles')); $status = Json::findScalar($this->getFromRequest('ustatus', UserStatus::ENABLED)); if (empty($user->getUsername())) { diff --git a/templates/_partials/fields/select.html.twig b/templates/_partials/fields/select.html.twig index 34b3f6481..2b106b937 100644 --- a/templates/_partials/fields/select.html.twig +++ b/templates/_partials/fields/select.html.twig @@ -11,7 +11,9 @@ {% set options = select_options(field) %} {% endif %} -{% set multiple = field.definition.get('multiple')|default ? 'true' : 'false' %} +{% if multiple is not defined %} + {% set multiple = field.definition.get('multiple')|default ? 'true' : 'false' %} +{% endif %} {% block field %} Date: Tue, 15 Sep 2020 15:14:59 +0200 Subject: [PATCH 2/2] Fix properties --- assets/js/app/editor/Components/Password.vue | 4 ++-- templates/users/edit.html.twig | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/assets/js/app/editor/Components/Password.vue b/assets/js/app/editor/Components/Password.vue index cd5abf111..d4026a143 100644 --- a/assets/js/app/editor/Components/Password.vue +++ b/assets/js/app/editor/Components/Password.vue @@ -8,7 +8,7 @@ type="password" :name="name" :value="value" - :required="required == 1" + :required="required" :readonly="readonly" :data-errormessage="errormessage" :pattern="pattern" @@ -48,7 +48,7 @@ export default { id: String, hidden: Boolean, strength: Boolean, - required: Number, + required: Boolean, readonly: Boolean, errormessage: String | Boolean, //string if errormessage is set, and false otherwise pattern: String | Boolean, diff --git a/templates/users/edit.html.twig b/templates/users/edit.html.twig index cef167e50..8097405c9 100644 --- a/templates/users/edit.html.twig +++ b/templates/users/edit.html.twig @@ -75,7 +75,7 @@ 'name' : 'locale', 'value' : userEdit.locale, 'options' : localeOptions, - 'required': true, + 'required': 'true', } %} {% set roleOptions = [] %} @@ -95,8 +95,8 @@ 'name' : 'roles', 'value' : userEdit.roles, 'options' : roleOptions, - 'required': true, - 'multiple': true, + 'required': 'true', + 'multiple': 'true', } %} {% set statusOptions = [] %}