aboutsummaryrefslogtreecommitdiff
path: root/app/controllers/course/timesrooms.php
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/course/timesrooms.php')
-rw-r--r--app/controllers/course/timesrooms.php41
1 files changed, 36 insertions, 5 deletions
diff --git a/app/controllers/course/timesrooms.php b/app/controllers/course/timesrooms.php
index 3f72420..a00e266 100644
--- a/app/controllers/course/timesrooms.php
+++ b/app/controllers/course/timesrooms.php
@@ -130,7 +130,7 @@ class Course_TimesroomsController extends AuthenticatedController
$this->show = [
'regular' => true,
'irregular' => true,
- 'roomRequest' => false,
+ 'roomRequest' => true,
];
}
$this->linkAttributes = ['fromDialog' => Request::isXhr() ? 1 : 0];
@@ -187,7 +187,22 @@ class Course_TimesroomsController extends AuthenticatedController
$dates = $this->course->getDatesWithExdates();
+ $this->current_user = User::findCurrent();
+ $this->user_has_permissions = ResourceManager::userHasGlobalPermission($this->current_user, 'admin');
+
$check_room_requests = Config::get()->RESOURCES_ALLOW_ROOM_REQUESTS;
+ $this->room_requests = RoomRequest::findBySQL(
+ 'course_id = :course_id
+ ORDER BY course_id, metadate_id, termin_id',
+ [
+ 'course_id' => $this->course->id
+ ]
+ );
+
+ $this->global_requests = $this->course->room_requests->filter(function (RoomRequest $request) {
+ return $request->closed < 2 && !$request->termin_id;
+ });
+
$single_dates = [];
$this->single_date_room_request_c = 0;
foreach ($dates as $val) {
@@ -793,9 +808,10 @@ class Course_TimesroomsController extends AuthenticatedController
}
$this->redirect(
- 'course/room_requests/request_start',
+ 'course/room_requests/new_request',
[
'range' => 'date-multiple',
+ 'range_str' => 'date-multiple',
'range_ids' => $appointment_ids
]
);
@@ -1471,9 +1487,23 @@ class Course_TimesroomsController extends AuthenticatedController
}
Sidebar::Get()->addWidget($widget);
- if ($GLOBALS['perm']->have_studip_perm('admin', $this->course->id)) {
- $widget = new CourseManagementSelectWidget();
- Sidebar::Get()->addWidget($widget);
+ if ($GLOBALS['perm']->have_perm('admin')) {
+ $list = new SelectWidget(
+ _('Veranstaltungen'),
+ $this->indexURL(),
+ 'cid'
+ );
+
+ foreach (AdminCourseFilter::get()->getCoursesForAdminWidget() as $seminar) {
+ $list->addElement(new SelectElement(
+ $seminar['Seminar_id'],
+ $seminar['Name'],
+ $seminar['Seminar_id'] === Context::getId(),
+ $seminar['VeranstaltungsNummer'] . ' ' . $seminar['Name']
+ ));
+ }
+ $list->size = 8;
+ Sidebar::Get()->addWidget($list);
}
}
@@ -1661,6 +1691,7 @@ class Course_TimesroomsController extends AuthenticatedController
];
}
}
+ $this->selectable_rooms = [];
$rooms_with_booking_permissions = 0;
if ($current_user_is_resource_admin) {
$rooms_with_booking_permissions = Room::countAll();