From c246c15b42d29bff4fd05d8a98cdcf1dc5782baf Mon Sep 17 00:00:00 2001 From: David Siegfried <david.siegfried@uni-vechta.de> Date: Sat, 11 Mar 2023 12:08:39 +0000 Subject: [PATCH] add missing action-menu, closes #2342 Closes #2342 Merge request studip/studip!1531 --- .../resources/_common/_resource_tree_item.php | 51 +++++++++++++++++-- 1 file changed, 48 insertions(+), 3 deletions(-) diff --git a/app/views/resources/_common/_resource_tree_item.php b/app/views/resources/_common/_resource_tree_item.php index a3db8665b77..504226c4f97 100644 --- a/app/views/resources/_common/_resource_tree_item.php +++ b/app/views/resources/_common/_resource_tree_item.php @@ -1,15 +1,60 @@ <?php $children = $resource->children; $has_children = count($children) > 0; +$current_user_is_resource_admin = $resource->userHasPermission(User::findCurrent(), 'admin'); +$current_user_is_resource_autor = $resource->userHasPermission(User::findCurrent(), 'autor'); +$current_user_is_resource_tutor = $resource->userHasPermission(User::findCurrent(), 'tutor'); +$booking_plan_is_visible = $resource->bookingPlanVisibleForUser(User::findCurrent()); ?> <article class="studip <?= $has_children ? 'toggle' : ((string)$resource->description === '' ? 'empty' : '') ?> <?= $open ? 'open' : '' ?>"> <header> <h1> <a href="#"><?= htmlReady($resource->getFullName()) ?></a> </h1> - <a href="<?= $resource->getActionLink('show') ?>" data-dialog> - <?= Icon::create('info-circle') ?> - </a> + <?= ActionMenu::get() + ->addLink( + $resource->getActionURL('show'), + _('Informationen anzeigen'), + Icon::create('info-circle'), + ['data-dialog' => 'sitze=auto'] + ) + ->condition($current_user_is_resource_admin) + ->addLink( + $resource->getActionURL('edit'), + _('Bearbeiten'), + Icon::create('edit'), + ['data-dialog' => 'size=auto'] + ) + ->condition($current_user_is_resource_admin) + ->addLink( + $resource->getActionURL('permissions'), + _('Rechte bearbeiten'), + Icon::create('roles'), + ['data-dialog' => 'size=auto'] + ) + ->conditionAll(($resource instanceof Room && $current_user_is_resource_autor) || $booking_plan_is_visible) + ->addLink( + $resource->getActionURL('booking_plan'), + _('Wochenbelegung'), + Icon::create('timetable'), + ['target' => '_blank'] + ) + ->addLink( + $resource->getActionURL('semester_plan'), + _('Semesterbelegung'), + Icon::create('timetable'), + ['target' => '_blank'] + ) + ->conditionAll(null) + ->condition($resource instanceof Room && $current_user_is_resource_tutor && $resource->requestable) + ->addLink( + $resource->getActionURL('request_list'), + _('Raumanfragen anzeigen'), + Icon::create('room-request'), + ['target' => '_blank'] + ) + ->render(); + ?> </header> <? if ($has_children) : ?> <section> -- GitLab