Learnpath: Fix final item access and LP progress to accept failed items when lp_prerequisit_on_quiz_unblock_if_max_attempt_reached is true - refs BT#21735

pull/5867/head
NicoDucou 11 months ago
parent 0ee56d480c
commit 54d47745ca
  1. 3
      main/lp/learnpathItem.class.php
  2. 3
      main/lp/lp_final_item.php

@ -3631,7 +3631,8 @@ class learnpathItem
{
$lp = new Learnpath(api_get_course_id(), $this->lp_id, api_get_user_id());
$count = $lp->getTotalItemsCountWithoutDirs([TOOL_LP_FINAL_ITEM]);
$completed = $lp->get_complete_items_count(true, [TOOL_LP_FINAL_ITEM]);
$excludeFailedStatus = !(true === api_get_configuration_value('lp_prerequisit_on_quiz_unblock_if_max_attempt_reached'));
$completed = $lp->get_complete_items_count($excludeFailedStatus, [TOOL_LP_FINAL_ITEM]);
$isCompleted = ($count - $completed == 0);
return $isCompleted;

@ -70,7 +70,8 @@ $finalItemTemplate = '';
// Check prerequisites and total completion of the learning path
$lp = new Learnpath($courseCode, $lpId, $userId);
$count = $lp->getTotalItemsCountWithoutDirs();
$completed = $lp->get_complete_items_count(true);
$excludeFailedStatus = !(true === api_get_configuration_value('lp_prerequisit_on_quiz_unblock_if_max_attempt_reached'));
$completed = $lp->get_complete_items_count($excludeFailedStatus);
$currentItemId = $lp->get_current_item_id();
$currentItem = $lp->items[$currentItemId];
$currentItemStatus = $currentItem->get_status();

Loading…
Cancel
Save