@@ -372,6 +372,8 @@ public static function getSpecificValueToDisplay($field, $values, array $options
372372 * @return NULL Nothing, just display the form
373373 */
374374 public function showForm ($ ID , $ options = []) {
375+ global $ DB ;
376+
375377 $ this ->initForm ($ ID , $ options );
376378 $ this ->showFormHeader ($ options );
377379
@@ -496,14 +498,25 @@ public function showForm($ID, $options = []) {
496498 "$ userTable.id " => new QuerySubquery ($ subQuery )
497499 ];
498500 $ formValidator = new PluginFormcreatorForm_Validator ();
499- $ validatorUsers = $ formValidator ->getValidatorsForForm ($ this , User::class);
500- $ validatorUser = array_shift ($ validatorUsers );
501+ $ selectedValidatorUsers = [];
502+ foreach ($ formValidator ->getValidatorsForForm ($ this , User::class) as $ user ) {
503+ $ selectedValidatorUsers [$ user ->getID ()] = $ user ->getID ();
504+ }
505+ $ users = $ DB ->request ([
506+ 'SELECT ' => ['id ' , 'name ' ],
507+ 'FROM ' => User::getTable (),
508+ 'WHERE ' => $ usersCondition ,
509+ ]);
510+ $ validatorUsers = [];
511+ foreach ($ users as $ user ) {
512+ $ validatorUsers [$ user ['id ' ]] = $ user ['name ' ];
513+ }
501514 echo '<div id="validators_users"> ' ;
502- Dropdown::show (
503- User::class, [
504- ' name ' => ' _validator_users ' ,
505- 'value ' => $ validatorUser ? $ validatorUser -> getID () : 0 ,
506- 'condition ' => $ usersCondition ,
515+ Dropdown::showFromArray (
516+ ' _validator_users ' ,
517+ $ validatorUsers , [
518+ 'multiple ' => true ,
519+ 'values ' => $ selectedValidatorUsers
507520 ]
508521 );
509522 echo '</div> ' ;
@@ -553,18 +566,29 @@ public function showForm($ID, $options = []) {
553566 $ groupsCondition = [
554567 "$ groupTable.id " => new QuerySubquery ($ subQuery ),
555568 ];
569+ $ groups = $ DB ->request ([
570+ 'SELECT ' => ['id ' ,'name ' ],
571+ 'FROM ' => Group::getTable (),
572+ 'WHERE ' => $ groupsCondition ,
573+ ]);
556574 $ formValidator = new PluginFormcreatorForm_Validator ();
557- $ validatorgroups = $ formValidator ->getValidatorsForForm ($ this , Group::class);
558- $ validatorgroup = array_shift ($ validatorgroups );
575+ $ selectecValidatorGroups = [];
576+ foreach ($ formValidator ->getValidatorsForForm ($ this , Group::class) as $ group ) {
577+ $ selectecValidatorGroups [$ group ->getID ()] = $ group ->getID ();
578+ }
579+ $ validatorGroups = [];
580+ foreach ($ groups as $ group ) {
581+ $ validatorGroups [$ group ['id ' ]] = $ group ['name ' ];
582+ }
559583 echo '<div id="validators_groups" style="width: 100%"> ' ;
560- Dropdown::show (
561- Group::class, [
562- 'name ' => '_validator_groups ' ,
563- 'value ' => $ validatorgroup ? $ validatorgroup ->getID () : 0 ,
564- 'condition ' => $ groupsCondition
584+ Dropdown::showFromArray (
585+ '_validator_groups ' ,
586+ $ validatorGroups ,
587+ [
588+ 'multiple ' => true ,
589+ 'values ' => $ selectecValidatorGroups
565590 ]
566591 );
567-
568592 echo '</div> ' ;
569593
570594 $ script = '$(document).ready(function() {plugin_formcreator_changeValidators( ' . $ this ->fields ["validation_required " ] . ');}); ' ;
0 commit comments