From 8e1c0cc5dfb7ed9e50aef5b7bfe7cf7ee040f7fb Mon Sep 17 00:00:00 2001 From: Stefan Meyer Date: Mon, 7 Sep 2026 12:33:32 +0200 Subject: [PATCH 1/2] 0048294: Personal Learning Progress cannot be opened --- .../classes/class.ilLearningProgressBaseGUI.php | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/Services/Tracking/classes/class.ilLearningProgressBaseGUI.php b/Services/Tracking/classes/class.ilLearningProgressBaseGUI.php index f95c9ddeb779..8988cd60a0bf 100644 --- a/Services/Tracking/classes/class.ilLearningProgressBaseGUI.php +++ b/Services/Tracking/classes/class.ilLearningProgressBaseGUI.php @@ -114,11 +114,21 @@ public function __construct( final public function executeCommand(): void { - $has_access = ilLearningProgressAccess::checkPermission('read_learning_progress', $this->getRefId()); + $has_access = false; + if ($this->getMode() === self::LP_CONTEXT_REPOSITORY) { + $has_access = ilLearningProgressAccess::checkAccess($this->getRefId()); + } elseif ($this->getMode() === self::LP_CONTEXT_ADMINISTRATION) { + $has_access = ilObjUserTracking::_hasLearningProgressOtherUsers(); + } elseif ($this->getMode() === self::LP_CONTEXT_USER_FOLDER) { + $has_access = $this->access->checkAccess('read', '', $this->getRefId()); + } elseif ($this->getMode() === self::LP_CONTEXT_PERSONAL_DESKTOP) { + $has_access = ilObjUserTracking::_hasLearningProgressLearner() || ilObjUserTracking::_hasLearningProgressOtherUsers(); + } elseif ($this->getMode() === self::LP_CONTEXT_ORG_UNIT) { + $has_access = ilObjOrgUnitAccess::_checkAccessToUserLearningProgress($this->getRefId(), $this->getUserId()); + } if ($has_access) { $this->handleCommand(); - } - if (!$has_access) { + } else { $this->error->raiseError($this->lng->txt('permission_denied'), $this->error->WARNING); } } From ae4353d1e8d6f897b9f59497d2257aea3ae30df1 Mon Sep 17 00:00:00 2001 From: Stefan Meyer Date: Wed, 9 Sep 2026 18:23:55 +0200 Subject: [PATCH 2/2] Tracking: cpr --- .../Tracking/classes/class.ilLearningProgressBaseGUI.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Services/Tracking/classes/class.ilLearningProgressBaseGUI.php b/Services/Tracking/classes/class.ilLearningProgressBaseGUI.php index 8988cd60a0bf..0ce4b1fd07f1 100644 --- a/Services/Tracking/classes/class.ilLearningProgressBaseGUI.php +++ b/Services/Tracking/classes/class.ilLearningProgressBaseGUI.php @@ -1,7 +1,5 @@