diff options
| author | Rasmus Fuhse <fuhse@data-quest.de> | 2025-01-10 12:13:24 +0000 |
|---|---|---|
| committer | Rasmus Fuhse <fuhse@data-quest.de> | 2025-01-10 12:13:24 +0000 |
| commit | 39745c9aa8bb099e8bda1f4d775ed229dbe97be4 (patch) | |
| tree | a2a96deecf48e62d995507c5c8b39eea9ae9293d /lib/modules | |
| parent | 03e8e1d8f9100cf9bfcb111b63ac4077f510a026 (diff) | |
Resolve "Studiengruppen erweitern" - Hauptbronch
Closes #3616
Merge request studip/studip!2509
Diffstat (limited to 'lib/modules')
| -rw-r--r-- | lib/modules/CoreAdmin.php | 5 | ||||
| -rw-r--r-- | lib/modules/CoreStudygroupAdmin.php | 1 | ||||
| -rw-r--r-- | lib/modules/MyStudygroupsWidget.php | 38 | ||||
| -rw-r--r-- | lib/modules/StudygroupWidget.php | 39 |
4 files changed, 83 insertions, 0 deletions
diff --git a/lib/modules/CoreAdmin.php b/lib/modules/CoreAdmin.php index 4c0cc3c..aded3ae 100644 --- a/lib/modules/CoreAdmin.php +++ b/lib/modules/CoreAdmin.php @@ -93,6 +93,11 @@ class CoreAdmin extends CorePlugin implements StudipModule $item->setDescription(_('Vorlagen zur Erhebung weiterer Angaben von Teilnehmenden auswählen.')); $navigation->addSubNavigation('additional_data', $item); + $item = new Navigation(_('Verknüpfte Studiengruppen'), 'dispatch.php/course/connectedstudygroups'); + $item->setImage(Icon::create('studygroup')); + $item->setDescription(_('Studiengruppen verknüpfen bzw. verwalten')); + $navigation->addSubNavigation('connectedstudygroups', $item); + } // endif modules only seminars if (Config::get()->VOTE_ENABLE) { diff --git a/lib/modules/CoreStudygroupAdmin.php b/lib/modules/CoreStudygroupAdmin.php index acf5973..5c74996 100644 --- a/lib/modules/CoreStudygroupAdmin.php +++ b/lib/modules/CoreStudygroupAdmin.php @@ -39,6 +39,7 @@ class CoreStudygroupAdmin extends CorePlugin implements StudipModule $navigation->addSubNavigation('contentmodules', new Navigation(_('Werkzeuge'), "dispatch.php/course/contentmodules?cid={$course_id}")); $navigation->addSubNavigation('main', new Navigation(_('Verwaltung'), "dispatch.php/course/studygroup/edit/?cid={$course_id}")); $navigation->addSubNavigation('avatar', new Navigation(_(' Studiengruppenbild'), "dispatch.php/course/studygroup/avatar?cid={$course_id}")); + $navigation->addSubNavigation('connectedcourses', new Navigation(_('Verknüpfte Veranstaltungen'), "dispatch.php/course/connectedcourses?cid={$course_id}")); if (!$GLOBALS['perm']->have_perm('admin') && Config::get()->VOTE_ENABLE) { $item = new Navigation(_('Fragebögen'), 'dispatch.php/questionnaire/courseoverview'); diff --git a/lib/modules/MyStudygroupsWidget.php b/lib/modules/MyStudygroupsWidget.php new file mode 100644 index 0000000..1709419 --- /dev/null +++ b/lib/modules/MyStudygroupsWidget.php @@ -0,0 +1,38 @@ +<?php +/** + * My Study group widget. Displays a list of own study groups + * + * @author + * @license GPL2 or any later version + * @since Stud.IP 6.0 + */ +class MyStudygroupsWidget extends CorePlugin implements PortalPlugin +{ + public function getPluginName() + { + return _('Meine Studiengruppen'); + } + + public function getMetadata() + { + return [ + 'description' => _('Dieses Widget zeigt eine Liste Ihrer Studiengruppen an.') + ]; + } + + public function getPortalTemplate() + { + $template = $GLOBALS['template_factory']->open('start/my_studygroups'); + + $controller = app(\Trails\Dispatcher::class)->load_controller('my_studygroups'); + $response = $controller->relayWithRedirect('my_studygroups/index/true'); + $template->content = $response->body; + + $navigation = new Navigation('', 'dispatch.php/course/wizard?studygroup=1'); + $navigation->setImage(Icon::create('add', Icon::ROLE_CLICKABLE, ['title' => _('Neue Studiengruppe anlegen')])); + $navigation->setLinkAttributes(['data-dialog' => 'reload-on-close']); + $template->icons = [$navigation]; + + return $template; + } +} diff --git a/lib/modules/StudygroupWidget.php b/lib/modules/StudygroupWidget.php new file mode 100644 index 0000000..beddd4f --- /dev/null +++ b/lib/modules/StudygroupWidget.php @@ -0,0 +1,39 @@ +<?php +/** + * Study group widget. Displays a list of possibly interesting study groups + * + * @author + * @license GPL2 or any later version + * @since Stud.IP 6.0 + */ + +class StudygroupWidget extends CorePlugin implements PortalPlugin +{ + public function getPluginName() + { + return _('Für dich vorgeschlagene Studiengruppen'); + } + + public function getMetadata() + { + return [ + 'description' => _('Dieses Widget zeigt eine Liste von Vorschlägen interessanter Studiengruppen an.') + ]; + } + + public function getPortalTemplate() + { + $template = $GLOBALS['template_factory']->open('start/studygroups'); + + $controller = app(\Trails\Dispatcher::class)->load_controller('my_studygroups'); + $response = $controller->relayWithRedirect('my_studygroups/proposals'); + $template->proposals = $response->body; + + $navigation = new Navigation('', 'dispatch.php/course/wizard?studygroup=1'); + $navigation->setImage(Icon::create('add', Icon::ROLE_CLICKABLE, ['title' => _('Neue Studiengruppe anlegen')])); + $navigation->setLinkAttributes(['data-dialog' => 'reload-on-close']); + $template->icons = [$navigation]; + + return $template; + } +} |
