diff options
Diffstat (limited to 'app/views/course/timesrooms')
| -rw-r--r-- | app/views/course/timesrooms/_cancel_form.php | 1 | ||||
| -rw-r--r-- | app/views/course/timesrooms/_regularEvents.php | 11 | ||||
| -rw-r--r-- | app/views/course/timesrooms/_roomRequest.php | 114 | ||||
| -rw-r--r-- | app/views/course/timesrooms/_roomRequestInfo.php | 4 | ||||
| -rw-r--r-- | app/views/course/timesrooms/editDate.php | 4 | ||||
| -rw-r--r-- | app/views/course/timesrooms/index.php | 10 |
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 ?> |
