prepare("SELECT id, name FROM clients WHERE company_id = ? AND is_active = 1 ORDER BY name ASC"); $stmt->execute([$companyId]); $clients = $stmt->fetchAll(); // Fetch statuses for selection $stmt = db()->prepare("SELECT id, name, is_default FROM job_statuses WHERE company_id = ? ORDER BY sort_order ASC"); $stmt->execute([$companyId]); $statuses = $stmt->fetchAll(); // Fetch company settings $stmt = db()->prepare("SELECT uprn_required FROM companies WHERE id = ?"); $stmt->execute([$companyId]); $company = $stmt->fetch(); if ($_SERVER['REQUEST_METHOD'] === 'POST') { $clientId = $_POST['client_id'] ?? ''; $statusId = $_POST['status_id'] ?? ''; $uprn = $_POST['uprn'] ?? ''; $address = $_POST['address'] ?? ''; $description = $_POST['description'] ?? ''; if (empty($clientId) || empty($statusId) || empty($address)) { $error = 'Please fill in all required fields.'; } elseif ($company['uprn_required'] && empty($uprn)) { $error = 'UPRN is required for this company.'; } else { try { db()->beginTransaction(); // 1. Insert Job $stmt = db()->prepare(" INSERT INTO jobs (company_id, client_id, status_id, uprn, address, description) VALUES (?, ?, ?, ?, ?, ?) "); $stmt->execute([$companyId, $clientId, $statusId, $uprn, $address, $description]); $jobId = db()->lastInsertId(); // 2. Add Mandatory Folders $stmt = db()->prepare("SELECT name FROM required_folders WHERE company_id = ?"); $stmt->execute([$companyId]); $reqFolders = $stmt->fetchAll(); $folderStmt = db()->prepare("INSERT INTO job_folders (job_id, name, is_required) VALUES (?, ?, ?)"); foreach ($reqFolders as $rf) { $folderStmt->execute([$jobId, $rf['name'], 1]); } // 3. Log activity $logStmt = db()->prepare("INSERT INTO job_logs (job_id, user_id, action, details) VALUES (?, ?, ?, ?)"); $logStmt->execute([$jobId, $user['id'], 'created', 'Job created manually by user.']); db()->commit(); header('Location: dashboard.php'); exit; } catch (Exception $e) { db()->rollBack(); $error = "Database error: " . $e->getMessage(); } } } $pageTitle = "Create New Job"; require_once __DIR__ . '/includes/header.php'; ?>