aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRasmus Fuhse <fuhse@data-quest.de>2025-02-14 12:22:34 +0000
committerRasmus Fuhse <fuhse@data-quest.de>2025-02-14 12:22:34 +0000
commit0a36b77d2467ce4aa7ad38b54392cc23bbb1cb48 (patch)
tree11eea324383df7524ff87010a61fb051da72766a
parent3592861804c484d3386c1be5eb050c1761892c59 (diff)
Resolve "Neue Studiengruppe-Step: Konfiguration (STUDYGROUP_ON_STGTEIL_ENABLE) wird nicht berücksichtigt, Icon und Position falsch"
Closes #5252 Merge request studip/studip!3937
-rw-r--r--app/controllers/search/studiengaenge.php12
-rw-r--r--app/views/search/studiengaenge/verlauf.php92
-rw-r--r--lib/classes/coursewizardsteps/BasicDataWizardStep.php4
3 files changed, 57 insertions, 51 deletions
diff --git a/app/controllers/search/studiengaenge.php b/app/controllers/search/studiengaenge.php
index d37ec82..a43e156 100644
--- a/app/controllers/search/studiengaenge.php
+++ b/app/controllers/search/studiengaenge.php
@@ -364,7 +364,7 @@ class Search_StudiengaengeController extends MVVController
$this->current_version->id,
$language,
'big',
- null,
+ null,
true
);
$widget->addLink(
@@ -376,6 +376,16 @@ class Search_StudiengaengeController extends MVVController
}
Sidebar::get()->addWidget($widget, 'mhb_export');
+
+ if (Config::get()->STUDYGROUP_ON_STGTEIL_ENABLE) {
+ $widget = new ActionsWidget();
+ $widget->addLink(
+ _('Neue Studiengruppe erstellen'),
+ URLHelper::getURL('dispatch.php/course/wizard', ['studygroup' => 1, 'stgteil_id' => $this->stg_teil->id] ),
+ Icon::create('add')
+ );
+ Sidebar::Get()->addWidget($widget);
+ }
}
if ($this->breadcrumb) {
$this->breadcrumb->append($this->studiengang, 'studiengang');
diff --git a/app/views/search/studiengaenge/verlauf.php b/app/views/search/studiengaenge/verlauf.php
index c012f14..d5357bc 100644
--- a/app/views/search/studiengaenge/verlauf.php
+++ b/app/views/search/studiengaenge/verlauf.php
@@ -128,58 +128,54 @@
<? endforeach ?>
</table>
- <h2><?= _('Studentische Arbeitsgruppen') ?></h2>
+ <? if (Config::get()->STUDYGROUP_ON_STGTEIL_ENABLE) : ?>
+ <h2><?= _('Studentische Arbeitsgruppen') ?></h2>
- <section class="studip-tiles">
- <? foreach ($stg_teil->studygroups as $course) : ?>
- <div>
- <div class="with-action-menu">
+ <section class="studip-tiles">
+ <? foreach ($stg_teil->studygroups as $course) : ?>
+ <div>
+ <div class="with-action-menu">
+ <div>
+ <a href="<?= URLHelper::getLink('dispatch.php/course/studygroup/details/'.$course->id) ?>">
+ <?= CourseAvatar::getAvatar($course->id)->getImageTag(Avatar::MEDIUM) ?>
+ </a>
+ <a href="<?= URLHelper::getLink('dispatch.php/course/studygroup/details/'.$course->id) ?>">
+ <strong>
+ <?= htmlReady($course->name) ?>
+ </strong>
+ <div>
+ <?= sprintf(
+ ngettext(
+ '1 Mitglied',
+ '%s Mitglieder',
+ count($course->members)
+ ),
+ $course->members
+ ) ?>
+ </div>
+ </a>
+ </div>
+ <? if ($GLOBALS['perm']->have_perm('admin')) : ?>
+ <form method="post">
+ <?= CSRFProtection::tokenTag() ?>
+ <button class="undecorated"
+ data-confirm="<?= sprintf(_('Wirklich diese Studiengruppe aus dem Studiengang %s entfernen?'), $stg_teil->getDisplayName()) ?>"
+ formaction="<?= $controller->remove_studygroup($course->id, $stg_teil->id) ?>">
+ <?= Icon::create('trash') ?>
+ </button>
+ </form>
+ <? endif ?>
+ </div>
+ <? if (count($course->tags)) : ?>
<div>
- <a href="<?= URLHelper::getLink('dispatch.php/course/studygroup/details/'.$course->id) ?>">
- <?= CourseAvatar::getAvatar($course->id)->getImageTag(Avatar::MEDIUM) ?>
- </a>
- <a href="<?= URLHelper::getLink('dispatch.php/course/studygroup/details/'.$course->id) ?>">
- <strong>
- <?= htmlReady($course->name) ?>
- </strong>
- <div>
- <?= sprintf(
- ngettext(
- '1 Mitglied',
- '%s Mitglieder',
- count($course->members)
- ),
- $course->members
- ) ?>
- </div>
- </a>
+ <? foreach ($course->tags as $tag) : ?>
+ <?= '#'.htmlReady($tag->name) ?>
+ <? endforeach ?>
</div>
- <? if ($GLOBALS['perm']->have_perm('admin')) : ?>
- <form method="post">
- <?= CSRFProtection::tokenTag() ?>
- <button class="undecorated"
- data-confirm="<?= sprintf(_('Wirklich diese Studiengruppe aus dem Studiengang %s entfernen?'), $stg_teil->getDisplayName()) ?>"
- formaction="<?= $controller->remove_studygroup($course->id, $stg_teil->id) ?>">
- <?= Icon::create('trash') ?>
- </button>
- </form>
<? endif ?>
</div>
- <? if (count($course->tags)) : ?>
- <div>
- <? foreach ($course->tags as $tag) : ?>
- <?= '#'.htmlReady($tag->name) ?>
- <? endforeach ?>
- </div>
- <? endif ?>
- </div>
- <? endforeach ?>
+ <? endforeach ?>
- <a href="<?= URLHelper::getLink('dispatch.php/course/wizard', ['studygroup' => 1, 'stgteil_id' => $stg_teil->id] )?>">
- <div>
- <?= Icon::create('add')->asImg(50) ?>
- <strong><?= _('Neue Studiengruppe erstellen') ?></strong>
- </div>
- </a>
- </section>
+ </section>
+ <? endif ?>
<? endif ?>
diff --git a/lib/classes/coursewizardsteps/BasicDataWizardStep.php b/lib/classes/coursewizardsteps/BasicDataWizardStep.php
index 18892f0..726230b 100644
--- a/lib/classes/coursewizardsteps/BasicDataWizardStep.php
+++ b/lib/classes/coursewizardsteps/BasicDataWizardStep.php
@@ -436,7 +436,7 @@ class BasicDataWizardStep implements CourseWizardStep
$course->admission_prelim = $semclass['admission_prelim_default'];
$course->lesezugriff = $semclass['default_read_level'] ?: 1;
$course->schreibzugriff = $semclass['default_write_level'] ?: 1;
- $course->admission_turnout = $values['maxmembers'] ?: null;
+ $course->admission_turnout = $values['maxmembers'] ?? null;
// Studygroups: access and description.
if (in_array($values['coursetype'], studygroup_sem_types())) {
@@ -530,7 +530,7 @@ class BasicDataWizardStep implements CourseWizardStep
}
$relation = TagRelation::findOneBySQL(
- "`range_id` = :course_id AND `range_type` = 'course' AND `tag_id` = :tag_id",
+ "`range_id` = :course_id AND `range_type` = 'course' AND `tag_id` = :tag_id",
[
'tag_id' => $tag->id,
'course_id' => $course->id