move data sorting to begin

main
msquare 8 years ago
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…
Cancel
Save