From 718e7331e1668bf71898e2888333ef65163f4d30 Mon Sep 17 00:00:00 2001 From: David Siegfried Date: Fri, 19 Aug 2022 19:34:55 +0000 Subject: prevent php-errors on public-booking-plans, refs #1339 Merge request studip/studip!875 --- app/controllers/room_management/overview.php | 49 ++++++++++++---------- app/views/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 d98ba9f..5b712f1 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 d31fd31..95a5686 100644 --- a/app/views/resources/_common/_grouped_room_list.php +++ b/app/views/resources/_common/_grouped_room_list.php @@ -61,18 +61,20 @@ - $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)]; - ?> - render_partial('resources/_common/_action_menu.php', - compact('resource') + $perms - );?> + + $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)]; + ?> + render_partial('resources/_common/_action_menu.php', + compact('resource') + $perms + )?> + diff --git a/app/views/room_management/overview/public_booking_plans.php b/app/views/room_management/overview/public_booking_plans.php index e0c0c53..0fb0dd4 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 @@ render_partial( 'resources/_common/_grouped_room_list.php', - ['grouped_rooms' => $grouped_rooms] + ['grouped_rooms' => $grouped_rooms, 'user' => $user] ) ?> -- cgit v1.0