Browse Source

Change gradebook validation with different conditions see BT#13099

jmontoyaa 7 years ago
parent
commit
6790f9d26d
1 changed files with 7 additions and 5 deletions
  1. 7 5
      user_portal.php

+ 7 - 5
user_portal.php

@@ -314,6 +314,7 @@ if (!empty($courseAndSessions['courses']) && $allow) {
     $result = [];
     $result20 = 0;
     $result80 = 0;
+    $countCoursesPassedNoDependency = 0;
     /** @var Category $category */
     foreach ($mainCategoryList as $category) {
         $userFinished = Category::userFinishedCourse(
@@ -328,6 +329,7 @@ if (!empty($courseAndSessions['courses']) && $allow) {
                     $result20 += 10;
                 }
             } else {
+                $countCoursesPassedNoDependency++;
                 if ($result80 < 80) {
                     $result80 += 10;
                 }
@@ -349,27 +351,27 @@ if (!empty($courseAndSessions['courses']) && $allow) {
         if (!empty($category)) {
             $minToValidate = $category->getMinimumToValidate();
             $dependencies = $category->getCourseListDependency();
-            $countDependenciesPast = 0;
+            $countDependenciesPassed = 0;
             foreach ($dependencies as $courseId) {
                 $courseInfo = api_get_course_info_by_id($courseId);
                 $courseCode = $courseInfo['code'];
                 $categories = Category::load(null, null, $courseCode);
                 $subCategory = !empty($categories[0]) ? $categories[0] : null;
                 if (!empty($subCategory)) {
-                    $score = Category::getCurrentScore(
+                    $score = Category::userFinishedCourse(
                         $userId,
                         $subCategory,
                         true
                     );
                     if ($score) {
-                        $countDependenciesPast++;
+                        $countDependenciesPassed++;
                     }
                 }
             }
 
             $userFinished =
-                $countDependenciesPast == count($dependencies) &&
-                (count($subscribedCourses) - count($dependencies) >= $minToValidate)
+                $countDependenciesPassed == count($dependencies) &&
+                $countCoursesPassedNoDependency >= $minToValidate
             ;
 
             if ($userFinished) {