Brainstorm huge refactor

This commit is contained in:
2026-09-14 11:10:54 +02:00
parent 5a31f0948a
commit 24fbfb9d82
9 changed files with 747 additions and 41 deletions
+54 -1
View File
@@ -6,6 +6,7 @@
require_once __DIR__ . '/../includes/auth.php';
require_once __DIR__ . '/../includes/settings.php';
require_once __DIR__ . '/../includes/integrations/microsoft.php';
require_once __DIR__ . '/../includes/boards.php';
$user = require_auth(true);
$db = get_db_connection();
@@ -182,6 +183,31 @@ try {
$stmt->execute([$user['id'], $planId, $title, $priority, $timeBlockStart, $timeBlockEnd, $durationMinutes, $source, $externalId, $externalUrl]);
$taskId = (int)$db->lastInsertId();
// Optioneel toevoegen aan Bord en Tijdlijn
$boardSyncResult = null;
$addToBoard = !empty($data['add_to_board']) && !empty($data['board_id']);
if ($addToBoard) {
$boardId = (int)$data['board_id'];
$laneId = (int)($data['lane_id'] ?? 0);
$scheduleOnTimeline = !empty($data['schedule_on_timeline']);
$timelineStartDate = !empty($data['timeline_start_date']) ? trim($data['timeline_start_date']) : $date;
$timelineEndDate = !empty($data['timeline_end_date']) ? trim($data['timeline_end_date']) : $timelineStartDate;
$boardSyncResult = fociz_add_item_to_board_and_timeline($db, (int)$user['id'], ($user['role'] === 'ADMIN'), [
'board_id' => $boardId,
'lane_id' => $laneId,
'title' => $title,
'description' => (!empty($data['description']) ? trim((string)$data['description']) : "") . (!empty($externalUrl) ? "\n\nReferentie: " . $externalUrl : ""),
'priority' => $priority,
'color' => !empty($data['board_color']) ? $data['board_color'] : 'blue',
'schedule_on_timeline' => $scheduleOnTimeline,
'start_date' => $timelineStartDate,
'end_date' => $timelineEndDate,
'start_time' => $timeBlockStart ?: '09:00',
'end_time' => $timeBlockEnd ?: '10:00',
]);
}
echo json_encode([
'success' => true,
'task' => [
@@ -199,6 +225,7 @@ try {
],
'outlook_synced' => ($source === 'OUTLOOK' && !empty($externalId)),
'outlook_error' => $outlookSyncError,
'board_sync' => $boardSyncResult,
]);
exit;
}
@@ -337,12 +364,38 @@ try {
$stmtUpdate->execute([$title, $description, $priority, $timeBlockStart, $timeBlockEnd, $durationMinutes, $source, $externalId, $externalUrl, $taskId, $user['id']]);
}
// Optioneel toevoegen aan Bord en Tijdlijn bij herplannen
$boardSyncResult = null;
$addToBoard = !empty($data['add_to_board']) && !empty($data['board_id']);
if ($addToBoard) {
$boardId = (int)$data['board_id'];
$laneId = (int)($data['lane_id'] ?? 0);
$scheduleOnTimeline = !empty($data['schedule_on_timeline']);
$timelineStartDate = !empty($data['timeline_start_date']) ? trim($data['timeline_start_date']) : $planDate;
$timelineEndDate = !empty($data['timeline_end_date']) ? trim($data['timeline_end_date']) : $timelineStartDate;
$boardSyncResult = fociz_add_item_to_board_and_timeline($db, (int)$user['id'], ($user['role'] === 'ADMIN'), [
'board_id' => $boardId,
'lane_id' => $laneId,
'title' => $title,
'description' => (!empty($description) ? trim((string)$description) : "") . (!empty($externalUrl) ? "\n\nReferentie: " . $externalUrl : ""),
'priority' => $priority,
'color' => !empty($data['board_color']) ? $data['board_color'] : 'blue',
'schedule_on_timeline' => $scheduleOnTimeline,
'start_date' => $timelineStartDate,
'end_date' => $timelineEndDate,
'start_time' => $timeBlockStart ?: '09:00',
'end_time' => $timeBlockEnd ?: '10:00',
]);
}
echo json_encode([
'success' => true,
'time_block_start' => $timeBlockStart,
'time_block_end' => $timeBlockEnd,
'duration_minutes' => $durationMinutes,
'date' => $planDate
'date' => $planDate,
'board_sync' => $boardSyncResult,
]);
exit;
}