prepare("INSERT INTO labour_types (tenant_id, name) VALUES (?, ?)");
$stmt->execute([$tenant_id, $name]);
} elseif ($action === 'edit_labour_type' && $id && $name) {
$stmt = db()->prepare("UPDATE labour_types SET name = ? WHERE id = ? AND tenant_id = ?");
$stmt->execute([$name, $id, $tenant_id]);
} elseif ($action === 'delete_labour_type' && $id) {
$check = db()->prepare("SELECT COUNT(*) FROM labour_entries WHERE labour_type_id = ? AND tenant_id = ?");
$check->execute([$id, $tenant_id]);
if ($check->fetchColumn() > 0) {
$error = "Cannot delete: Labour type is used in labour entries.";
} else {
$stmt = db()->prepare("DELETE FROM labour_types WHERE id = ? AND tenant_id = ?");
$stmt->execute([$id, $tenant_id]);
}
}
elseif ($action === 'add_evidence_type' && $name) {
$stmt = db()->prepare("INSERT INTO evidence_types (tenant_id, name) VALUES (?, ?)");
$stmt->execute([$tenant_id, $name]);
} elseif ($action === 'edit_evidence_type' && $id && $name) {
$stmt = db()->prepare("UPDATE evidence_types SET name = ? WHERE id = ? AND tenant_id = ?");
$stmt->execute([$name, $id, $tenant_id]);
} elseif ($action === 'delete_evidence_type' && $id) {
$check = db()->prepare("SELECT COUNT(*) FROM labour_entries WHERE evidence_type_id = ? AND tenant_id = ?");
$check->execute([$id, $tenant_id]);
if ($check->fetchColumn() > 0) {
$error = "Cannot delete: Evidence type is used in labour entries.";
} else {
$stmt = db()->prepare("DELETE FROM evidence_types WHERE id = ? AND tenant_id = ?");
$stmt->execute([$id, $tenant_id]);
}
}
elseif ($action === 'add_expense_type' && $name) {
$stmt = db()->prepare("INSERT INTO expense_types (tenant_id, name) VALUES (?, ?)");
$stmt->execute([$tenant_id, $name]);
} elseif ($action === 'edit_expense_type' && $id && $name) {
$stmt = db()->prepare("UPDATE expense_types SET name = ? WHERE id = ? AND tenant_id = ?");
$stmt->execute([$name, $id, $tenant_id]);
} elseif ($action === 'delete_expense_type' && $id) {
$check = db()->prepare("SELECT COUNT(*) FROM expenses WHERE expense_type_id = ? AND tenant_id = ?");
$check->execute([$id, $tenant_id]);
if ($check->fetchColumn() > 0) {
$error = "Cannot delete: Expense type is used in expense logs.";
} else {
$stmt = db()->prepare("DELETE FROM expense_types WHERE id = ? AND tenant_id = ?");
$stmt->execute([$id, $tenant_id]);
}
}
elseif ($action === 'add_team' && $name) {
$stmt = db()->prepare("INSERT INTO teams (tenant_id, name) VALUES (?, ?)");
$stmt->execute([$tenant_id, $name]);
} elseif ($action === 'edit_team' && $id && $name) {
$stmt = db()->prepare("UPDATE teams SET name = ? WHERE id = ? AND tenant_id = ?");
$stmt->execute([$name, $id, $tenant_id]);
} elseif ($action === 'delete_team' && $id) {
$check = db()->prepare("SELECT COUNT(*) FROM employee_teams WHERE team_id = ? AND tenant_id = ?");
$check->execute([$id, $tenant_id]);
if ($check->fetchColumn() > 0) {
$error = "Cannot delete: Team has assigned employees.";
} else {
$stmt = db()->prepare("DELETE FROM teams WHERE id = ? AND tenant_id = ?");
$stmt->execute([$id, $tenant_id]);
}
}
if ($error) {
header("Location: settings.php?error=" . urlencode($error));
} else {
header("Location: settings.php?success=1");
}
exit;
}
// Fetch all datasets
$labourTypes = db()->prepare("SELECT * FROM labour_types WHERE tenant_id = ? ORDER BY name");
$labourTypes->execute([$tenant_id]);
$labourTypeList = $labourTypes->fetchAll();
$evidenceTypes = db()->prepare("SELECT * FROM evidence_types WHERE tenant_id = ? ORDER BY name");
$evidenceTypes->execute([$tenant_id]);
$evidenceTypeList = $evidenceTypes->fetchAll();
$expenseTypes = db()->prepare("SELECT * FROM expense_types WHERE tenant_id = ? ORDER BY name");
$expenseTypes->execute([$tenant_id]);
$expenseTypeList = $expenseTypes->fetchAll();
$teams = db()->prepare("SELECT * FROM teams WHERE tenant_id = ? ORDER BY name");
$teams->execute([$tenant_id]);
$teamList = $teams->fetchAll();
$pageTitle = "SR&ED Manager - Settings";
include __DIR__ . '/includes/header.php';
?>
System Settings & Datasets
Dataset updated successfully
= htmlspecialchars($_GET['error']) ?>
| Name | Actions |
| = htmlspecialchars($item['name']) ?> |
|
| Name | Actions |
| = htmlspecialchars($item['name']) ?> |
|
| Name | Actions |
| = htmlspecialchars($item['name']) ?> |
|
| Name | Actions |
| = htmlspecialchars($item['name']) ?> |
|
'addLabourTypeModal', 'title' => 'Add Labour Type', 'action' => 'add_labour_type'],
['id' => 'addEvidenceTypeModal', 'title' => 'Add Evidence Type', 'action' => 'add_evidence_type'],
['id' => 'addExpenseTypeModal', 'title' => 'Add Expense Type', 'action' => 'add_expense_type'],
['id' => 'addTeamModal', 'title' => 'Add Team', 'action' => 'add_team'],
];
foreach ($modals as $m):
?>