From e7b6072a4d8ab3a4da0a06e6f161b631fb110680 Mon Sep 17 00:00:00 2001
From: Thomas Hackl <hackl@data-quest.de>
Date: Mon, 4 Mar 2024 08:11:57 +0000
Subject: [PATCH] Resolve "Call to a member function canVisit() on null"

Closes #3772

Merge request studip/studip!2645
---
 app/controllers/course/courseware.php | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/app/controllers/course/courseware.php b/app/controllers/course/courseware.php
index 76f5105ff9f..30ab5f166ef 100644
--- a/app/controllers/course/courseware.php
+++ b/app/controllers/course/courseware.php
@@ -67,7 +67,7 @@ class Course_CoursewareController extends CoursewareController
         $lastStructuralElement = \Courseware\StructuralElement::findOneById($last);
 
         if ($unit_id === null) {
-            if ($lastStructuralElement->canVisit(User::findCurrent())) {
+            if (isset($lastStructuralElement) && $lastStructuralElement->canVisit(User::findCurrent())) {
                 $this->redirectToFirstUnit('course', Context::getId(), $last);
             } else {
                 $this->redirectToFirstUnit('course', Context::getId(), []);
@@ -79,7 +79,7 @@ class Course_CoursewareController extends CoursewareController
         $this->unit_id = null;
         $unit = Unit::find($unit_id);
         if (isset($unit)) {
-            if ($lastStructuralElement->canVisit($user)) {
+            if (isset($lastStructuralElement) && $lastStructuralElement->canVisit($user)) {
                 $this->setEntryElement('course', $unit, $last, Context::getId());
             } else {
                 $rootElement = [Context::getId() => $unit->structural_element->id];
-- 
GitLab