diff options
| author | Ron Lucke <lucke@elan-ev.de> | 2023-09-15 12:30:51 +0000 |
|---|---|---|
| committer | Elmar Ludwig <elmar.ludwig@uni-osnabrueck.de> | 2023-09-15 12:30:51 +0000 |
| commit | 40e5c18af7b26482cb724a2d074a8fd46c33fc2d (patch) | |
| tree | 2fb5200f26d5d5615d8f0fa96d3aa0b32374bd82 /app/controllers/courseware_controller.php | |
| parent | 599ad99435ac357fd7a9893a25114571550d3dc1 (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.php | 12 |
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]); } |
