aboutsummaryrefslogtreecommitdiff
path: root/app/views/course/timesrooms/_roomRequest.php
diff options
context:
space:
mode:
Diffstat (limited to 'app/views/course/timesrooms/_roomRequest.php')
-rw-r--r--app/views/course/timesrooms/_roomRequest.php114
1 files changed, 99 insertions, 15 deletions
diff --git a/app/views/course/timesrooms/_roomRequest.php b/app/views/course/timesrooms/_roomRequest.php
index 3eecb3c..9f80e96 100644
--- a/app/views/course/timesrooms/_roomRequest.php
+++ b/app/views/course/timesrooms/_roomRequest.php
@@ -1,12 +1,7 @@
-<?php
-$global_requests = $course->room_requests->filter(function (RoomRequest $request) {
- return $request->closed < 2 && !$request->termin_id;
-});
-?>
-<section class="contentbox">
+<section class="contentbox" id="request">
<header>
<h1>
- <?= _('Raumanfrage für die gesamte Veranstaltung') ?>
+ <?= _('Raumanfragen für die gesamte Veranstaltung') ?>
</h1>
<nav>
@@ -14,7 +9,7 @@ $global_requests = $course->room_requests->filter(function (RoomRequest $request
_('Hier können Sie für die gesamte Veranstaltung, also für alle regelmäßigen und unregelmäßigen Termine, '
. 'eine Raumanfrage erstellen.')
) ?>
- <a class="link-add" href="<?= $controller->url_for('course/room_requests/request_start',
+ <a class="link-add" href="<?= $controller->link_for('course/room_requests/new_request',
[
'cid' => $course->id,
'range_str' => 'course',
@@ -29,13 +24,102 @@ $global_requests = $course->room_requests->filter(function (RoomRequest $request
</nav>
</header>
+ <?= $flash['message'] ?>
+
+ <? if (count($room_requests)) : ?>
<section>
- <? if (count($global_requests) > 0): ?>
- <p><?= _('Für diese Veranstaltung liegt eine offene Raumanfrage vor') ?></p>
- <?= Studip\LinkButton::create(_('Raumanfragen anzeigen'),
- URLHelper::getURL('dispatch.php/course/room_requests/index/' . $course->getId())) ?>
- <? else: ?>
- <p><?= _('Keine Raumanfrage vorhanden') ?></p>
- <? endif ?>
+ <table class="default sortable-table">
+ <colgroup>
+ <col style="width: 40%">
+ <col style="width: 20%">
+ <col>
+ <col style="width: 50px">
+ </colgroup>
+ <thead>
+ <tr class="sortable">
+ <th data-sort="text"><?= _('Art der Anfrage') ?></th>
+ <th data-sort="text"><?= _('Anfragender') ?></th>
+ <th data-sort="text"><?= _('Bearbeitungsstatus') ?></th>
+ <th></th>
+ </tr>
+ </thead>
+ <tbody>
+ <? foreach ($room_requests as $rr): ?>
+ <tr>
+ <td>
+ <?= htmlReady($rr->getTypeString(), 1, 1) ?>
+ </td>
+ <td>
+ <?= htmlReady($rr->user ? $rr->user->getFullName() : '') ?>
+ </td>
+ <td>
+ <?= htmlReady($rr->getStatusText()) ?>
+ </td>
+ <td class="actions">
+ <a class="load-in-new-row"
+ href="<?= $controller->link_for('course/room_requests/info/' . $rr->id) ?>"
+ aria-expanded="false">
+ <?= Icon::create('info')->asImg(['title' => _('Weitere Informationen einblenden')]) ?>
+ </a>
+ <? $params = [] ?>
+ <? $dialog = []; ?>
+ <? if (Request::isXhr()) : ?>
+ <? $params['asDialog'] = true; ?>
+ <? $dialog['data-dialog'] = 'size=big' ?>
+ <? endif ?>
+
+ <? $actionMenu = ActionMenu::get()->setContext($rr->getTypeString()) ?>
+ <? $actionMenu->addLink(
+ $controller->url_for('course/room_requests/request_show_summary/' . $rr->id, ['clear_cache' => 1]),
+ _('Diese Anfrage bearbeiten'),
+ Icon::create('edit'),
+ ['title' => _('Diese Anfrage bearbeiten'), 'data-dialog' => 'size=big']
+ ) ?>
+
+ <?php
+ if ($rr->room && !$user_has_permissions) {
+ $user_has_permissions = $rr->room->userHasPermission($current_user, 'admin');
+ }
+ ?>
+
+ <? if ($user_has_permissions && !$rr->closed): ?>
+ <? $actionMenu->addLink(
+ URLHelper::getURL(
+ 'dispatch.php/resources/room_request/resolve/' . $rr->id,
+ [
+ 'reload-on-close' => 1,
+ 'single-request' => 1
+ ]
+ ),
+ _('Diese Anfrage selbst auflösen'),
+ Icon::create('admin'),
+ ['title' => _('Diese Anfrage selbst auflösen')],
+ ['data-dialog' => '1']
+ ) ?>
+ <? endif ?>
+ <? $actionMenu->addLink(
+ $controller->url_for('course/room_requests/delete/' . $rr->id),
+ _('Diese Anfrage löschen'),
+ Icon::create('trash'),
+ ['title' => _('Diese Anfrage löschen')]
+ ) ?>
+ <?= $actionMenu->render() ?>
+ </td>
+ </tr>
+ <? endforeach ?>
+ <? if ($request_id === $rr->id) : ?>
+ <tr>
+ <td colspan="4">
+ <?= $this->render_partial('course/room_requests/_request.php', ['request' => $rr]); ?>
+ </td>
+ </tr>
+ <? endif ?>
+ </tbody>
+ </table>
</section>
+ <? else : ?>
+ <?= MessageBox::info(_('Zu dieser Veranstaltung sind noch keine Raumanfragen vorhanden.')) ?>
+ <? endif ?>
+
+
</section>