Gradebook: fix certificate generation use all elements avoid excluding invisible items - refs BT#21503

pull/5783/head
NicoDucou 1 year ago
parent ac9c1cb5be
commit cdd51ff841
  1. 33
      main/gradebook/lib/be/category.class.php

@ -886,7 +886,8 @@ class Category implements GradebookItem
$user_id,
null,
$this->course_code,
$this->session_id
$this->session_id,
null
);
if (isset($score) && isset($score[0])) {
@ -928,6 +929,7 @@ class Category implements GradebookItem
$type = null,
$course_code = '',
$session_id = null
$forCertificate = 1
) {
$key = 'category:'.$this->id.'student:'.(int) $stud_id.'type:'.$type.'course:'.$course_code.'session:'.(int) $session_id;
$useCache = api_get_configuration_value('gradebook_use_apcu_cache');
@ -945,14 +947,16 @@ class Category implements GradebookItem
$cats = $this->get_subcategories(
$stud_id,
$course_code,
$session_id
$session_id,
null,
$forCertificate
);
$evals = $this->get_evaluations($stud_id, false, $course_code);
$links = $this->get_links($stud_id, false, $course_code);
$evals = $this->get_evaluations($stud_id, false, $course_code, $session_id, $forCertificate);
$links = $this->get_links($stud_id, false, $course_code, $session_id, $forCertificate);
} else {
$cats = $this->get_subcategories($stud_id);
$evals = $this->get_evaluations($stud_id);
$links = $this->get_links($stud_id);
$cats = $this->get_subcategories($stud_id, '', $session_id, null, $forCertificate);
$evals = $this->get_evaluations($stud_id, false, '', $session_id, $forCertificate));
$links = $this->get_links($stud_id, false, '', $session_id, $forCertificate));
}
// Calculate score
@ -1744,7 +1748,8 @@ class Category implements GradebookItem
$studentId = null,
$course_code = null,
$session_id = null,
$order = null
$order = null,
$forCertificate = 1
) {
// 1 student
if (isset($studentId)) {
@ -1757,7 +1762,7 @@ class Category implements GradebookItem
null,
$course_code,
$this->id,
api_is_allowed_to_edit() ? null : 1,
api_is_allowed_to_edit() ? null : $forCertificate,
$session_id,
$order
);
@ -1837,7 +1842,8 @@ class Category implements GradebookItem
$studentId = null,
$recursive = false,
$course_code = '',
$sessionId = 0
$sessionId = 0,
$forCertificate = 1
) {
$evals = [];
$course_code = empty($course_code) ? $this->get_course_code() : $course_code;
@ -1857,7 +1863,7 @@ class Category implements GradebookItem
null,
$course_code,
$this->id,
api_is_allowed_to_edit() ? null : 1
api_is_allowed_to_edit() ? null : $forCertificate
);
}
} else {
@ -1943,7 +1949,8 @@ class Category implements GradebookItem
$studentId = null,
$recursive = false,
$course_code = '',
$sessionId = 0
$sessionId = 0,
$forCertificate = 1
) {
$links = [];
$course_code = empty($course_code) ? $this->get_course_code() : $course_code;
@ -1960,7 +1967,7 @@ class Category implements GradebookItem
null,
$course_code,
$this->id,
api_is_allowed_to_edit() ? null : 1
api_is_allowed_to_edit() ? null : $forCertificate
);
} else {
// All students -> only for course/platform admin

Loading…
Cancel
Save