Merge branch '1.11.x' of github.com:chamilo/chamilo-lms into 1.11.x

behat
Julio 6 years ago
commit a20c51c60d
  1. 82
      main/exercise/exercise_show.php
  2. 1
      main/inc/lib/formvalidator/Element/Number.php
  3. 2
      main/inc/lib/usermanager.lib.php
  4. 2
      main/install/configuration.dist.php

@ -210,8 +210,16 @@ if ($action != 'export') {
var oHidn = document.createElement("input");
oHidn.type = "hidden";
var selname = oHidn.name = "marks_" + m_id[i];
var selid = document.forms['marksform_' + m_id[i]].marks.selectedIndex;
oHidn.value = document.forms['marksform_' + m_id[i]].marks.options[selid].value;
var elMarks = document.forms['marksform_' + m_id[i]].marks;
if (elMarks.tagName.toLowerCase() === 'select') {
var selid = elMarks.selectedIndex;
oHidn.value = elMarks.options[selid].value;
} else if (elMarks.tagName.toLowerCase() === 'input') {
oHidn.value = elMarks.value;
}
f.appendChild(oHidn);
}
@ -667,34 +675,60 @@ foreach ($questionList as $questionId) {
echo '<div id="'.$marksname.'" class="hidden">';
$allowDecimalScore = api_get_configuration_value('quiz_open_question_decimal_score');
$formMark = new FormValidator('marksform_'.$questionId, 'post');
$formMark->addHeader(get_lang('AssignMarks'));
$select = $formMark->addSelect(
'marks',
get_lang('AssignMarks'),
[],
['disable_js' => true, 'extra_class' => 'grade_select']
);
$model = ExerciseLib::getCourseScoreModel();
if (empty($model)) {
for ($i = 0; $i <= $questionWeighting; $i++) {
$attributes = [];
if ($questionScore == $i) {
$attributes['selected'] = 'selected';
}
$select->addOption($i, $i, $attributes);
}
if ($allowDecimalScore && empty($model)) {
$formMark->addElement(
'number',
'marks',
get_lang('AssignMarks'),
[
'step' => 0.01,
'min' => 0,
'max' => $questionWeighting,
'placeholder' => 0,
'class' => 'grade_select',
'id' => "select_marks_$questionId",
]
);
$formMark->setDefaults(['marks' => $questionScore]);
$formMark->applyFilter('marks', 'stripslashes');
$formMark->applyFilter('marks', 'trim');
$formMark->applyFilter('marks', 'floatval');
$formMark->addRule('marks', get_lang('Numeric'), 'numeric');
$formMark->addRule('marks', get_lang('ValueTooSmall'), 'min_numeric_length', 0);
$formMark->addRule('marks', get_lang('ValueTooBig'), 'max_numeric_length', $questionWeighting);
} else {
foreach ($model['score_list'] as $item) {
$i = api_number_format($item['score_to_qualify'] / 100 * $questionWeighting, 2);
$model = ExerciseLib::getModelStyle($item, $i);
$attributes = ['class' => $item['css_class']];
if ($questionScore == $i) {
$attributes['selected'] = 'selected';
$select = $formMark->addSelect(
'marks',
get_lang('AssignMarks'),
[],
['disable_js' => true, 'extra_class' => 'grade_select']
);
if (empty($model)) {
for ($i = 0; $i <= $questionWeighting; $i++) {
$attributes = [];
if ($questionScore == $i) {
$attributes['selected'] = 'selected';
}
$select->addOption($i, $i, $attributes);
}
} else {
foreach ($model['score_list'] as $item) {
$i = api_number_format($item['score_to_qualify'] / 100 * $questionWeighting, 2);
$model = ExerciseLib::getModelStyle($item, $i);
$attributes = ['class' => $item['css_class']];
if ($questionScore == $i) {
$attributes['selected'] = 'selected';
}
$select->addOption($model, $i, $attributes);
}
$select->addOption($model, $i, $attributes);
$select->updateSelectWithSelectedOption($formMark);
}
$select->updateSelectWithSelectedOption($formMark);
}
$formMark->display();

@ -20,7 +20,6 @@ class Number extends HTML_QuickForm_text
}
$attributes['type'] = 'number';
$attributes['class'] = 'form-control';
parent::__construct($elementName, $elementLabel, $attributes);
$this->_appendName = true;

@ -3576,7 +3576,7 @@ class UserManager
if (empty($checkPosition)) {
// The session course list doesn't have any position,
// then order the course list by course code
$list = array_column($myCourseList, 'course_code');
$list = array_column($myCourseList, 'code');
array_multisort($myCourseList, SORT_ASC, $list);
}
}

@ -584,6 +584,8 @@ $_configuration['send_all_emails_to'] = [
// Generate certificate when ending a quiz.
// The quiz needs to be linked to a gradebook category and have set the pass percentage.
//$_configuration['quiz_generate_certificate_ending'] = false;
// Allow the teacher to rate the open, oral expression and annotation question types with a decimal score.
//$_configuration['quiz_open_question_decimal_score'] = false;
// Hide search form in session list
//$_configuration['hide_search_form_in_session_list'] = false;

Loading…
Cancel
Save