aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMoritz Strohm <strohm@data-quest.de>2025-09-22 10:48:50 +0000
committerMoritz Strohm <strohm@data-quest.de>2025-09-22 10:48:50 +0000
commita95d1763d2170867e35ebf80870d6c77c88acfa8 (patch)
tree1b2bd23a0d0561062f0ca29c2d42d47e59ace8d7
parentff187a1c0244c6f3f1703799a7a69f9145856333 (diff)
made requests visible in anonymous form for everyone, closes #5801
Closes #5801 Merge request studip/studip!4425
-rw-r--r--app/controllers/resources/ajax.php6
-rw-r--r--app/controllers/resources/room_planning.php25
-rw-r--r--lib/models/resources/ResourceRequest.php7
3 files changed, 6 insertions, 32 deletions
diff --git a/app/controllers/resources/ajax.php b/app/controllers/resources/ajax.php
index ebe0e10..18b3b4d 100644
--- a/app/controllers/resources/ajax.php
+++ b/app/controllers/resources/ajax.php
@@ -328,16 +328,10 @@ class Resources_AjaxController extends AuthenticatedController
throw new AccessDeniedException();
}
}
- $user_is_resource_user = $current_user && $resource->userHasPermission($current_user);
$display_requests = $current_user && Request::bool('display_requests');
$display_all_requests = Request::bool('display_all_requests');
- if ($display_all_requests && !$user_is_resource_user) {
- //The user is not allowed to see all requests.
- throw new AccessDeniedException();
- }
-
$begin_date = Request::get('start');
$end_date = Request::get('end');
if (!$begin_date || !$end_date) {
diff --git a/app/controllers/resources/room_planning.php b/app/controllers/resources/room_planning.php
index d90aa4a..b06e166 100644
--- a/app/controllers/resources/room_planning.php
+++ b/app/controllers/resources/room_planning.php
@@ -142,10 +142,7 @@ class Resources_RoomPlanningController extends AuthenticatedController
if ($this->resource->requestable) {
$this->display_all_requests = Request::bool(
'display_all_requests',
- $this->resource->userHasPermission(
- $this->user,
- 'autor'
- )
+ Config::get()->RESOURCES_ALLOW_ROOM_REQUESTS
);
} else {
$this->display_all_requests = false;
@@ -161,23 +158,12 @@ class Resources_RoomPlanningController extends AuthenticatedController
ResourceBooking::TYPE_RESERVATION,
ResourceBooking::TYPE_LOCK,
];
+ $plan_is_visible = $this->resource->bookingPlanVisibleForUser($this->user);
if ($this->user instanceof User) {
- if ($this->display_all_requests) {
- $plan_is_visible = $this->resource->userHasPermission(
- $this->user,
- 'autor'
- );
- } else {
- $plan_is_visible = $this->resource->bookingPlanVisibleForUser($this->user);
- }
$this->anonymous_view = false;
if ($this->resource->userHasPermission($this->user, 'admin')) {
$this->booking_types[] = ResourceBooking::TYPE_PLANNED;
}
- } else {
- //If the plan visibility cannot be determined by the user,
- //we can still check if the plan is visible to the public:
- $plan_is_visible = $this->resource->bookingPlanVisibleForUser($this->user);
}
if (!$plan_is_visible) {
throw new AccessDeniedException(
@@ -192,13 +178,6 @@ class Resources_RoomPlanningController extends AuthenticatedController
$this->user_has_booking_permissions = $this->resource->userHasBookingRights($this->user);
}
- if (!$this->user_has_booking_permissions && $this->display_all_requests) {
- throw new AccessDeniedException(
- _('Sie sind nicht dazu berechtigt, alle Anfragen im Belegungsplan zu sehen!')
- );
- }
-
-
$week_timestamp = Request::int('timestamp');
$default_date = Request::get('defaultDate');
$this->date = new DateTime();
diff --git a/lib/models/resources/ResourceRequest.php b/lib/models/resources/ResourceRequest.php
index 7cdf18c..2d08ee7 100644
--- a/lib/models/resources/ResourceRequest.php
+++ b/lib/models/resources/ResourceRequest.php
@@ -2294,6 +2294,7 @@ class ResourceRequest extends SimpleORMap implements PrivacyObject, Studip\Calen
$booking_plan_preparation_fg = ColourValue::find('Resources.BookingPlan.PreparationTime.Fg');
$user_is_resource_autor = false;
+ $user_is_resource_user = $this->resource->userHasPermission($user);
if ($this->resource_id && $this->resource instanceof Resource) {
$user_is_resource_autor = $this->resource->userHasPermission(
$user,
@@ -2348,7 +2349,7 @@ class ResourceRequest extends SimpleORMap implements PrivacyObject, Studip\Calen
$events[] = new Studip\Calendar\EventData(
$begin,
$end,
- _('Rüstzeit'),
+ $user_is_resource_user ? _('Rüstzeit') : '',
['preparation-time'],
$booking_plan_preparation_fg->__toString(),
$booking_plan_preparation_bg->__toString(),
@@ -2372,7 +2373,7 @@ class ResourceRequest extends SimpleORMap implements PrivacyObject, Studip\Calen
$events[] = new Studip\Calendar\EventData(
$begin,
$end,
- _('Rüstzeit'),
+ $user_is_resource_user ? _('Rüstzeit') : '',
['preparation-time'],
$booking_plan_preparation_fg->__toString(),
$booking_plan_preparation_bg->__toString(),
@@ -2396,7 +2397,7 @@ class ResourceRequest extends SimpleORMap implements PrivacyObject, Studip\Calen
$events[] = new Studip\Calendar\EventData(
$begin,
$end,
- $this->getRangeName(),
+ $user_is_resource_user ? $this->getRangeName() : '',
['resource-request'],
$booking_plan_request_fg->__toString(),
$booking_plan_request_bg->__toString(),