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;
$sessionUrl = api_get_path(WEB_CODE_PATH).'session/resume_session.php?id_session='.$sessionId;
$form->addElement(
'advmultiselect',
$form->addMultiSelect(
$groupName,
Display::url(
$session['name'],

@ -321,7 +321,7 @@ if (!empty($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
$extraField = new ExtraField('user');

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

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

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

@ -5796,8 +5796,7 @@ class CourseManager
$result[$content['value']] = $content['content'];
}
$multiple = $form->addElement(
'advmultiselect',
$multiple = $form->addMultiSelect(
'users',
get_lang('Users'),
$result,
@ -5894,7 +5893,7 @@ class CourseManager
$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,
$additionalClass = ''
) {
$className = "fa fa-$name";
$className = "mdi mdi-$name";
if ($fixWidth) {
$className .= ' fa-fw';

@ -934,6 +934,11 @@ EOT;
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 $text

@ -217,14 +217,14 @@ class HTML_QuickForm_advmultiselect extends HTML_QuickForm_select
$elementName = null,
$elementLabel = null,
$options = null,
$attributes = null,
array $attributes = [],
$sort = null
) {
$opts = $options;
$options = null; // prevent to use the default select element load options
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
$this->load($opts);

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

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

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

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

@ -25,12 +25,10 @@ $form->addHeader($categoryInfo['name']);
$users = UserManager::get_user_list([], ['firstname']);
$users = array_column($users, 'complete_name', 'user_id');
$form->addElement(
'advmultiselect',
$form->addMultiSelect(
'users',
get_lang('Users'),
$users,
'style="width: 280px;"'
$users
);
$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
{
$announcement = $this->find($id);
@ -203,4 +198,9 @@ class SysAnnouncementRepository extends ServiceEntityRepository
$em->flush();
}
}
protected function getOrCreateQueryBuilder(QueryBuilder $qb = null, string $alias = 's'): QueryBuilder
{
return $qb ?: $this->createQueryBuilder($alias);
}
}

Loading…
Cancel
Save