From 718e7331e1668bf71898e2888333ef65163f4d30 Mon Sep 17 00:00:00 2001 From: David Siegfried <david.siegfried@uni-vechta.de> Date: Fri, 19 Aug 2022 19:34:55 +0000 Subject: [PATCH] prevent php-errors on public-booking-plans, refs #1339 Merge request studip/studip!875 --- app/controllers/room_management/overview.php | 49 ++++++++++--------- .../resources/_common/_grouped_room_list.php | 26 +++++----- .../overview/public_booking_plans.php | 2 +- 3 files changed, 41 insertions(+), 36 deletions(-) diff --git a/app/controllers/room_management/overview.php b/app/controllers/room_management/overview.php index d98ba9f09c2..5b712f1330c 100644 --- a/app/controllers/room_management/overview.php +++ b/app/controllers/room_management/overview.php @@ -37,30 +37,33 @@ class RoomManagement_OverviewController extends AuthenticatedController } parent::before_filter($action, $args); $this->user = User::findCurrent(); - $this->show_resource_actions = ( - ResourceManager::userHasGlobalPermission($this->user, 'autor') - || - ResourceManager::userHasResourcePermissions($this->user, 'autor') - ); - $this->show_admin_actions = ( - $this->user_is_global_resource_admin - || - ResourceManager::userHasResourcePermissions($this->user) - || - $GLOBALS['perm']->have_perm('root') - ); - $this->user_is_global_resource_user = ResourceManager::userHasGlobalPermission($this->user); - $this->user_is_root = $GLOBALS['perm']->have_perm('root'); - $this->user_is_global_resource_admin = ResourceManager::userHasGlobalPermission( - $this->user, - 'admin' - ) || $this->user_is_root; - $this->show_global_admin_actions = $this->user_is_global_resource_admin - && ResourceManager::userHasGlobalPermission( - $this->user, - 'admin' - ); + if ($this->user) { + $this->show_resource_actions = ( + ResourceManager::userHasGlobalPermission($this->user, 'autor') + || + ResourceManager::userHasResourcePermissions($this->user, 'autor') + ); + + $this->show_admin_actions = ( + $this->user_is_global_resource_admin + || + ResourceManager::userHasResourcePermissions($this->user) + || + $GLOBALS['perm']->have_perm('root') + ); + $this->user_is_global_resource_user = ResourceManager::userHasGlobalPermission($this->user); + $this->user_is_root = $GLOBALS['perm']->have_perm('root'); + $this->user_is_global_resource_admin = ResourceManager::userHasGlobalPermission( + $this->user, + 'admin' + ) || $this->user_is_root; + $this->show_global_admin_actions = $this->user_is_global_resource_admin + && ResourceManager::userHasGlobalPermission( + $this->user, + 'admin' + ); + } } public function index_action() diff --git a/app/views/resources/_common/_grouped_room_list.php b/app/views/resources/_common/_grouped_room_list.php index d31fd31efbb..95a56863873 100644 --- a/app/views/resources/_common/_grouped_room_list.php +++ b/app/views/resources/_common/_grouped_room_list.php @@ -61,18 +61,20 @@ </a> </td> <td class="actions"> - <? - $perms = [ - 'show_global_admin_actions' => $show_global_admin_actions, - 'show_admin_actions' => $resource->userHasPermission($user, 'admin'), - 'show_tutor_actions' => $resource->userHasPermission($user, 'tutor'), - 'show_autor_actions' => $resource->userHasPermission($user, 'autor'), - 'show_user_actions' => $resource->userHasPermission($user, 'user'), - 'user_has_booking_rights' => $resource->userHasBookingRights($user)]; - ?> - <?= $this->render_partial('resources/_common/_action_menu.php', - compact('resource') + $perms - );?> + <? if ($user) :?> + <? + $perms = [ + 'show_global_admin_actions' => $show_global_admin_actions, + 'show_admin_actions' => $resource->userHasPermission($user, 'admin'), + 'show_tutor_actions' => $resource->userHasPermission($user, 'tutor'), + 'show_autor_actions' => $resource->userHasPermission($user, 'autor'), + 'show_user_actions' => $resource->userHasPermission($user, 'user'), + 'user_has_booking_rights' => $resource->userHasBookingRights($user)]; + ?> + <?= $this->render_partial('resources/_common/_action_menu.php', + compact('resource') + $perms + )?> + <? endif ?> </td> </tr> <? endforeach ?> diff --git a/app/views/room_management/overview/public_booking_plans.php b/app/views/room_management/overview/public_booking_plans.php index e0c0c539ece..0fb0dd435e3 100644 --- a/app/views/room_management/overview/public_booking_plans.php +++ b/app/views/room_management/overview/public_booking_plans.php @@ -1,4 +1,4 @@ <?= $this->render_partial( 'resources/_common/_grouped_room_list.php', - ['grouped_rooms' => $grouped_rooms] + ['grouped_rooms' => $grouped_rooms, 'user' => $user] ) ?> -- GitLab