Skip to content

Commit 54d4774

Browse files
committed
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
1 parent 0ee56d4 commit 54d4774

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

main/lp/learnpathItem.class.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3631,7 +3631,8 @@ public function isLpItemsCompleted()
36313631
{
36323632
$lp = new Learnpath(api_get_course_id(), $this->lp_id, api_get_user_id());
36333633
$count = $lp->getTotalItemsCountWithoutDirs([TOOL_LP_FINAL_ITEM]);
3634-
$completed = $lp->get_complete_items_count(true, [TOOL_LP_FINAL_ITEM]);
3634+
$excludeFailedStatus = !(true === api_get_configuration_value('lp_prerequisit_on_quiz_unblock_if_max_attempt_reached'));
3635+
$completed = $lp->get_complete_items_count($excludeFailedStatus, [TOOL_LP_FINAL_ITEM]);
36353636
$isCompleted = ($count - $completed == 0);
36363637

36373638
return $isCompleted;

main/lp/lp_final_item.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,8 @@
7070
// Check prerequisites and total completion of the learning path
7171
$lp = new Learnpath($courseCode, $lpId, $userId);
7272
$count = $lp->getTotalItemsCountWithoutDirs();
73-
$completed = $lp->get_complete_items_count(true);
73+
$excludeFailedStatus = !(true === api_get_configuration_value('lp_prerequisit_on_quiz_unblock_if_max_attempt_reached'));
74+
$completed = $lp->get_complete_items_count($excludeFailedStatus);
7475
$currentItemId = $lp->get_current_item_id();
7576
$currentItem = $lp->items[$currentItemId];
7677
$currentItemStatus = $currentItem->get_status();

0 commit comments

Comments
 (0)