Skip to content
Snippets Groups Projects
Commit 57ed63e4 authored by David Siegfried's avatar David Siegfried Committed by Jan-Hendrik Willms
Browse files

remember selected semester, fixes #745

parent 6c016e42
No related branches found
No related tags found
No related merge requests found
...@@ -451,6 +451,22 @@ class Resources_RoomPlanningController extends AuthenticatedController ...@@ -451,6 +451,22 @@ class Resources_RoomPlanningController extends AuthenticatedController
} }
$this->rooms = RoomManager::getUserRooms($current_user); $this->rooms = RoomManager::getUserRooms($current_user);
//For the semester selector:
if (Request::get('semester_id')) {
$this->semester = Semester::find(Request::get('semester_id'));
if (!$this->semester) {
PageLayout::postError(
_('Das ausgewählte Semester wurde nicht in der Datenbank gefunden!')
);
return;
}
} else {
$this->semester = Semester::findCurrent();
}
$this->current_semester_id = $this->semester->id;
URLHelper::addLinkParam('semester_id', $this->semester->id);
if (Navigation::hasItem('/resources/planning/semester_plan')) { if (Navigation::hasItem('/resources/planning/semester_plan')) {
Navigation::activateItem('/resources/planning/semester_plan'); Navigation::activateItem('/resources/planning/semester_plan');
} }
...@@ -458,7 +474,8 @@ class Resources_RoomPlanningController extends AuthenticatedController ...@@ -458,7 +474,8 @@ class Resources_RoomPlanningController extends AuthenticatedController
$new_resource_id = Request::get('new_resource_id'); $new_resource_id = Request::get('new_resource_id');
if ($new_resource_id) { if ($new_resource_id) {
$this->redirect( $this->redirect(
'resources/room_planning/semester_plan/' . $new_resource_id 'resources/room_planning/semester_plan/' . $new_resource_id,
['semester_id' => $this->semester->id]
); );
} }
...@@ -490,18 +507,14 @@ class Resources_RoomPlanningController extends AuthenticatedController ...@@ -490,18 +507,14 @@ class Resources_RoomPlanningController extends AuthenticatedController
$this->resource->getFullName() $this->resource->getFullName()
) )
); );
$this->current_semester_id = Request::get('semester_id');
if ($this->current_semester_id) {
URLHelper::addLinkParam('semester_id', $this->semester_id);
} else {
$this->current_semester_id = Semester::findCurrent()->id;
}
if (Request::isDialog()) { if (Request::isDialog()) {
$this->dialog_semesters = array_reverse(Semester::getAll()); $this->dialog_semesters = array_reverse(Semester::getAll());
$this->plan_link = URLHelper::getLink( $this->plan_link = URLHelper::getLink(
'dispatch.php/resources/room_planning/semester_plan/' . $this->resource->id, 'dispatch.php/resources/room_planning/semester_plan/' . $this->resource->id,
[ [
'allday' => Request::get('allday', false) 'allday' => Request::get('allday', false),
'semester_id' => $this->semester->id
] ]
); );
} }
...@@ -558,17 +571,6 @@ class Resources_RoomPlanningController extends AuthenticatedController ...@@ -558,17 +571,6 @@ class Resources_RoomPlanningController extends AuthenticatedController
//Build sidebar: //Build sidebar:
$sidebar = Sidebar::get(); $sidebar = Sidebar::get();
$this->semester = Semester::findCurrent();
//For the semester selector:
if (Request::submitted('semester_id')) {
$this->semester = Semester::find(Request::get('semester_id'));
if (!$this->semester) {
PageLayout::postError(
_('Das ausgewählte Semester wurde nicht in der Datenbank gefunden!')
);
return;
}
}
$this->fullcalendar_studip_urls = []; $this->fullcalendar_studip_urls = [];
if ($this->user_has_booking_permissions) { if ($this->user_has_booking_permissions) {
...@@ -581,7 +583,7 @@ class Resources_RoomPlanningController extends AuthenticatedController ...@@ -581,7 +583,7 @@ class Resources_RoomPlanningController extends AuthenticatedController
if ($this->rooms) { if ($this->rooms) {
$room_select = new SelectWidget( $room_select = new SelectWidget(
_('Anderen Raum wählen'), _('Anderen Raum wählen'),
'', URLHelper::getURL('', ['semester_id' => $this->semester->id]),
'new_resource_id' 'new_resource_id'
); );
$options = []; $options = [];
...@@ -591,7 +593,7 @@ class Resources_RoomPlanningController extends AuthenticatedController ...@@ -591,7 +593,7 @@ class Resources_RoomPlanningController extends AuthenticatedController
$room_select->setOptions($options, $this->resource->id); $room_select->setOptions($options, $this->resource->id);
$sidebar->addWidget($room_select); $sidebar->addWidget($room_select);
} }
if ($this->resource->userHasPermission($current_user, 'user')) { if ($this->resource->userHasPermission($current_user)) {
$views = new ViewsWidget(); $views = new ViewsWidget();
$views->setTitle(_('Zeitfenster')); $views->setTitle(_('Zeitfenster'));
$views->addLink( $views->addLink(
...@@ -599,7 +601,8 @@ class Resources_RoomPlanningController extends AuthenticatedController ...@@ -599,7 +601,8 @@ class Resources_RoomPlanningController extends AuthenticatedController
URLHelper::getURL( URLHelper::getURL(
'dispatch.php/resources/room_planning/semester_plan/' . $this->resource->id, 'dispatch.php/resources/room_planning/semester_plan/' . $this->resource->id,
[ [
'allday' => null 'allday' => null,
'semester_id' => $this->semester->id
] ]
), ),
null, null,
...@@ -612,6 +615,7 @@ class Resources_RoomPlanningController extends AuthenticatedController ...@@ -612,6 +615,7 @@ class Resources_RoomPlanningController extends AuthenticatedController
'dispatch.php/resources/room_planning/semester_plan/' . $this->resource->id, 'dispatch.php/resources/room_planning/semester_plan/' . $this->resource->id,
[ [
'allday' => true, 'allday' => true,
'semester_id' => $this->semester->id
] ]
), ),
null, null,
...@@ -662,6 +666,7 @@ class Resources_RoomPlanningController extends AuthenticatedController ...@@ -662,6 +666,7 @@ class Resources_RoomPlanningController extends AuthenticatedController
'resources/room_planning/semester_plan/' . $this->resource->id, 'resources/room_planning/semester_plan/' . $this->resource->id,
[ [
'display_single_bookings' => '1', 'display_single_bookings' => '1',
'semester_id' => $this->semester->id
] ]
), ),
...@@ -669,6 +674,7 @@ class Resources_RoomPlanningController extends AuthenticatedController ...@@ -669,6 +674,7 @@ class Resources_RoomPlanningController extends AuthenticatedController
'resources/room_planning/semester_plan/' . $this->resource->id, 'resources/room_planning/semester_plan/' . $this->resource->id,
[ [
'display_single_bookings' => null, 'display_single_bookings' => null,
'semester_id' => $this->semester->id
] ]
), ),
[] []
...@@ -680,7 +686,8 @@ class Resources_RoomPlanningController extends AuthenticatedController ...@@ -680,7 +686,8 @@ class Resources_RoomPlanningController extends AuthenticatedController
URLHelper::getURL( URLHelper::getURL(
'dispatch.php/resources/room_planning/semester_plan/' . $this->resource->id, 'dispatch.php/resources/room_planning/semester_plan/' . $this->resource->id,
[ [
'allday' => Request::get('allday', false) 'allday' => Request::get('allday', false),
'semester_id' => $this->semester->id
] ]
) )
); );
...@@ -700,7 +707,7 @@ class Resources_RoomPlanningController extends AuthenticatedController ...@@ -700,7 +707,7 @@ class Resources_RoomPlanningController extends AuthenticatedController
_('Anderen Raum wählen'), _('Anderen Raum wählen'),
URLHelper::getURL( URLHelper::getURL(
'dispatch.php/resources/room_planning/semester_plan', 'dispatch.php/resources/room_planning/semester_plan',
[], ['semester_id' => $this->semester->id],
true true
), ),
Icon::create('refresh') Icon::create('refresh')
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
<? foreach ($dialog_semesters as $sem) : ?> <? foreach ($dialog_semesters as $sem) : ?>
<option value="<?= htmlReady($sem->id) ?>" <option value="<?= htmlReady($sem->id) ?>"
title="<?= htmlReady($sem->name) ?>" title="<?= htmlReady($sem->name) ?>"
<?= ($current_semester_id == $sem->id) <?= ($semester->id == $sem->id)
? 'selected="selected"' : '' ?>> ? 'selected="selected"' : '' ?>>
<?= htmlReady($sem->name) ?> <?= htmlReady($sem->name) ?>
</option> </option>
...@@ -96,10 +96,10 @@ ...@@ -96,10 +96,10 @@
'right' => '' 'right' => ''
], ],
'defaultView' => 'defaultView' =>
in_array(Request::get("defaultView"), ['dayGridMonth','timeGridWeek','timeGridDay']) in_array(Request::get('defaultView'), ['dayGridMonth','timeGridWeek','timeGridDay'])
? Request::get("defaultView") ? Request::get('defaultView')
: 'timeGridWeek', : 'timeGridWeek',
'defaultDate' => ((Request::get("semester_timerange") == 'fullsem') ? date('Y-m-d',$semester->beginn) : date('Y-m-d',$semester->vorles_beginn)), 'defaultDate' => ((Request::get('semester_timerange') === 'fullsem') ? date('Y-m-d', $semester->beginn) : date('Y-m-d', $semester->vorles_beginn)),
'eventSources' => [ 'eventSources' => [
[ [
'url' => URLHelper::getURL( 'url' => URLHelper::getURL(
...@@ -112,7 +112,7 @@ ...@@ -112,7 +112,7 @@
'extraParams' => [ 'extraParams' => [
'booking_types' => [0,1,2], 'booking_types' => [0,1,2],
'semester_id' => $semester->id, 'semester_id' => $semester->id,
'semester_timerange' => Request::get("semester_timerange", 'vorles'), 'semester_timerange' => Request::get('semester_timerange', 'vorles'),
'display_requests' => 1, 'display_requests' => 1,
'display_all_requests' => $display_all_requests ? 1 : 0 'display_all_requests' => $display_all_requests ? 1 : 0
] ]
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment