diff --git a/main/admin/gradebook_dependency.php b/main/admin/gradebook_dependency.php index 144da13ea3..16bf77255d 100644 --- a/main/admin/gradebook_dependency.php +++ b/main/admin/gradebook_dependency.php @@ -57,7 +57,8 @@ $courseList = []; /*$mandatoryList = api_get_configuration_value('gradebook_dependency_mandatory_courses'); $mandatoryList = isset($mandatoryList['courses']) ? $mandatoryList['courses'] : [];*/ - +$userResult = []; +$totalDependencies = count($dependencies); foreach ($dependencies as $courseId) { $courseInfo = api_get_course_info_by_id($courseId); $courseCode = $courseInfo['code']; @@ -70,16 +71,23 @@ foreach ($dependencies as $courseId) { $userList = CourseManager::get_student_list_from_course_code($courseCode); $users = []; foreach ($userList as $user) { - $userInfo = api_get_user_info($user['user_id']); + $userId = $user['user_id']; + $userInfo = api_get_user_info($userId); $result = Category::userFinishedCourse( - $user['user_id'], + $userId, $subCategory, true ); $userInfo['result'] = $result; - $users[] = $userInfo; + //$users[] = $userInfo; + $userResult[$userId]['result'][$courseCode] = $result; + $userResult[$userId]['user_info'] = $userInfo; + } + + foreach ($userResult as $userId => &$userData) { + $userData['final_result'] = count(array_filter($userData['result'])) == $totalDependencies; } - $courseInfo['users'] = $users; + //$courseInfo['users'] = $users; //$courseInfo['is_mandatory'] = in_array($courseCode, $mandatoryList); $courseList[] = $courseInfo; } @@ -96,5 +104,6 @@ $tpl->assign( $tpl->assign('gradebook_category', $category); $tpl->assign('courses', $courseList); +$tpl->assign('users', $userResult); $layout = $tpl->get_template('admin/gradebook_dependency.tpl'); $tpl->display($layout); diff --git a/main/template/default/admin/gradebook_dependency.tpl b/main/template/default/admin/gradebook_dependency.tpl index ee1eeac7f7..7fccdf035e 100644 --- a/main/template/default/admin/gradebook_dependency.tpl +++ b/main/template/default/admin/gradebook_dependency.tpl @@ -2,37 +2,44 @@ {% block content %}

- {{ gradebook_category.name }} + {{ gradebook_category.name }} {% if gradebook_category.courseCode is not empty %} ({{ gradebook_category.courseCode }}) {% endif %}


- {% for course in courses %} -

- {{ course.title }} ({{ course.code }}) -

+ + + + + {% for course in courses %} + + {% endfor %} + + + + {% for user in users %} + + - {% if course.users %} -
{{ 'Users' | get_lang }} + {{ course.title }} ({{ course.code }}) + {{ 'Total' | get_lang }}
{{ user.user_info.complete_name }}
- - - - - - - {% for user in course.users %} - - - - + {% for course in courses %} + {% endfor %} -
{{ 'Users' | get_lang }}{{ 'Result' | get_lang }}
{{ user.complete_name }} - {% if user.result %} - - {% else %} - {% endif %} -
+ {% if user.result[course.code] %} + + {% endif %} +
- {% endif %} + + + {% if user.final_result %} + + {% else %} + + {% endif %} + + {% endfor %} + {% endblock %}