aboutsummaryrefslogtreecommitdiff
path: root/app/views/course/timesrooms
diff options
context:
space:
mode:
Diffstat (limited to 'app/views/course/timesrooms')
-rw-r--r--app/views/course/timesrooms/_cancel_form.php1
-rw-r--r--app/views/course/timesrooms/_regularEvents.php11
-rw-r--r--app/views/course/timesrooms/_roomRequest.php114
-rw-r--r--app/views/course/timesrooms/_roomRequestInfo.php4
-rw-r--r--app/views/course/timesrooms/editDate.php4
-rw-r--r--app/views/course/timesrooms/index.php10
6 files changed, 109 insertions, 35 deletions
diff --git a/app/views/course/timesrooms/_cancel_form.php b/app/views/course/timesrooms/_cancel_form.php
index 8a2b706..eaadaf1 100644
--- a/app/views/course/timesrooms/_cancel_form.php
+++ b/app/views/course/timesrooms/_cancel_form.php
@@ -17,3 +17,4 @@ if (isset($termin) && $termin instanceof CourseExDate) {
<input type="checkbox" id="cancel_send_message" name="cancel_send_message" value="1">
<?= _('Benachrichtigung über ausfallende Termine an alle Teilnehmenden verschicken') ?>
</label>
+
diff --git a/app/views/course/timesrooms/_regularEvents.php b/app/views/course/timesrooms/_regularEvents.php
index f2b1829..baaa2d8 100644
--- a/app/views/course/timesrooms/_regularEvents.php
+++ b/app/views/course/timesrooms/_regularEvents.php
@@ -89,18 +89,19 @@
<? if (Config::get()->RESOURCES_ALLOW_ROOM_REQUESTS) : ?>
<? $actionMenu->addLink(
$controller->url_for(
- 'course/room_requests/request_start/',
+ 'course/room_requests/new_request/',
[
- 'range' => 'cycle',
- 'range_id' => $metadate_id
+ 'cid' => $course->id,
+ 'range_str' => 'cycle',
+ 'range_id' => $metadate_id
]
),
- _('Raumanfrage erstellen'),
+ _('Neue Raumanfrage'),
Icon::create(
'room-request',
Icon::ROLE_CLICKABLE,
[
- 'title' => _('Raumanfrage erstellen'),
+ 'title' => _('Neue Raumanfrage'),
'style' => 'vertical-align: middle;'
]
),
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>
diff --git a/app/views/course/timesrooms/_roomRequestInfo.php b/app/views/course/timesrooms/_roomRequestInfo.php
index 7bc3660..6b3315b 100644
--- a/app/views/course/timesrooms/_roomRequestInfo.php
+++ b/app/views/course/timesrooms/_roomRequestInfo.php
@@ -8,7 +8,5 @@ $open_requests = $course->room_requests->filter(function (RoomRequest $request)
'Für diese Veranstaltung liegt eine offene Raumanfrage vor.',
'Für diese Veranstaltung liegen %u offene Raumanfragen vor',
count($open_requests)
- ), count($open_requests)) . '<br>'
- . Studip\LinkButton::create(_('Raumanfragen anzeigen'),
- URLHelper::getURL('dispatch.php/course/room_requests/index/' . $course->getId()))) ?>
+ ), count($open_requests))) ?>
<? endif; ?>
diff --git a/app/views/course/timesrooms/editDate.php b/app/views/course/timesrooms/editDate.php
index 3be5e7c..a8dea31 100644
--- a/app/views/course/timesrooms/editDate.php
+++ b/app/views/course/timesrooms/editDate.php
@@ -228,8 +228,8 @@
'course/room_requests/request_summary/' . $request_id
)
: $controller->url_for(
- 'course/room_requests/request_start/' . $request_id,
- array_merge($params, ['range_str' => 'date_' . $date->id,'origin' => 'course_timesrooms'])
+ 'course/room_requests/new_request/' . $request_id,
+ array_merge($params, ['range_str' => 'date', 'range_id' => $date->id])
)
),
['data-dialog' => 'size=big']) ?>
diff --git a/app/views/course/timesrooms/index.php b/app/views/course/timesrooms/index.php
index 8636ebb..e82409d 100644
--- a/app/views/course/timesrooms/index.php
+++ b/app/views/course/timesrooms/index.php
@@ -22,13 +22,3 @@
<?= $this->render_partial('course/timesrooms/_roomRequest.php') ?>
<? endif ?>
-<? if (Request::isXhr() && !$locked && Config::get()->RESOURCES_ENABLE && Config::get()->RESOURCES_ALLOW_ROOM_REQUESTS): ?>
- <div data-dialog-button>
- <?= Studip\LinkButton::create(
- _('Raumanfrage erstellen'),
- $controller->url_for('course/room_requests/request_start',
- ['cid' => $course->id, 'range_str' => 'course', 'origin' => 'admin_courses']),
- ['data-dialog' => 'size=big']
- ) ?>
- </div>
-<? endif ?>