diff options
| author | Rasmus Fuhse <fuhse@data-quest.de> | 2025-02-14 12:22:34 +0000 |
|---|---|---|
| committer | Rasmus Fuhse <fuhse@data-quest.de> | 2025-02-14 12:22:34 +0000 |
| commit | 0a36b77d2467ce4aa7ad38b54392cc23bbb1cb48 (patch) | |
| tree | 11eea324383df7524ff87010a61fb051da72766a | |
| parent | 3592861804c484d3386c1be5eb050c1761892c59 (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.php | 12 | ||||
| -rw-r--r-- | app/views/search/studiengaenge/verlauf.php | 92 | ||||
| -rw-r--r-- | lib/classes/coursewizardsteps/BasicDataWizardStep.php | 4 |
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 |
