From 71c73dbc19f09bfced5d68a3087d93542c8f2d25 Mon Sep 17 00:00:00 2001 From: Peter Thienel Date: Thu, 30 Jan 2025 09:49:59 +0000 Subject: Resolve "MVV: Bearbeitungskontext geht nach Bearbeitung einer Fachsemsterzuordnung verloren" Closes #5203 Merge request studip/studip!3890 --- app/controllers/studiengaenge/shared_version.php | 10 +++++----- app/controllers/studiengaenge/studiengangteile.php | 2 -- app/views/studiengaenge/studiengangteile/index.php | 16 ++++++++-------- 3 files changed, 13 insertions(+), 15 deletions(-) diff --git a/app/controllers/studiengaenge/shared_version.php b/app/controllers/studiengaenge/shared_version.php index a6265b0..98d09a9 100644 --- a/app/controllers/studiengaenge/shared_version.php +++ b/app/controllers/studiengaenge/shared_version.php @@ -355,7 +355,6 @@ abstract class SharedVersionController extends MVVController public function abschnitte_action($version_id) { - $this->abschnitt_id = null; $this->abschnitte($version_id); if (Request::isXhr()) { $this->render_template('studiengaenge/versionen/abschnitte'); @@ -674,7 +673,10 @@ abstract class SharedVersionController extends MVVController public function details_abschnitt_action($abschnitt_id, $modul_id = null) { - $this->modul_id = $modul_id; + if ($modul_id) { + $this->modul = Modul::find($modul_id); + $this->modul_id = $this->modul->id; + } $this->abschnitt = StgteilAbschnitt::find($abschnitt_id); if (!$this->abschnitt) { PageLayout::postError(_('Unbekannter Abschnitt')); @@ -720,10 +722,8 @@ abstract class SharedVersionController extends MVVController if (Request::isXhr()) { $this->render_template('studiengaenge/versionen/details_abschnitt'); } else { - if ($modul_id) { - $this->modul = Modul::find($modul_id); + if ($this->modul_id) { $this->abschnitt_id = $this->abschnitt->id; - $this->modul_id = $this->modul->id; $this->stgteil_id = $this->version->studiengangteil->id; } $this->abschnitte_action($this->version_id); diff --git a/app/controllers/studiengaenge/studiengangteile.php b/app/controllers/studiengaenge/studiengangteile.php index bc1449f..0803d39 100644 --- a/app/controllers/studiengaenge/studiengangteile.php +++ b/app/controllers/studiengaenge/studiengangteile.php @@ -35,11 +35,9 @@ class Studiengaenge_StudiengangteileController extends SharedVersionController $search_result = $this->getSearchResult('StudiengangTeil'); $this->sortby = $this->sortby ?: 'fach_name,zusatz,kp'; $this->order = $this->order ?: 'ASC'; - $this->stgteil_id = null; //get data if (count($search_result)) { $filter['stgteil_id'] = $search_result; - $this->stgteil_id = $search_result; $this->stgteile = StudiengangTeil::getAllEnriched( $this->sortby, $this->order, $filter, self::$items_per_page, diff --git a/app/views/studiengaenge/studiengangteile/index.php b/app/views/studiengaenge/studiengangteile/index.php index 353b2c6..306f1c7 100644 --- a/app/views/studiengaenge/studiengangteile/index.php +++ b/app/views/studiengaenge/studiengangteile/index.php @@ -26,12 +26,12 @@ - + count_versionen) : ?> + href="action_link('details/' . $stgteil->id) ?>"> fach_name) ?> count_contacts) : ?> sprintf(ngettext('%s Kontakt zugeordnet', '%s Kontakte zugeordnet', $stgteil->count_contacts), $stgteil->count_contacts)]) ?> @@ -51,21 +51,21 @@ setContext($stgteil->fach_name) ?> addLink( - $controller->action_url('version/' . $stgteil->getId()), + $controller->action_url('version/' . $stgteil->id), _('Neue Version anlegen'), Icon::create('file', Icon::ROLE_CLICKABLE, ['title' => _('Neue Version anlegen')]) ) ?> addLink( - $controller->action_url('stgteil/' . $stgteil->getId()), + $controller->action_url('stgteil/' . $stgteil->id), _('Studiengangteil bearbeiten'), Icon::create('edit', Icon::ROLE_CLICKABLE, ['title' => _('Studiengangteil bearbeiten')]) ) ?> addLink( - $controller->action_url('copy/' . $stgteil->getId()), + $controller->action_url('copy/' . $stgteil->id), _('Studiengangteil kopieren'), Icon::create('files', Icon::ROLE_CLICKABLE, ['title' => _('Studiengangteil kopieren')]) ) ?> @@ -76,7 +76,7 @@ _('Studiengangteil löschen'), Icon::create('trash', Icon::ROLE_CLICKABLE, [ 'title' => _('Studiengangteil löschen'), - 'formaction' => $controller->action_url('delete/' . $stgteil->getId()), + 'formaction' => $controller->action_url('delete/' . $stgteil->id), 'data-confirm' => sprintf(_('Wollen Sie wirklich den Studiengangteil "%s" löschen?'), $stgteil->getDisplayName()), ]) ) ?> @@ -84,8 +84,8 @@ render() ?> - getId())) : ?> - getId()); ?> + id)) : ?> + id); ?> render_partial('studiengaenge/studiengangteile/details', compact('stgteil_id', 'versionen')) ?> -- cgit v1.0