move data sorting to begin
This commit is contained in:
parent
6c4bb0da31
commit
4407604793
|
@ -43,13 +43,11 @@ function room_controller() {
|
||||||
$shiftsFilterRenderer = new ShiftsFilterRenderer($shiftsFilter);
|
$shiftsFilterRenderer = new ShiftsFilterRenderer($shiftsFilter);
|
||||||
$shiftsFilterRenderer->enableDaySelection($days);
|
$shiftsFilterRenderer->enableDaySelection($days);
|
||||||
|
|
||||||
$shifts = Shifts_by_ShiftsFilter($shiftsFilter);
|
$shiftCalendarRenderer = shiftCalendarRendererByShiftFilter($shiftsFilter);
|
||||||
$needed_angeltypes = NeededAngeltypes_by_ShiftsFilter($shiftsFilter);
|
|
||||||
$shift_entries = ShiftEntries_by_ShiftsFilter($shiftsFilter);
|
|
||||||
|
|
||||||
return [
|
return [
|
||||||
$room['Name'],
|
$room['Name'],
|
||||||
Room_view($room, $shiftsFilterRenderer, new ShiftCalendarRenderer($shifts, $needed_angeltypes, $shift_entries, $shiftsFilter))
|
Room_view($room, $shiftsFilterRenderer, $shiftCalendarRenderer)
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
<?php
|
<?php
|
||||||
|
use Engelsystem\ShiftsFilter;
|
||||||
|
use Engelsystem\ShiftCalendarRenderer;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Route user actions.
|
* Route user actions.
|
||||||
|
@ -313,4 +315,27 @@ function load_user() {
|
||||||
return $user;
|
return $user;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function shiftCalendarRendererByShiftFilter(ShiftsFilter $shiftsFilter) {
|
||||||
|
$shifts = Shifts_by_ShiftsFilter($shiftsFilter);
|
||||||
|
$needed_angeltypes_source = NeededAngeltypes_by_ShiftsFilter($shiftsFilter);
|
||||||
|
$shift_entries_source = ShiftEntries_by_ShiftsFilter($shiftsFilter);
|
||||||
|
|
||||||
|
$needed_angeltypes = [];
|
||||||
|
$shift_entries = [];
|
||||||
|
foreach ($shifts as $shift) {
|
||||||
|
$needed_angeltypes[$shift['SID']] = [];
|
||||||
|
$shift_entries[$shift['SID']] = [];
|
||||||
|
}
|
||||||
|
foreach ($needed_angeltypes_source as $needed_angeltype) {
|
||||||
|
$needed_angeltypes[$needed_angeltype['SID']][] = $needed_angeltype;
|
||||||
|
}
|
||||||
|
foreach ($shift_entries_source as $shift_entry) {
|
||||||
|
$shift_entries[$shift_entry['SID']][] = $shift_entry;
|
||||||
|
}
|
||||||
|
unset($needed_angeltypes_source);
|
||||||
|
unset($shift_entries_source);
|
||||||
|
|
||||||
|
return new ShiftCalendarRenderer($shifts, $needed_angeltypes, $shift_entries, $shiftsFilter);
|
||||||
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
|
@ -131,26 +131,7 @@ function view_user_shifts() {
|
||||||
update_ShiftsFilter($_SESSION['ShiftsFilter'], in_array('user_shifts_admin', $privileges), $days);
|
update_ShiftsFilter($_SESSION['ShiftsFilter'], in_array('user_shifts_admin', $privileges), $days);
|
||||||
$shiftsFilter = $_SESSION['ShiftsFilter'];
|
$shiftsFilter = $_SESSION['ShiftsFilter'];
|
||||||
|
|
||||||
$shifts = Shifts_by_ShiftsFilter($shiftsFilter);
|
$shiftCalendarRenderer = shiftCalendarRendererByShiftFilter($shiftsFilter);
|
||||||
$needed_angeltypes_source = NeededAngeltypes_by_ShiftsFilter($shiftsFilter);
|
|
||||||
$shift_entries_source = ShiftEntries_by_ShiftsFilter($shiftsFilter);
|
|
||||||
|
|
||||||
$needed_angeltypes = [];
|
|
||||||
$shift_entries = [];
|
|
||||||
foreach ($shifts as $shift) {
|
|
||||||
$needed_angeltypes[$shift['SID']] = [];
|
|
||||||
$shift_entries[$shift['SID']] = [];
|
|
||||||
}
|
|
||||||
foreach ($needed_angeltypes_source as $needed_angeltype) {
|
|
||||||
$needed_angeltypes[$needed_angeltype['SID']][] = $needed_angeltype;
|
|
||||||
}
|
|
||||||
foreach ($shift_entries_source as $shift_entry) {
|
|
||||||
$shift_entries[$shift_entry['SID']][] = $shift_entry;
|
|
||||||
}
|
|
||||||
unset($needed_angeltypes_source);
|
|
||||||
unset($shift_entries_source);
|
|
||||||
|
|
||||||
$shiftCalendarRenderer = new ShiftCalendarRenderer($shifts, $needed_angeltypes, $shift_entries, $shiftsFilter);
|
|
||||||
|
|
||||||
if ($user['api_key'] == "") {
|
if ($user['api_key'] == "") {
|
||||||
User_reset_api_key($user, false);
|
User_reset_api_key($user, false);
|
||||||
|
|
Loading…
Reference in New Issue