Still trying to fix

This commit is contained in:
Flatlogic Bot 2025-12-06 10:38:57 +00:00
parent faa47959df
commit e9c9a7f587
9 changed files with 19 additions and 117 deletions

View File

@ -2,6 +2,8 @@
require_once __DIR__ . '/includes/auth_check.php';
require_once __DIR__ . '/db/config.php';
$message = '';
$error = '';
$pdo = db();
@ -11,6 +13,8 @@ $school_id = $_SESSION['school_id'];
// Handle Delete request
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['delete_id'])) {
try {
// First, remove teacher from schedule
$stmt = $pdo->prepare("DELETE FROM workloads WHERE id = ? AND school_id = ?");
if ($stmt->execute([$_POST['delete_id'], $school_id])) {
$message = 'Workload deleted successfully!';
@ -45,6 +49,7 @@ elseif ($_SERVER['REQUEST_METHOD'] === 'POST') {
} else { // Insert
$stmt = $pdo->prepare("INSERT INTO workloads (class_id, subject_id, teacher_id, lessons_per_week, school_id) VALUES (?, ?, ?, ?, ?)");
if ($stmt->execute([$class_id, $subject_id, $teacher_id, $lessons_per_week, $school_id])) {
$new_workload_id = $pdo->lastInsertId();
$message = 'Workload created successfully!';
} else {
$error = 'Failed to create workload.';

View File

@ -33,33 +33,7 @@ if ($role === 'teacher') {
<link rel="stylesheet" href="assets/css/custom.css?v=<?php echo time(); ?>">
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-light bg-white sticky-top shadow-sm">
<div class="container">
<a class="navbar-brand fw-bold" href="dashboard.php">Haki Schedule</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav ms-auto">
<?php if ($role === 'admin'): ?>
<li class="nav-item"><a class="nav-link" href="admin_classes.php">Classes</a></li>
<li class="nav-item"><a class="nav-link" href="admin_subjects.php">Subjects</a></li>
<li class="nav-item"><a class="nav-link" href="admin_teachers.php">Teachers</a></li>
<li class="nav-item"><a class="nav-link" href="admin_workloads.php">Workloads</a></li>
<li class="nav-item"><a class="nav-link" href="admin_timeslots.php">Timeslots</a></li>
<li class="nav-item"><a class="nav-link" href="timetable.php">Class Timetable</a></li>
<li class="nav-item"><a class="nav-link" href="teacher_timetable.php">Teacher Timetable</a></li>
<?php else: ?>
<li class="nav-item"><a class="nav-link" href="teacher_timetable.php">My Timetable</a></li>
<?php if ($can_edit_workload): ?>
<li class="nav-item"><a class="nav-link" href="teacher_workload.php">My Workload</a></li>
<?php endif; ?>
<?php endif; ?>
<li class="nav-item"><a class="nav-link" href="logout.php">Logout</a></li>
</ul>
</div>
</div>
</nav>
<?php require_once __DIR__ . '/includes/navbar.php'; ?>
<main class="container py-5">
<h1 class="h3 fw-bold">Welcome, <?php echo htmlspecialchars($_SESSION['username']); ?>!</h1>

View File

@ -2,7 +2,7 @@
session_start();
// If user is not logged in or is not an admin, redirect to login page
if (!isset($_SESSION['user_id']) || $_SESSION['role'] !== 'admin') {
if (!isset($_SESSION['user_id']) || ($_SESSION['role'] !== 'admin' && $_SESSION['role'] !== 'teacher')) {
header("Location: login.php");
exit;
}

View File

@ -1,7 +1,7 @@
<?php
session_start();
require_once __DIR__ . '/db/config.php';
require_once __DIR__ . '/../db/config.php';
// If user is not logged in, redirect to login page
if (!isset($_SESSION['user_id'])) {

View File

@ -35,6 +35,10 @@ $role = $_SESSION['role'] ?? '';
<li class="nav-item"><a class="nav-link <?php echo ($current_page == 'timetable.php') ? 'active' : ''; ?>" href="/timetable.php">Class Timetable</a></li>
<?php endif; ?>
<?php if ($role === 'admin'): ?>
<li class="nav-item"><a class="nav-link <?php echo ($current_page == 'teacher_timetable.php') ? 'active' : ''; ?>" href="/teacher_timetable.php">Teacher Timetable</a></li>
<?php endif; ?>
<?php if ($role === 'teacher'): ?>
<?php if (!empty($_SESSION['can_edit_workload'])): ?>
<li class="nav-item"><a class="nav-link <?php echo ($current_page == 'teacher_workload.php') ? 'active' : ''; ?>" href="/teacher_workload.php">My Workload</a></li>

View File

@ -12,38 +12,7 @@
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-light bg-white sticky-top shadow-sm">
<div class="container">
<a class="navbar-brand fw-bold" href="/">Haki Schedule</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav ms-auto">
<li class="nav-item"><a class="nav-link active" href="/">Home</a></li>
<?php if (isset($_SESSION['user_id'])): ?>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="manageDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
Manage
</a>
<ul class="dropdown-menu" aria-labelledby="manageDropdown">
<li><a class="dropdown-item" href="/admin_classes.php">Classes</a></li>
<li><a class="dropdown-item" href="/admin_subjects.php">Subjects</a></li>
<li><a class="dropdown-item" href="/admin_teachers.php">Teachers</a></li>
<li><a class="dropdown-item" href="/admin_workloads.php">Workloads</a></li>
</ul>
</li>
<li class="nav-item"><a class="nav-link" href="/timetable.php">Timetable</a></li>
<li class="nav-item"><a class="nav-link" href="/logout.php">Logout</a></li>
<?php else: ?>
<li class="nav-item"><a class="nav-link" href="/demo.php">Demo</a></li>
<li class="nav-item"><a class="nav-link" href="/login.php">Login</a></li>
<li class="nav-item"><a class="nav-link" href="/register.php">Register</a></li>
<?php endif; ?>
</ul>
</div>
</div>
</nav>
<?php require_once __DIR__ . '/includes/navbar.php'; ?>
<header class="hero-section text-white text-center">
<div class="container">

View File

@ -125,42 +125,7 @@ foreach ($teacher_schedule_raw as $lesson) {
</style>
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-light bg-white sticky-top shadow-sm">
<div class="container">
<a class="navbar-brand fw-bold" href="/">Haki Schedule</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav ms-auto">
<li class="nav-item"><a class="nav-link" href="/">Home</a></li>
<?php if (isset($_SESSION['user_id'])): ?>
<?php if ($role === 'admin'): ?>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="manageDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
Manage
</a>
<ul class="dropdown-menu" aria-labelledby="manageDropdown">
<li><a class="dropdown-item" href="/admin_classes.php">Classes</a></li>
<li><a class="dropdown-item" href="/admin_subjects.php">Subjects</a></li>
<li><a class="dropdown-item" href="/admin_teachers.php">Teachers</a></li>
<li><a class="dropdown-item" href="/admin_workloads.php">Workloads</a></li>
<li><a class="dropdown-item" href="/admin_timeslots.php">Timeslots</a></li>
</ul>
</li>
<li class="nav-item"><a class="nav-link" href="/timetable.php">Class Timetable</a></li>
<?php endif; ?>
<li class="nav-item"><a class="nav-link active" href="/teacher_timetable.php">Teacher Timetable</a></li>
<li class="nav-item"><a class="nav-link" href="/logout.php">Logout</a></li>
<?php else: ?>
<li class="nav-item"><a class="nav-link" href="/demo.php">Demo</a></li>
<li class="nav-item"><a class="nav-link" href="/login.php">Login</a></li>
<li class="nav-item"><a class="nav-link" href="/register.php">Register</a></li>
<?php endif; ?>
</ul>
</div>
</div>
</nav>
<?php require_once 'includes/navbar.php'; ?>
<div class="container mt-4">
<div class="d-flex justify-content-between align-items-center mb-4">

View File

@ -94,12 +94,12 @@ try {
$workloads = [];
try {
$workloads_stmt = $pdo->prepare("
SELECT w.id, c.name as class_name, s.name as subject_name, w.lessons_per_week, w.created_at, w.class_id, w.subject_id
SELECT w.id, c.name as class_name, s.name as subject_name, w.lessons_per_week, w.class_id, w.subject_id
FROM workloads w
JOIN classes c ON w.class_id = c.id
JOIN subjects s ON w.subject_id = s.id
WHERE w.teacher_id = ? AND w.school_id = ?
ORDER BY w.created_at DESC
ORDER BY c.name, s.name
");
$workloads_stmt->execute([$teacher_id, $school_id]);
$workloads = $workloads_stmt->fetchAll(PDO::FETCH_ASSOC);
@ -120,22 +120,7 @@ try {
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-light bg-white sticky-top shadow-sm">
<div class="container">
<a class="navbar-brand fw-bold" href="dashboard.php">Haki Schedule</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav ms-auto">
<li class="nav-item"><a class="nav-link" href="dashboard.php">Dashboard</a></li>
<li class="nav-item"><a class="nav-link active" href="teacher_workload.php">My Workload</a></li>
<li class="nav-item"><a class="nav-link" href="teacher_timetable.php">My Timetable</a></li>
<li class="nav-item"><a class="nav-link" href="logout.php">Logout</a></li>
</ul>
</div>
</div>
</nav>
<?php require_once __DIR__ . '/includes/navbar.php'; ?>
<main class="container py-5">
<div class="row justify-content-center">

View File

@ -204,8 +204,8 @@ function save_timetable($pdo, $class_timetables, $timeslots) {
try {
$pdo->beginTransaction();
$pdo->exec('SET FOREIGN_KEY_CHECKS=0');
$pdo->exec('TRUNCATE TABLE schedule_teachers');
$pdo->exec('TRUNCATE TABLE schedules');
$pdo->exec('DELETE FROM schedule_teachers');
$pdo->exec('DELETE FROM schedules');
$pdo->exec('SET FOREIGN_KEY_CHECKS=1');
$stmt = $pdo->prepare(