diff --git a/app/controllers/course/statusgroups.php b/app/controllers/course/statusgroups.php index c15733dfc466fabf593516935cb62649a88eedd0..48939bdea8d69426218c1d6a522d4554b05259f4 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 0246455cf8244f19ac3c34dc43d7bb79a8b153f8..8aea8b365055d434438393fb6a709a103b013aa7 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 0000000000000000000000000000000000000000..db807777b55147ffc9f098a3aca22f7dce3a6c28 --- /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>