aboutsummaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorJan-Hendrik Willms <tleilax+studip@gmail.com>2024-05-06 11:44:58 +0000
committerDavid Siegfried <david.siegfried@uni-vechta.de>2024-05-06 11:44:58 +0000
commite278ef0a79fbd9ef33b9fa5af1ac7e3e6145c8eb (patch)
tree7f41103b8bccb7dd81f759c4cad4a6de2e9d0235 /app
parent4d98ebd6c7f57d8cc10599c74f2c8c061e907d09 (diff)
fixes #3672
Closes #3672 Merge request studip/studip!2649
Diffstat (limited to 'app')
-rw-r--r--app/controllers/course/statusgroups.php16
-rw-r--r--app/views/course/dates/_date_row.php17
-rw-r--r--app/views/course/statusgroups/details.php30
3 files changed, 62 insertions, 1 deletions
diff --git a/app/controllers/course/statusgroups.php b/app/controllers/course/statusgroups.php
index c15733d..48939bd 100644
--- a/app/controllers/course/statusgroups.php
+++ b/app/controllers/course/statusgroups.php
@@ -1487,4 +1487,20 @@ class Course_StatusgroupsController extends AuthenticatedController
return $members->orderBy($order);
}
+
+ public function details_action(Statusgruppen $group): void
+ {
+ $course = Course::findCurrent();
+
+ if ($course->id !== $group->range_id) {
+ throw new AccessDeniedException();
+ }
+
+ PageLayout::setTitle(sprintf(
+ _('Personen der Gruppe %s'),
+ $group->name
+ ));
+
+ $this->group = $group;
+ }
}
diff --git a/app/views/course/dates/_date_row.php b/app/views/course/dates/_date_row.php
index 0246455..8aea8b3 100644
--- a/app/views/course/dates/_date_row.php
+++ b/app/views/course/dates/_date_row.php
@@ -1,4 +1,15 @@
<?php
+/**
+ * @var bool $show_raumzeit
+ * @var bool $has_access
+ * @var bool $is_next_date
+ * @var bool $cancelled_dates_locked
+ * @var Course_DatesController $controller
+ * @var CourseDate $date
+ * @var Course $course
+ */
+?>
+<?php
$icon = 'date';
$dialog_url = $show_raumzeit
? $controller->url_for('course/dates/details/' . $date->id)
@@ -30,7 +41,11 @@ $dialog_url = $show_raumzeit
<? if (count($date->statusgruppen) > 0) : ?>
<ul class="clean">
<? foreach ($date->statusgruppen as $statusgruppe) : ?>
- <li><?= htmlReady($statusgruppe->name) ?></li>
+ <li>
+ <a href="<?= $controller->link_for('course/statusgroups/details', $statusgruppe) ?>" data-dialog="size=default">
+ <?= htmlReady($statusgruppe->name) ?>
+ </a>
+ </li>
<? endforeach ?>
</ul>
<? else : ?>
diff --git a/app/views/course/statusgroups/details.php b/app/views/course/statusgroups/details.php
new file mode 100644
index 0000000..db80777
--- /dev/null
+++ b/app/views/course/statusgroups/details.php
@@ -0,0 +1,30 @@
+<?php
+/**
+ * @var Statusgruppen $group
+ */
+?>
+<table class="default">
+ <caption class="hide-in-dialog">
+ <?= sprintf(_('Gruppe %s'), htmlReady($group->name)) ?>
+ </caption>
+ <colgroup>
+ <col style="width: 32px">
+ <col>
+ </colgroup>
+ <tbody>
+ <? foreach ($group->members as $member): ?>
+ <tr>
+ <td>
+ <a href="<?= URLHelper::getLink('dispatch.php/profile', ['username' => $member->user->username], true) ?>">
+ <?= $member->avatar() ?>
+ </a>
+ </td>
+ <td>
+ <a href="<?= URLHelper::getLink('dispatch.php/profile', ['username' => $member->user->username], true) ?>">
+ <?= htmlReady($member->user->getFullname()) ?>
+ </a>
+ </td>
+ </tr>
+ <? endforeach; ?>
+ </tbody>
+</table>