FormValidator: Add addMultiSelect, use array for attributes

pull/3924/head
Julio Montoya 4 years ago
parent 53e9721a5a
commit e60243ae57
  1. 3
      public/main/admin/course_edit.php
  2. 2
      public/main/admin/user_edit.php
  3. 3
      public/main/announcements/announcements.php
  4. 3
      public/main/group/member_settings.php
  5. 3
      public/main/group/tutor_settings.php
  6. 5
      public/main/inc/lib/course.lib.php
  7. 2
      public/main/inc/lib/display.lib.php
  8. 5
      public/main/inc/lib/formvalidator/FormValidator.class.php
  9. 4
      public/main/inc/lib/pear/HTML/QuickForm/advmultiselect.php
  10. 9
      public/main/lp/lp_subscribe_users.php
  11. 9
      public/main/lp/lp_subscribe_users_to_category.php
  12. 3
      public/main/session/session_course_user.php
  13. 3
      public/main/social/group_invitation.php
  14. 6
      public/main/ticket/categories_add_user.php
  15. 10
      src/CoreBundle/Repository/SysAnnouncementRepository.php

@ -210,8 +210,7 @@ if (!empty($coursesInSession) && $allowEditSessionCoaches) {
$groupName = 'session_coaches_'.$sessionId; $groupName = 'session_coaches_'.$sessionId;
$sessionUrl = api_get_path(WEB_CODE_PATH).'session/resume_session.php?id_session='.$sessionId; $sessionUrl = api_get_path(WEB_CODE_PATH).'session/resume_session.php?id_session='.$sessionId;
$form->addElement( $form->addMultiSelect(
'advmultiselect',
$groupName, $groupName,
Display::url( Display::url(
$session['name'], $session['name'],

@ -321,7 +321,7 @@ if (!empty($studentBossList)) {
} }
$user_data['student_boss'] = array_values($studentBossList); $user_data['student_boss'] = array_values($studentBossList);
$form->addElement('advmultiselect', 'student_boss', get_lang('Superior (n+1)'), $studentBossToSelect); $form->addMultiSelect('student_boss', get_lang('Superior (n+1)'), $studentBossToSelect);
// EXTRA FIELDS // EXTRA FIELDS
$extraField = new ExtraField('user'); $extraField = new ExtraField('user');

@ -582,8 +582,7 @@ switch ($action) {
} }
$defaults['email_ann'] = true; $defaults['email_ann'] = true;
$form->addElement( $form->addText(
'text',
'title', 'title',
get_lang('Subject'), get_lang('Subject'),
['onkeypress' => 'return event.keyCode != 13;'] ['onkeypress' => 'return event.keyCode != 13;']

@ -159,8 +159,7 @@ if (!empty($group_member_list)) {
} }
} }
$group_members_element = $form->addElement( $group_members_element = $form->addMultiSelect(
'advmultiselect',
'group_members', 'group_members',
get_lang('Group members'), get_lang('Group members'),
$possible_users $possible_users

@ -145,8 +145,7 @@ if (!empty($complete_user_list)) {
} }
} }
$group_tutors_element = $form->addElement( $group_tutors_element = $form->addMultiSelect(
'advmultiselect',
'group_tutors', 'group_tutors',
get_lang('Coaches'), get_lang('Coaches'),
$possible_users, $possible_users,

@ -5796,8 +5796,7 @@ class CourseManager
$result[$content['value']] = $content['content']; $result[$content['value']] = $content['content'];
} }
$multiple = $form->addElement( $multiple = $form->addMultiSelect(
'advmultiselect',
'users', 'users',
get_lang('Users'), get_lang('Users'),
$result, $result,
@ -5894,7 +5893,7 @@ class CourseManager
$result[$content['value']] = $content['content']; $result[$content['value']] = $content['content'];
} }
return $form->addElement('advmultiselect', 'users', get_lang('Users'), $result); return $form->addMultiSelect( 'users', get_lang('Users'), $result);
} }
/** /**

@ -2419,7 +2419,7 @@ class Display
$fixWidth = false, $fixWidth = false,
$additionalClass = '' $additionalClass = ''
) { ) {
$className = "fa fa-$name"; $className = "mdi mdi-$name";
if ($fixWidth) { if ($fixWidth) {
$className .= ' fa-fw'; $className .= ' fa-fw';

@ -934,6 +934,11 @@ EOT;
return $this->addElement('select', $name, $label, $options, $attributes); return $this->addElement('select', $name, $label, $options, $attributes);
} }
public function addMultiSelect(string $name, $label, array $options, array $attributes = [])
{
$this->addElement('advmultiselect', $name, $label, $options, $attributes);
}
/** /**
* @param string $label * @param string $label
* @param string $text * @param string $text

@ -217,14 +217,14 @@ class HTML_QuickForm_advmultiselect extends HTML_QuickForm_select
$elementName = null, $elementName = null,
$elementLabel = null, $elementLabel = null,
$options = null, $options = null,
$attributes = null, array $attributes = [],
$sort = null $sort = null
) { ) {
$opts = $options; $opts = $options;
$options = null; // prevent to use the default select element load options $options = null; // prevent to use the default select element load options
parent::__construct($elementName, $elementLabel, $options, $attributes); parent::__construct($elementName, $elementLabel, $options, $attributes);
$this->selectAllCheckBox = isset($attributes['select_all_checkbox']) ? $attributes['select_all_checkbox'] : false; $this->selectAllCheckBox = $attributes['select_all_checkbox'] ?? false;
// allow to load options at once and take care of fancy attributes // allow to load options at once and take care of fancy attributes
$this->load($opts); $this->load($opts);

@ -101,8 +101,7 @@ foreach ($subscribedUsersInLp as $itemProperty) {
$formUsers = new FormValidator('lp_edit', 'post', $url); $formUsers = new FormValidator('lp_edit', 'post', $url);
$formUsers->addElement('hidden', 'user_form', 1); $formUsers->addElement('hidden', 'user_form', 1);
$userMultiSelect = $formUsers->addElement( $userMultiSelect = $formUsers->addMultiSelect(
'advmultiselect',
'users', 'users',
get_lang('Users'), get_lang('Users'),
$choices $choices
@ -143,8 +142,7 @@ foreach ($subscribedGroupsInLp as $itemProperty) {
$selectedGroupChoices[] = $itemProperty->getGroup()->getId(); $selectedGroupChoices[] = $itemProperty->getGroup()->getId();
} }
$groupMultiSelect = $form->addElement( $groupMultiSelect = $form->addMultiSelect(
'advmultiselect',
'groups', 'groups',
get_lang('Groups'), get_lang('Groups'),
$groupChoices $groupChoices
@ -172,8 +170,7 @@ if ($allowUserGroups) {
} }
} }
$userGroupMultiSelect = $formUserGroup->addElement( $userGroupMultiSelect = $formUserGroup->addMultiSelect(
'advmultiselect',
'usergroups', 'usergroups',
get_lang('Classes'), get_lang('Classes'),
$allOptions $allOptions

@ -82,8 +82,7 @@ foreach ($links as $link) {
} }
} }
$groupMultiSelect = $form->addElement( $groupMultiSelect = $form->addMultiSelect(
'advmultiselect',
'groups', 'groups',
get_lang('Groups'), get_lang('Groups'),
$groupChoices $groupChoices
@ -112,8 +111,7 @@ if ($allowUserGroups) {
} }
} }
$userGroupMultiSelect = $formUserGroup->addElement( $userGroupMultiSelect = $formUserGroup->addMultiSelect(
'advmultiselect',
'usergroups', 'usergroups',
get_lang('Classes'), get_lang('Classes'),
$allOptions $allOptions
@ -252,8 +250,7 @@ $formUsers = new FormValidator('lp_edit', 'post', $url);
$formUsers->addElement('hidden', 'user_form', 1); $formUsers->addElement('hidden', 'user_form', 1);
$formUsers->addLabel('', $message); $formUsers->addLabel('', $message);
$userMultiSelect = $formUsers->addElement( $userMultiSelect = $formUsers->addMultiSelect(
'advmultiselect',
'users', 'users',
get_lang('Users'), get_lang('Users'),
$choices $choices

@ -40,8 +40,7 @@ $form = new FormValidator(
'post', 'post',
api_get_self().'?id_user='.$user->getId().'&id_session='.$session->getId() api_get_self().'?id_user='.$user->getId().'&id_session='.$session->getId()
); );
$form->addElement( $form->addMultiSelect(
'advmultiselect',
'courses_to_avoid', 'courses_to_avoid',
$tool_name, $tool_name,
getSessionCourseList($session) getSessionCourseList($session)

@ -162,8 +162,7 @@ $form = new FormValidator('frm_invitation', 'post', api_get_self().'?id='.$group
$form->addHidden('form_sent', 1); $form->addHidden('form_sent', 1);
$form->addHidden('id', $group_id); $form->addHidden('id', $group_id);
$group_members_element = $form->addElement( $group_members_element = $form->addMultiSelect(
'advmultiselect',
'invitation', 'invitation',
get_lang('Friends'), get_lang('Friends'),
$nosessionUsersList $nosessionUsersList

@ -25,12 +25,10 @@ $form->addHeader($categoryInfo['name']);
$users = UserManager::get_user_list([], ['firstname']); $users = UserManager::get_user_list([], ['firstname']);
$users = array_column($users, 'complete_name', 'user_id'); $users = array_column($users, 'complete_name', 'user_id');
$form->addElement( $form->addMultiSelect(
'advmultiselect',
'users', 'users',
get_lang('Users'), get_lang('Users'),
$users, $users
'style="width: 280px;"'
); );
$usersAdded = TicketManager::getUsersInCategory($categoryId); $usersAdded = TicketManager::getUsersInCategory($categoryId);

@ -189,11 +189,6 @@ class SysAnnouncementRepository extends ServiceEntityRepository
} }
} }
protected function getOrCreateQueryBuilder(QueryBuilder $qb = null, string $alias = 's'): QueryBuilder
{
return $qb ?: $this->createQueryBuilder($alias);
}
public function delete($id): void public function delete($id): void
{ {
$announcement = $this->find($id); $announcement = $this->find($id);
@ -203,4 +198,9 @@ class SysAnnouncementRepository extends ServiceEntityRepository
$em->flush(); $em->flush();
} }
} }
protected function getOrCreateQueryBuilder(QueryBuilder $qb = null, string $alias = 's'): QueryBuilder
{
return $qb ?: $this->createQueryBuilder($alias);
}
} }

Loading…
Cancel
Save