aboutsummaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorPeter Thienel <thienel@data-quest.de>2025-01-30 09:49:59 +0000
committerPeter Thienel <thienel@data-quest.de>2025-01-30 09:49:59 +0000
commit71c73dbc19f09bfced5d68a3087d93542c8f2d25 (patch)
tree74396385316ab87af26a69ce149440b824201859 /app
parent95f497150c42b6c6e34e93e869ea76aaf565e011 (diff)
Resolve "MVV: Bearbeitungskontext geht nach Bearbeitung einer Fachsemsterzuordnung verloren"
Closes #5203 Merge request studip/studip!3890
Diffstat (limited to 'app')
-rw-r--r--app/controllers/studiengaenge/shared_version.php10
-rw-r--r--app/controllers/studiengaenge/studiengangteile.php2
-rw-r--r--app/views/studiengaenge/studiengangteile/index.php16
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 @@
</thead>
<? if ($count) : ?>
<? foreach ($stgteile as $stgteil): ?>
- <tbody class="<?php if (!$stgteil->count_versionen) echo 'empty' ?> <?= $stgteil_id === $stgteil->getId() ? 'not-collapsed' : 'collapsed' ?>">
+ <tbody class="<?php if (!$stgteil->count_versionen) echo 'empty' ?> <?= $stgteil_id === $stgteil->id ? 'not-collapsed' : 'collapsed' ?>">
<tr class="header-row">
<td class="toggle-indicator">
<? if ($stgteil->count_versionen) : ?>
<a class="mvv-load-in-new-row"
- href="<?= $controller->action_link('details/' . $stgteil->getId()) ?>">
+ href="<?= $controller->action_link('details/' . $stgteil->id) ?>">
<?= htmlReady($stgteil->fach_name) ?>
<? if ($stgteil->count_contacts) : ?>
<?= Icon::create('community', Icon::ROLE_INFO, ['title' => sprintf(ngettext('%s Kontakt zugeordnet', '%s Kontakte zugeordnet', $stgteil->count_contacts), $stgteil->count_contacts)]) ?>
@@ -51,21 +51,21 @@
<? $actionMenu = ActionMenu::get()->setContext($stgteil->fach_name) ?>
<? if (MvvPerm::havePermCreate('StgteilVersion')) : ?>
<? $actionMenu->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')])
) ?>
<? endif; ?>
<? if (MvvPerm::havePermWrite($stgteil)) : ?>
<? $actionMenu->addLink(
- $controller->action_url('stgteil/' . $stgteil->getId()),
+ $controller->action_url('stgteil/' . $stgteil->id),
_('Studiengangteil bearbeiten'),
Icon::create('edit', Icon::ROLE_CLICKABLE, ['title' => _('Studiengangteil bearbeiten')])
) ?>
<? endif; ?>
<? if (MvvPerm::havePermCreate('StudiengangTeil')) : ?>
<? $actionMenu->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 @@
<?= $actionMenu->render() ?>
</td>
</tr>
- <? if (!empty($stgteil_id) && ($stgteil_id == $stgteil->getId())) : ?>
- <? $versionen = StgteilVersion::findByStgteil($stgteil->getId()); ?>
+ <? if (!empty($stgteil_id) && ($stgteil_id == $stgteil->id)) : ?>
+ <? $versionen = StgteilVersion::findByStgteil($stgteil->id); ?>
<tr class="loaded-details nohover">
<?= $this->render_partial('studiengaenge/studiengangteile/details', compact('stgteil_id', 'versionen')) ?>
</tr>