You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
87 lines
2.6 KiB
87 lines
2.6 KiB
<?php
|
|
/* For licensing terms, see /license.txt */
|
|
|
|
/**
|
|
* Script.
|
|
*
|
|
* @package chamilo.gradebook
|
|
*/
|
|
require_once __DIR__.'/../inc/global.inc.php';
|
|
api_block_anonymous_users();
|
|
GradebookUtils::block_students();
|
|
|
|
$select_eval = (int) $_GET['selecteval'];
|
|
if (empty($select_eval)) {
|
|
api_not_allowed();
|
|
}
|
|
$resultedit = Result::load(null, null, $select_eval);
|
|
$evaluation = Evaluation::load($select_eval);
|
|
$evaluation[0]->check_lock_permissions();
|
|
$courseInfo = api_get_course_info();
|
|
$sessionId = api_get_session_id();
|
|
|
|
$edit_result_form = new EvalForm(
|
|
EvalForm::TYPE_ALL_RESULTS_EDIT,
|
|
$evaluation[0],
|
|
$resultedit,
|
|
'edit_result_form',
|
|
null,
|
|
api_get_self().'?selecteval='.$select_eval.'&'.api_get_cidreq()
|
|
);
|
|
if ($edit_result_form->validate()) {
|
|
$values = $edit_result_form->exportValues();
|
|
$scores = $values['score'];
|
|
$bestResult = 0;
|
|
$scoreFinalList = [];
|
|
foreach ($scores as $userId => $score) {
|
|
/** @var array $resultedit */
|
|
$resultedit = Result::load($userId);
|
|
/** @var Result $result */
|
|
$result = $resultedit[0];
|
|
|
|
if (empty($score)) {
|
|
$score = 0;
|
|
}
|
|
|
|
$scoreFinalList[$result->get_user_id()] = $score;
|
|
|
|
if ($score > $bestResult) {
|
|
$bestResult = $score;
|
|
}
|
|
$score = api_number_format($score, api_get_setting('gradebook_number_decimals'));
|
|
$result->set_score($score);
|
|
$result->save();
|
|
|
|
$allowMultipleAttempts = api_get_configuration_value('gradebook_multiple_evaluation_attempts');
|
|
if ($allowMultipleAttempts) {
|
|
$table = Database::get_main_table(TABLE_MAIN_GRADEBOOK_RESULT_ATTEMPT);
|
|
$now = api_get_utc_datetime();
|
|
$params = [
|
|
'result_id' => $result->get_id(),
|
|
'score' => $score,
|
|
'comment' => '',
|
|
'created_at' => $now,
|
|
'updated_at' => $now,
|
|
];
|
|
Database::insert($table, $params);
|
|
}
|
|
}
|
|
Display::addFlash(Display::return_message(get_lang('AllResultsEdited')));
|
|
header('Location: gradebook_view_result.php?selecteval='.$select_eval.'&'.api_get_cidreq());
|
|
exit;
|
|
}
|
|
|
|
$table = $edit_result_form->toHtml();
|
|
|
|
$interbreadcrumb[] = [
|
|
'url' => Category::getUrl(),
|
|
'name' => get_lang('Gradebook'),
|
|
];
|
|
$interbreadcrumb[] = [
|
|
'url' => 'gradebook_view_result.php?selecteval='.$select_eval.'&'.api_get_cidreq(),
|
|
'name' => get_lang('ViewResult'),
|
|
];
|
|
Display::display_header(get_lang('EditResult'));
|
|
DisplayGradebook::display_header_result($evaluation[0], null, 0, 0);
|
|
echo $table;
|
|
Display :: display_footer();
|
|
|