Survey: Add only students to survey invitation button see BT#17617

pull/3440/head
Julio Montoya 5 years ago
parent 04948c9915
commit 4242727610
  1. 41
      main/inc/lib/course.lib.php
  2. 2
      main/lang/french/trad4all.inc.php
  3. 2
      main/lang/spanish/trad4all.inc.php
  4. 22
      main/survey/survey_invite.php

@ -6152,7 +6152,7 @@ class CourseManager
*
* @return HTML_QuickForm_element
*/
public static function addUserGroupMultiSelect(&$form, $alreadySelected)
public static function addUserGroupMultiSelect(&$form, $alreadySelected, $addShortCut = false)
{
$userList = self::getCourseUsers(true);
$groupList = self::getCourseGroups();
@ -6168,13 +6168,50 @@ class CourseManager
$result[$content['value']] = $content['content'];
}
return $form->addElement(
$multiple = $form->addElement(
'advmultiselect',
'users',
get_lang('Users'),
$result,
['select_all_checkbox' => true, 'id' => 'users']
);
$sessionId = api_get_session_id();
if ($addShortCut && empty($sessionId)) {
$addStudents = [];
foreach ($userList as $user) {
if ($user['status_rel'] == STUDENT) {
$addStudents[] = $user['user_id'];
}
}
if (!empty($addStudents)) {
$form->addHtml(
'<script>
$(function() {
$("#add_students").on("click", function() {
var addStudents = '.json_encode($addStudents).';
$.each(addStudents, function( index, value ) {
var option = $("#users option[value=\'USER:"+value+"\']");
if (option.val()) {
$("#users_to").append(new Option(option.text(), option.val()))
option.remove();
}
});
return false;
});
});
</script>'
);
$form->addLabel(
'',
Display::url(get_lang('AddStudent'), '#', ['id' => 'add_students', 'class' => 'btn btn-primary'])
);
}
}
return $multiple;
}
/**

@ -3727,7 +3727,7 @@ $CertificateMinScore = "Score minimum";
$InViMod = "Dossier rendu invisible";
$ViewResult = "Visualisation des résultats";
$NoResultsInEvaluation = "Aucune note actuellement pour cette activité";
$AddStudent = "Ajout utilisateurs";
$AddStudent = "Ajouter des apprenants";
$ImportResult = "Import résultats";
$ImportFileLocation = "Importer un fichier";
$FileType = "Type de fichier";

@ -3737,7 +3737,7 @@ $CertificateMinScore = "Puntuación mínima de certificación";
$InViMod = "Este elemento ha sido ocultado";
$ViewResult = "Ver resultados";
$NoResultsInEvaluation = "Por ahora no hay resultados en la evaluación";
$AddStudent = "Añadir usuarios";
$AddStudent = "Añadir estudiantes";
$ImportResult = "Importar resultados";
$ImportFileLocation = "Ubicación del archivo a importar";
$FileType = "Tipo de fichero";

@ -61,8 +61,6 @@ if (api_is_course_admin()) {
];
}
$tool_name = get_lang('SurveyPublication');
// Displaying the header
Display::display_header($tool_name, 'Survey');
echo '<script>
@ -102,24 +100,10 @@ $form = new FormValidator(
'post',
api_get_self().'?survey_id='.$survey_id.'&'.api_get_cidreq()
);
$form->addElement('header', '', $tool_name);
// Course users
$complete_user_list = CourseManager::get_user_list_from_course_code(
api_get_course_id(),
api_get_session_id(),
'',
api_sort_by_first_name() ? 'ORDER BY firstname' : 'ORDER BY lastname'
);
$possible_users = [];
foreach ($complete_user_list as &$user) {
$possible_users[$user['user_id']] = api_get_person_name(
$user['firstname'],
$user['lastname']
);
}
$form->addHeader($tool_name);
$sessionId = api_get_session_id();
CourseManager::addUserGroupMultiSelect($form, []);
CourseManager::addUserGroupMultiSelect($form, [], true);
// Additional users
$form->addElement(

Loading…
Cancel
Save