From 6a0275925c3a6a8db1fc1ee49f44cd2e4aafdbad Mon Sep 17 00:00:00 2001
From: Moritz Strohm <strohm@data-quest.de>
Date: Fri, 10 Sep 2021 16:11:11 +0200
Subject: [PATCH] resources/search/rooms: allow clipboard widget to be visible
 for every logged-in user

---
 app/controllers/resources/search.php          |  8 +++----
 .../sidebar/RoomClipboardWidget.class.php     | 23 +++++++++++--------
 2 files changed, 16 insertions(+), 15 deletions(-)

diff --git a/app/controllers/resources/search.php b/app/controllers/resources/search.php
index c0f461b219d..2ca6a20e809 100644
--- a/app/controllers/resources/search.php
+++ b/app/controllers/resources/search.php
@@ -58,11 +58,9 @@ class Resources_SearchController extends AuthenticatedController
         $sidebar->addWidget($resource_tree_widget);
 
         $this->current_user = User::findCurrent();
-        if (ResourceManager::userHasGlobalPermission($this->current_user)) {
-            $room_clipboard_widget = new RoomClipboardWidget();
-            $sidebar->addWidget($room_clipboard_widget);
-            $this->clipboard_widget_id = $room_clipboard_widget->getClipboardWidgetId();
-        }
+        $room_clipboard_widget = new RoomClipboardWidget();
+        $sidebar->addWidget($room_clipboard_widget);
+        $this->clipboard_widget_id = $room_clipboard_widget->getClipboardWidgetId();
 
         $this->tree_selected_resource = Request::get('tree_selected_resource');
 
diff --git a/lib/classes/sidebar/RoomClipboardWidget.class.php b/lib/classes/sidebar/RoomClipboardWidget.class.php
index 3bc6d37e5c7..3973c4af415 100644
--- a/lib/classes/sidebar/RoomClipboardWidget.class.php
+++ b/lib/classes/sidebar/RoomClipboardWidget.class.php
@@ -18,6 +18,8 @@ class RoomClipboardWidget extends ClipboardWidget
 
         parent::__construct(['Room']);
 
+        $current_user = User::findCurrent();
+
         $this->addLink(
             _('Gruppenbelegungsplan anzeigen'),
             URLHelper::getURL('dispatch.php/room_management/planning/index/CLIPBOARD_ID'),
@@ -28,16 +30,17 @@ class RoomClipboardWidget extends ClipboardWidget
             ]
         );
 
-        $this->addLink(
-            _('Raumgruppe buchen'),
-            URLHelper::getURL('dispatch.php/resources/booking/add/clipboard_CLIPBOARD_ID'),
-            Icon::create('link-intern'),
-            ['class' => 'room-clipboard-group-action',
-             'data-show_in_dialog' => 'size=auto',
-             'data-needs_items'=> '1']
-        );
-
-        if (ResourceManager::userHasGlobalPermission(User::findCurrent(), 'admin')) {
+        if (ResourceManager::userHasGlobalPermission($current_user, 'autor')) {
+            $this->addLink(
+                _('Raumgruppe buchen'),
+                URLHelper::getURL('dispatch.php/resources/booking/add/clipboard_CLIPBOARD_ID'),
+                Icon::create('link-intern'),
+                ['class' => 'room-clipboard-group-action',
+                 'data-show_in_dialog' => 'size=auto',
+                 'data-needs_items'=> '1']
+            );
+        }
+        if (ResourceManager::userHasGlobalPermission($current_user, 'admin')) {
             $this->addLink(
                 _('Berechtigungen für die gesamte Raumgruppe setzen'),
                 URLHelper::getURL('dispatch.php/resources/room_group/permissions/CLIPBOARD_ID'),
-- 
GitLab