From c3f4673faf6668d1ae13e4fc5b061ab46010a33d Mon Sep 17 00:00:00 2001
From: Jan-Hendrik Willms <tleilax+github@gmail.com>
Date: Fri, 11 Feb 2022 16:46:15 +0100
Subject: [PATCH] adjust uses of relocate that are prone to fail, fixes #674

---
 app/controllers/lvgruppen/lvgruppen.php          | 2 +-
 app/controllers/module/module.php                | 4 ++--
 app/controllers/studiengaenge/shared_version.php | 4 ++--
 app/controllers/studiengaenge/studiengaenge.php  | 6 +++---
 4 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/app/controllers/lvgruppen/lvgruppen.php b/app/controllers/lvgruppen/lvgruppen.php
index 9991136890f..43831cbe556 100644
--- a/app/controllers/lvgruppen/lvgruppen.php
+++ b/app/controllers/lvgruppen/lvgruppen.php
@@ -204,7 +204,7 @@ class Lvgruppen_LvgruppenController extends MVVController
                     $success_message,
                     htmlReady($this->lvgruppe->getDisplayName())
                 ));
-                $this->relocate('/index');
+                $this->relocate($this->url_for('/index'));
                 return;
             }
         }
diff --git a/app/controllers/module/module.php b/app/controllers/module/module.php
index 2c2fa356dee..b05f09701e6 100644
--- a/app/controllers/module/module.php
+++ b/app/controllers/module/module.php
@@ -990,7 +990,7 @@ class Module_ModuleController extends MVVController
                     } else {
                         PageLayout::postInfo(_('Es wurden keine Änderungen vorgenommen.'));
                     }
-                    $this->relocate('/details/' . $this->modulteil->modul_id . '/' . $this->modulteil->id);
+                    $this->relocate($this->url_for('/details/' . $this->modulteil->modul_id . '/' . $this->modulteil->id));
                     return;
                 }
             }
@@ -1079,7 +1079,7 @@ class Module_ModuleController extends MVVController
             $this->variante = $this->modul->modul_variante;
         } else {
             PageLayout::postError(_('Unbekanntes Modul'));
-            $this->relocate('/index');
+            $this->relocate($this->url_for('/index'));
         }
     }
 
diff --git a/app/controllers/studiengaenge/shared_version.php b/app/controllers/studiengaenge/shared_version.php
index 867bce36586..b143d407d00 100644
--- a/app/controllers/studiengaenge/shared_version.php
+++ b/app/controllers/studiengaenge/shared_version.php
@@ -147,7 +147,7 @@ class SharedVersionController extends MVVController
                     ->setInputStyle('width: 240px');
         } else {
             PageLayout::postError(_('Unbekannte Version'));
-            $this->relocate('/versionen');
+            $this->relocate($this->url_for('/versionen'));
         }
         PageLayout::setTitle(_('Versionenvergleich'));
     }
@@ -587,7 +587,7 @@ class SharedVersionController extends MVVController
                             _('Es wurden keine Änderungen an der Zuordnung der Fachsemester vorgenommen.')
                         );
                     }
-                    $this->relocate('/details_abschnitt/' . $this->abschnitt_modul->abschnitt_id . '/' . $this->abschnitt_modul->modul_id);
+                    $this->relocate($this->url_for('/details_abschnitt/' . $this->abschnitt_modul->abschnitt_id . '/' . $this->abschnitt_modul->modul_id));
                     return;
                 }
                 $this->render_template('studiengaenge/versionen/modulteil_semester', $this->layout);
diff --git a/app/controllers/studiengaenge/studiengaenge.php b/app/controllers/studiengaenge/studiengaenge.php
index 208e169a36a..108eb61b620 100644
--- a/app/controllers/studiengaenge/studiengaenge.php
+++ b/app/controllers/studiengaenge/studiengaenge.php
@@ -1143,7 +1143,7 @@ class Studiengaenge_StudiengaengeController extends MVVController
 
         if (!$this->studiengang) {
             PageLayout::postError(_('Unbekannter Studiengang'));
-            $this->relocate('/index');
+            $this->relocate($this->url_for('/index'));
             return;
         }
 
@@ -1160,7 +1160,7 @@ class Studiengaenge_StudiengaengeController extends MVVController
                     _('Studiengang "%s" genehmigt!'),
                     htmlReady($studiengang->getDisplayName())
                 ));
-                $this->relocate('/index');
+                $this->relocate($this->url_for('/index'));
                 return;
             }
         }
@@ -1177,7 +1177,7 @@ class Studiengaenge_StudiengaengeController extends MVVController
             $this->redirect($this->url_for('/index'));
         } else {
             if (Request::isXhr()) {
-                $this->relocate('/export/' . $studiengang->id);
+                $this->relocate($this->url_for('/export/' . $studiengang->id));
             }
 
             $all_contacts = $studiengang->contact_assignments->orderBy('position')
-- 
GitLab