aboutsummaryrefslogtreecommitdiff
path: root/app/controllers/courseware_controller.php
diff options
context:
space:
mode:
authorRon Lucke <lucke@elan-ev.de>2023-09-15 12:30:51 +0000
committerElmar Ludwig <elmar.ludwig@uni-osnabrueck.de>2023-09-15 12:30:51 +0000
commit40e5c18af7b26482cb724a2d074a8fd46c33fc2d (patch)
tree2fb5200f26d5d5615d8f0fa96d3aa0b32374bd82 /app/controllers/courseware_controller.php
parent599ad99435ac357fd7a9893a25114571550d3dc1 (diff)
fix #3143
Closes #3143 Merge request studip/studip!2143
Diffstat (limited to 'app/controllers/courseware_controller.php')
-rw-r--r--app/controllers/courseware_controller.php12
1 files changed, 11 insertions, 1 deletions
diff --git a/app/controllers/courseware_controller.php b/app/controllers/courseware_controller.php
index fb2b39c..138a986 100644
--- a/app/controllers/courseware_controller.php
+++ b/app/controllers/courseware_controller.php
@@ -5,12 +5,22 @@ use Courseware\Unit;
abstract class CoursewareController extends AuthenticatedController
{
+ public function before_filter(&$action, &$args): void
+ {
+ parent::before_filter($action, $args);
+
+ if ($action === 'index' && Request::int('element_id')) {
+ $element = StructuralElement::find(Request::int('element_id'));
+ $this->redirect($this->action_url('courseware#/structural_element/' . $element->id, $element->findUnit()->id));
+ }
+ }
+
public function redirectToFirstUnit(string $context, string $rangeId, array $last): void
{
$path = $context === 'user' ? 'contents' : $context;
$last_element = $this->getLastElement($last, $context, $rangeId);
if ($last_element) {
- $unit = $last_element->findUnit($last);
+ $unit = $last_element->findUnit();
} else {
$unit = Unit::findOneBySql('range_id = ? ORDER BY mkdate ASC', [$rangeId]);
}