diff --git a/app/views/resources/_common/_room_search_result.php b/app/views/resources/_common/_room_search_result.php deleted file mode 100644 index 7cd5900b3158d2a3428ca960064cc1ec89ba60f1..0000000000000000000000000000000000000000 --- a/app/views/resources/_common/_room_search_result.php +++ /dev/null @@ -1,110 +0,0 @@ -<article class="studip room-list-item"> - <header class="widget-header"> - <h1><?= Assets::img( - 'anfasser_24.png', - [ - 'class' => 'clipboard-draggable-item', - 'data-id' => $room->id, - 'data-range_type' => 'Room', - 'data-name' => $room->name - ] - ) ?><?= htmlReady($room->name) ?></h1> - <? - $actions = ActionMenu::get()->setContext($room); - $actions->addLink( - $room->getActionLink('show'), - _('Raumdetails anzeigen'), - Icon::create('info-circle'), - ['data-dialog' => ''] - ); - if ($room->userHasPermission($current_user, 'autor')) { - $actions->addLink( - $room->getActionLink('booking_plan', $booking_plan_action_params), - _('Wochenbelegung'), - Icon::create('timetable'), - ['target' => '_blank'] - ); - $actions->addLink( - $room->getActionLink('semester_plan'), - _('Semesterbelegung'), - Icon::create('timetable'), - ['target' => '_blank'] - ); - } else { - if ($room->booking_plan_is_public && Config::get()->RESOURCES_SHOW_PUBLIC_ROOM_PLANS) { - $actions->addLink( - $room->getActionLink('booking_plan', $booking_plan_action_params), - _('Belegungsplan'), - Icon::create('timetable'), - ['data-dialog' => 'size=big'] - ); - $actions->addLink( - $room->getActionLink('semester_plan'), - _('Semesterbelegung'), - Icon::create('timetable'), - ['data-dialog' => 'size=big'] - ); - } - } - if ($room->requestable && $room->userHasRequestRights($current_user)) { - $actions->addLink( - $room->getActionLink('request'), - _('Raum anfragen'), - Icon::create('room-request'), - ['data-dialog' => 'size=auto'] - ); - } - if ($room->building) { - $geo_coordinates_object = $room->building->getPropertyObject('geo_coordinates'); - if ($geo_coordinates_object instanceof ResourceProperty) { - $actions->addLink( - ResourceManager::getMapUrlForResourcePosition( - $room->building->getPropertyObject('geo_coordinates') - ), - _('Zum Lageplan'), - Icon::create('globe'), - ['target' => '_blank'] - ); - } - } - if ($clipboard_widget_id) { - $actions->addLink( - '#', - _('Zur Raumgruppe hinzufügen'), - IcoN::create('add'), - [ - 'class' => 'clipboard-add-item-button', - 'data-range_type' => 'Room', - 'data-range_id' => $room->id, - 'data-clipboard_id' => $clipboard_widget_id - ] - ); - } - ?> - <?= $actions->render() ?> - </header> - <section> - <p class="description"> - <?= htmlReady($room->description) ?> - </p> - <section class="properties-and-actions"> - <ul class="property-list"> - <? if ($room->room_type): ?> - <li><?= htmlReady($room->room_type) ?></li> - <? endif ?> - <? if ($room->seats): ?> - <li> - <?= sprintf( - ngettext( - '%d Sitzplatz', - '%d Sitzplätze', - $room->seats - ), - $room->seats - ) ?> - </li> - <? endif ?> - </ul> - </section> - </section> -</article> diff --git a/app/views/resources/search/rooms.php b/app/views/resources/search/rooms.php index 0f8307bf6829feef7786ffec28427b0908dbc687..a1bb2e7db4dace5de459cdb606881a72a98132fd 100644 --- a/app/views/resources/search/rooms.php +++ b/app/views/resources/search/rooms.php @@ -1,30 +1,130 @@ <? if (is_array($rooms) && count($rooms)): ?> - <? foreach ($rooms as $room): ?> - <?= $this->render_partial( - 'resources/_common/_room_search_result.php', - [ - 'room' => $room, - 'show_user_actions' => $room->userHasPermission( - $current_user, - 'user' - ), - 'show_autor_actions' => $room->userHasPermission( - $current_user, - 'autor' - ), - 'show_tutor_actions' => $room->userHasPermission( - $current_user, - 'tutor' - ), - 'show_admin_actions' => $room->userHasPermission( - $current_user, - 'admin' - ), - 'cliboard_widget_id' => $clipboard_widget_id, - 'booking_plan_action_params' => $booking_plan_action_params - ] - ) ?> - <? endforeach ?> + <table class="default sortable-table"> + <colgroup> + <col style="width: 20px"> + <col style="width: 30%"> + <col style="width: 30%"> + </colgroup> + <thead> + <tr> + <th data-sort="text" colspan="2"><?= _('Name')?></th> + <th><?= _('Beschreibung')?></th> + <th data-sort="number" ><?= _('Sitzplätze')?></th> + <th class="actions"><?= _('Aktion')?></th> + </tr> + </thead> + <tbody> + <? foreach ($rooms as $room): ?> + <tr> + <td> + <?= Assets::img( + 'anfasser_24.png', + [ + 'class' => 'clipboard-draggable-item', + 'data-id' => $room->id, + 'data-range_type' => 'Room', + 'data-name' => $room->name + ] + ) ?> + </td> + <td> + <? if ($room->userHasPermission($current_user, 'autor') || $room->booking_plan_is_public && Config::get()->RESOURCES_SHOW_PUBLIC_ROOM_PLANS): ?> + <a href="<?= $room->getActionLink('booking_plan', $booking_plan_action_params) ?>" data-dialog="size=big"> + <?= htmlReady($room->name) ?> + </a> + <? else : ?> + <?= htmlReady($room->name) ?> + <? endif ?> + </td> + <td> + <? if ($room->description): ?> + <?= htmlReady($room->description) ?> + <? endif ?> + </td> + <td> + <? if ($room->seats): ?> + <?= htmlReady($room->seats) ?> + <? endif ?> + </td> + <td class="actions"> + <? + $actions = ActionMenu::get(); + $actions->addLink( + $room->getActionURL('show'), + _('Raumdetails anzeigen'), + Icon::create('info-circle'), + ['data-dialog' => ''] + ); + if ($room->userHasPermission($current_user, 'autor')) { + $actions->addLink( + $room->getActionURL('booking_plan', $booking_plan_action_params), + _('Wochenbelegung'), + Icon::create('timetable'), + ['target' => '_blank'] + ); + $actions->addLink( + $room->getActionURL('semester_plan'), + _('Semesterbelegung'), + Icon::create('timetable'), + ['target' => '_blank'] + ); + } else { + if ($room->booking_plan_is_public && Config::get()->RESOURCES_SHOW_PUBLIC_ROOM_PLANS) { + $actions->addLink( + $room->getActionURL('booking_plan', $booking_plan_action_params), + _('Belegungsplan'), + Icon::create('timetable'), + ['data-dialog' => 'size=big'] + ); + $actions->addLink( + $room->getActionURL('semester_plan'), + _('Semesterbelegung'), + Icon::create('timetable'), + ['data-dialog' => 'size=big'] + ); + } + } + if ($room->requestable && $room->userHasRequestRights($current_user)) { + $actions->addLink( + $room->getActionURL('request'), + _('Raum anfragen'), + Icon::create('room-request'), + ['data-dialog' => 'size=auto'] + ); + } + if ($room->building) { + $geo_coordinates_object = $room->building->getPropertyObject('geo_coordinates'); + if ($geo_coordinates_object instanceof ResourceProperty) { + $actions->addLink( + ResourceManager::getMapUrlForResourcePosition( + $room->building->getPropertyObject('geo_coordinates') + ), + _('Zum Lageplan'), + Icon::create('globe'), + ['target' => '_blank'] + ); + } + } + if ($clipboard_widget_id) { + $actions->addLink( + '#', + _('Zur Raumgruppe hinzufügen'), + IcoN::create('add'), + [ + 'class' => 'clipboard-add-item-button', + 'data-range_type' => 'Room', + 'data-range_id' => $room->id, + 'data-clipboard_id' => $clipboard_widget_id + ] + ); + } + echo $actions->render(); + ?> + </td> + </tr> + <? endforeach ?> + </tbody> + </table> <? else: ?> <? if ($form_submitted && !$has_errors): ?> <?= MessageBox::info( diff --git a/resources/assets/stylesheets/scss/resources.scss b/resources/assets/stylesheets/scss/resources.scss index 1f57dbf4df8c31c43b13791136181cc1c62ae6e3..97f5db1fc8a340fcc3af9781192b76d309a578ee 100644 --- a/resources/assets/stylesheets/scss/resources.scss +++ b/resources/assets/stylesheets/scss/resources.scss @@ -221,6 +221,9 @@ ul.resource-tree { } } +.clipboard-draggable-item { + cursor: move; +} .room-clipboard-special-actions { margin-top: 0.25em; @@ -375,19 +378,6 @@ ul.resource-tree { } } -article.room-list-item { - header > nav.action-menu > a.action-menu-icon { - border-right: none; - margin-right: 0; - } - - section > ul.property-list { - list-style: none; - padding-left: 0; - flex-grow: 1; - } -} - .fc-time, .fc-widget-header { background-color: $content-color-20; }