Planner changes
This commit is contained in:
+17
-6
@@ -651,10 +651,11 @@ try {
|
||||
$data = is_array($rawInput) ? $rawInput : $_GET;
|
||||
$duration = max(5, (int)($data['duration_minutes'] ?? 30));
|
||||
$excludeTaskId = (int)($data['task_id'] ?? 0);
|
||||
$startFromNextWorkday = !empty($data['start_from_next_workday']);
|
||||
|
||||
$workdaySettings = get_workday_settings();
|
||||
$workdayStartStr = $workdaySettings['workday_start'] ?? '08:30';
|
||||
$workdayEndStr = $workdaySettings['workday_end'] ?? '17:30';
|
||||
$workdayEndStr = $workdaySettings['workday_end'] ?? '17:00';
|
||||
$lunchStartStr = $workdaySettings['lunch_start'] ?? '12:30';
|
||||
$lunchEndStr = $workdaySettings['lunch_end'] ?? '13:00';
|
||||
|
||||
@@ -693,6 +694,12 @@ try {
|
||||
$dutchMonths = ['', 'jan', 'feb', 'mrt', 'apr', 'mei', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'dec'];
|
||||
|
||||
$checkDate = clone $now;
|
||||
if ($startFromNextWorkday) {
|
||||
$checkDate->modify('+1 day');
|
||||
while ((int)$checkDate->format('N') >= 6) {
|
||||
$checkDate->modify('+1 day');
|
||||
}
|
||||
}
|
||||
$foundSlot = null;
|
||||
$maxDays = 14;
|
||||
$checkedDays = 0;
|
||||
@@ -707,7 +714,7 @@ try {
|
||||
}
|
||||
|
||||
$dateStr = $checkDate->format('Y-m-d');
|
||||
$isToday = ($dateStr === $now->format('Y-m-d'));
|
||||
$isToday = ($dateStr === $now->format('Y-m-d')) && !$startFromNextWorkday;
|
||||
|
||||
// Bepaal vroegste startminuut voor deze dag (op hele kwartieren)
|
||||
if ($isToday) {
|
||||
@@ -805,13 +812,17 @@ try {
|
||||
|
||||
if ($foundSlot) {
|
||||
echo json_encode([
|
||||
'success' => true,
|
||||
'slot' => $foundSlot,
|
||||
'success' => true,
|
||||
'slot' => $foundSlot,
|
||||
'workday_start' => $workdayStartStr,
|
||||
'workday_end' => $workdayEndStr,
|
||||
]);
|
||||
} else {
|
||||
echo json_encode([
|
||||
'success' => false,
|
||||
'error' => "Geen vrij blok van {$duration} minuten gevonden binnen de gezette werktijden ({$workdayStartStr} - {$workdayEndStr}) voor de komende {$maxDays} werkdagen.",
|
||||
'success' => false,
|
||||
'workday_start' => $workdayStartStr,
|
||||
'workday_end' => $workdayEndStr,
|
||||
'error' => "Geen vrij blok van {$duration} minuten gevonden binnen de gezette werktijden ({$workdayStartStr} - {$workdayEndStr}) voor de komende {$maxDays} werkdagen.",
|
||||
]);
|
||||
}
|
||||
exit;
|
||||
|
||||
Reference in New Issue
Block a user