Version 3
This commit is contained in:
parent
b3895068d2
commit
fd880153e8
@ -1,6 +1,6 @@
|
||||
body.dark-mode {
|
||||
background-color: #121212;
|
||||
color: #e0e0e0;
|
||||
background-color: #2c2c2c; /* Dark grey background */
|
||||
color: #ffffff; /* White text */
|
||||
}
|
||||
|
||||
body.dark-mode .header {
|
||||
@ -8,53 +8,47 @@ body.dark-mode .header {
|
||||
border-bottom: 1px solid #333;
|
||||
}
|
||||
|
||||
body.dark-mode .card {
|
||||
background-color: #1e1e1e;
|
||||
border: 1px solid #333;
|
||||
/* Make header link white */
|
||||
body.dark-mode .header a, body.dark-mode .header a:hover, body.dark-mode a.text-dark, body.dark-mode a.text-dark:hover {
|
||||
color: #ffffff !important;
|
||||
}
|
||||
|
||||
body.dark-mode .modal-content {
|
||||
background-color: #1e1e1e;
|
||||
border: 1px solid #333;
|
||||
}
|
||||
|
||||
body.dark-mode .card,
|
||||
body.dark-mode .modal-content,
|
||||
body.dark-mode .footer {
|
||||
background-color: #1e1e1e;
|
||||
border-top: 1px solid #333;
|
||||
background-color: #3a3a3a; /* Lighter grey for cards */
|
||||
border: 1px solid #444;
|
||||
}
|
||||
|
||||
body.dark-mode .table {
|
||||
background-color: #1e1e1e;
|
||||
color: #e0e0e0;
|
||||
background-color: #3a3a3a; /* Lighter grey for tables */
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
body.dark-mode .table-light {
|
||||
background-color: #333;
|
||||
color: #e0e0e0;
|
||||
background-color: #4a4a4a; /* Slightly lighter grey for table header */
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
body.dark-mode .nav-tabs .nav-link {
|
||||
color: #e0e0e0;
|
||||
border: 1px solid #333;
|
||||
color: #ffffff;
|
||||
border: 1px solid #444;
|
||||
}
|
||||
|
||||
body.dark-mode .nav-tabs .nav-link.active {
|
||||
background-color: #333;
|
||||
border-color: #333;
|
||||
}
|
||||
|
||||
body.dark-mode .form-control {
|
||||
background-color: #333;
|
||||
color: #e0e0e0;
|
||||
border: 1px solid #555;
|
||||
background-color: #4a4a4a;
|
||||
border-color: #4a4a4a;
|
||||
}
|
||||
|
||||
body.dark-mode .form-control,
|
||||
body.dark-mode .form-select {
|
||||
background-color: #333;
|
||||
color: #e0e0e0;
|
||||
border: 1px solid #555;
|
||||
background-color: #4a4a4a;
|
||||
color: #ffffff;
|
||||
border: 1px solid #666;
|
||||
}
|
||||
|
||||
/* Keep button colors for visibility */
|
||||
body.dark-mode .btn-primary {
|
||||
background-color: #0d6efd;
|
||||
border-color: #0d6efd;
|
||||
@ -71,8 +65,8 @@ body.dark-mode .btn-outline-primary:hover {
|
||||
}
|
||||
|
||||
body.dark-mode .btn-outline-secondary {
|
||||
color: #6c757d;
|
||||
border-color: #6c757d;
|
||||
color: #8e959c;
|
||||
border-color: #8e959c;
|
||||
}
|
||||
|
||||
body.dark-mode .btn-outline-secondary:hover {
|
||||
@ -91,10 +85,15 @@ body.dark-mode .btn-outline-info:hover {
|
||||
}
|
||||
|
||||
body.dark-mode .text-muted {
|
||||
color: #aaa !important;
|
||||
color: #ccc !important;
|
||||
}
|
||||
|
||||
body.dark-mode .badge.bg-info {
|
||||
background-color: #0dcaf0 !important;
|
||||
color: #000 !important;
|
||||
}
|
||||
|
||||
/* Override for table header links */
|
||||
body.dark-mode .table-light a {
|
||||
color: #ffffff !important;
|
||||
}
|
||||
31
delete_grievance.php
Normal file
31
delete_grievance.php
Normal file
@ -0,0 +1,31 @@
|
||||
<?php
|
||||
require_once 'db/config.php';
|
||||
|
||||
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['grievance_id'])) {
|
||||
$grievance_id = $_POST['grievance_id'];
|
||||
|
||||
try {
|
||||
$pdo = db();
|
||||
|
||||
// Also delete associated updates
|
||||
$stmt = $pdo->prepare("DELETE FROM grievance_updates WHERE grievance_id = ?");
|
||||
$stmt->execute([$grievance_id]);
|
||||
|
||||
$stmt = $pdo->prepare("DELETE FROM grievances WHERE id = ?");
|
||||
$stmt->execute([$grievance_id]);
|
||||
|
||||
header("Location: index.php");
|
||||
exit();
|
||||
} catch (PDOException $e) {
|
||||
// Handle database errors
|
||||
error_log("Database error: " . $e->getMessage());
|
||||
// You might want to show an error message to the user
|
||||
header("Location: index.php?error=deletion_failed");
|
||||
exit();
|
||||
}
|
||||
} else {
|
||||
// Redirect if accessed directly or without a grievance_id
|
||||
header("Location: index.php");
|
||||
exit();
|
||||
}
|
||||
?>
|
||||
36
footer.php
36
footer.php
@ -12,21 +12,29 @@
|
||||
const darkModeToggle = document.getElementById('darkModeToggle');
|
||||
const body = document.body;
|
||||
|
||||
// Check for saved dark mode preference
|
||||
if (localStorage.getItem('darkMode') === 'enabled') {
|
||||
body.classList.add('dark-mode');
|
||||
darkModeToggle.checked = true;
|
||||
}
|
||||
|
||||
darkModeToggle.addEventListener('change', function () {
|
||||
if (this.checked) {
|
||||
// Function to apply dark mode based on toggle state
|
||||
function applyDarkMode() {
|
||||
if (darkModeToggle.checked) {
|
||||
body.classList.add('dark-mode');
|
||||
localStorage.setItem('darkMode', 'enabled');
|
||||
} else {
|
||||
body.classList.remove('dark-mode');
|
||||
localStorage.setItem('darkMode', 'disabled');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Check for saved dark mode preference and set toggle accordingly
|
||||
if (localStorage.getItem('darkMode') === 'enabled') {
|
||||
darkModeToggle.checked = true;
|
||||
} else if (localStorage.getItem('darkMode') === 'disabled') {
|
||||
darkModeToggle.checked = false;
|
||||
}
|
||||
|
||||
// Apply dark mode on initial load
|
||||
applyDarkMode();
|
||||
|
||||
// Listener for toggle changes
|
||||
darkModeToggle.addEventListener('change', applyDarkMode);
|
||||
|
||||
var editGrievanceModal = document.getElementById('editGrievanceModal');
|
||||
if (editGrievanceModal) {
|
||||
@ -61,6 +69,16 @@
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
var deleteGrievanceModal = document.getElementById('deleteGrievanceModal');
|
||||
if (deleteGrievanceModal) {
|
||||
deleteGrievanceModal.addEventListener('show.bs.modal', function (event) {
|
||||
var button = event.relatedTarget;
|
||||
var id = button.getAttribute('data-id');
|
||||
var modal = this;
|
||||
modal.querySelector('#delete_grievance_id').value = id;
|
||||
});
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
|
||||
@ -210,11 +210,11 @@
|
||||
<div class="container">
|
||||
<div class="d-flex justify-content-between align-items-center">
|
||||
<div>
|
||||
<h1><a href="index.php" class="text-decoration-none text-dark">TWU Local 555 BNA Ramp Grievance Tracker</a></h1>
|
||||
<h1><a href="index.php" class="text-decoration-none">TWU Local 555 BNA Ramp Grievance Tracker</a></h1>
|
||||
<p class="lead">A simple tool to track and manage ramp grievances.</p>
|
||||
</div>
|
||||
<div class="form-check form-switch">
|
||||
<input class="form-check-input" type="checkbox" id="darkModeToggle">
|
||||
<input class="form-check-input" type="checkbox" id="darkModeToggle" checked>
|
||||
<label class="form-check-label" for="darkModeToggle">Dark Mode</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
286
index.php
286
index.php
@ -7,144 +7,158 @@ function get_status_class($status) {
|
||||
|
||||
?>
|
||||
|
||||
<ul class="nav nav-tabs mb-3">
|
||||
<?php foreach ($categories as $category): ?>
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<ul class="nav nav-pills flex-column">
|
||||
<?php foreach ($categories as $category): ?>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link <?php echo $page === $category ? 'active' : ''; ?>" href="index.php?page=<?php echo urlencode($category); ?>"><?php echo htmlspecialchars($category); ?></a>
|
||||
</li>
|
||||
<?php endforeach; ?>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link <?php echo $page === $category ? 'active' : ''; ?>" href="index.php?page=<?php echo urlencode($category); ?>"><?php echo htmlspecialchars($category); ?></a>
|
||||
<a class="nav-link" href="statistics.php">Statistics</a>
|
||||
</li>
|
||||
<?php endforeach; ?>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="statistics.php">Statistics</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="d-flex justify-content-end mb-3">
|
||||
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#addGrievanceModal">
|
||||
<i class="bi bi-plus-circle"></i> Add Grievance
|
||||
</button>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="col-md-9">
|
||||
<div class="d-flex justify-content-end mb-3">
|
||||
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#addGrievanceModal">
|
||||
<i class="bi bi-plus-circle"></i> Add Grievance
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="card shadow-sm">
|
||||
<div class="card-body">
|
||||
<h2 class="card-title"><?php echo htmlspecialchars($page); ?></h2>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover">
|
||||
<thead class="table-light">
|
||||
<tr>
|
||||
<th>Grievant Name</th>
|
||||
<th>Discipline</th>
|
||||
<th>Subject</th>
|
||||
<?php if ($page === 'FWD to Office' || $page === 'Terminations'): ?>
|
||||
<th>Case Number</th>
|
||||
<?php endif; ?>
|
||||
<?php if ($page === 'Local Grievances'): ?>
|
||||
<th><a href="index.php?page=<?php echo urlencode($page); ?>&sort=timeframes&order=<?php echo ($sort_column === 'timeframes' && $sort_order === 'asc') ? 'desc' : 'asc'; ?>">Timeframes</a></th>
|
||||
<?php endif; ?>
|
||||
<th><a href="index.php?page=<?php echo urlencode($page); ?>&sort=status&order=<?php echo ($sort_column === 'status' && $sort_order === 'asc') ? 'desc' : 'asc'; ?>">Status</a></th>
|
||||
<th><a href="index.php?page=<?php echo urlencode($page); ?>&sort=last_updated&order=<?php echo ($sort_column === 'last_updated' && $sort_order === 'asc') ? 'desc' : 'asc'; ?>">Last Updated</a></th>
|
||||
<th>Union Representative</th>
|
||||
<th>Actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php if (empty($grievances)): ?>
|
||||
<div class="card shadow-sm">
|
||||
<div class="card-body">
|
||||
<h2 class="card-title"><?php echo htmlspecialchars($page); ?></h2>
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover">
|
||||
<thead class="table-light">
|
||||
<tr>
|
||||
<td colspan="8" class="text-center">No grievances found in this category.</td>
|
||||
<th>Grievant Name</th>
|
||||
<th>Discipline</th>
|
||||
<th>Subject</th>
|
||||
<?php if ($page === 'FWD to Office' || $page === 'Terminations'): ?>
|
||||
<th>Case Number</th>
|
||||
<?php endif; ?>
|
||||
<?php if ($page === 'Local Grievances'): ?>
|
||||
<th><a href="index.php?page=<?php echo urlencode($page); ?>&sort=timeframes&order=<?php echo ($sort_column === 'timeframes' && $sort_order === 'asc') ? 'desc' : 'asc'; ?>">Timeframes</a></th>
|
||||
<?php endif; ?>
|
||||
<th><a href="index.php?page=<?php echo urlencode($page); ?>&sort=status&order=<?php echo ($sort_column === 'status' && $sort_order === 'asc') ? 'desc' : 'asc'; ?>">Status</a></th>
|
||||
<th><a href="index.php?page=<?php echo urlencode($page); ?>&sort=last_updated&order=<?php echo ($sort_column === 'last_updated' && $sort_order === 'asc') ? 'desc' : 'asc'; ?>">Last Updated</a></th>
|
||||
<th>Union Representative</th>
|
||||
<th>Actions</th>
|
||||
</tr>
|
||||
<?php else: ?>
|
||||
<?php foreach ($grievances as $grievance): ?>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php if (empty($grievances)): ?>
|
||||
<tr>
|
||||
<td><?php echo htmlspecialchars($grievance['grievant_name']); ?></td>
|
||||
<td><?php echo htmlspecialchars($grievance['discipline']); ?></td>
|
||||
<td><?php echo htmlspecialchars($grievance['subject']); ?></td>
|
||||
<?php if ($page === 'FWD to Office' || $page === 'Terminations'): ?>
|
||||
<td><?php echo htmlspecialchars($grievance['case_number'] ?? ''); ?></td>
|
||||
<?php endif; ?>
|
||||
<?php if ($page === 'Local Grievances'): ?>
|
||||
<td><input type="date" class="form-control"></td>
|
||||
<?php endif; ?>
|
||||
<td><span class="badge <?php echo get_status_class(htmlspecialchars($grievance['status'])); ?>"><?php echo htmlspecialchars($grievance['status']); ?></span></td>
|
||||
<td><?php echo date("m/d/Y h:i A", strtotime($grievance['last_updated'])); ?></td>
|
||||
<td><?php echo htmlspecialchars($grievance['union_representative']); ?></td>
|
||||
<td class="d-flex gap-2">
|
||||
<form action="index.php?page=<?php echo urlencode($page); ?>" method="post" class="d-flex">
|
||||
<input type="hidden" name="move_grievance" value="1">
|
||||
<input type="hidden" name="grievance_id" value="<?php echo $grievance['id']; ?>">
|
||||
<select name="new_category" class="form-select form-select-sm me-2">
|
||||
<option selected disabled>Move to...</option>
|
||||
<?php
|
||||
foreach ($categories as $category) {
|
||||
if ($category !== $grievance['category']) {
|
||||
echo '<option value="' . htmlspecialchars($category) . '">' . htmlspecialchars($category) . '</option>';
|
||||
}
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
<button type="submit" class="btn btn-sm btn-outline-secondary">Move</button>
|
||||
</form>
|
||||
<button type="button" class="btn btn-sm btn-outline-primary edit-btn"
|
||||
data-bs-toggle="modal"
|
||||
data-bs-target="#editGrievanceModal"
|
||||
data-id="<?php echo $grievance['id']; ?>"
|
||||
data-grievant-name="<?php echo htmlspecialchars($grievance['grievant_name']); ?>"
|
||||
data-discipline="<?php echo htmlspecialchars($grievance['discipline']); ?>"
|
||||
data-subject="<?php echo htmlspecialchars($grievance['subject']); ?>"
|
||||
data-status="<?php echo htmlspecialchars($grievance['status']); ?>"
|
||||
data-union-representative="<?php echo htmlspecialchars($grievance['union_representative']); ?>"
|
||||
data-category="<?php echo htmlspecialchars($grievance['category']); ?>"
|
||||
data-case-number="<?php echo htmlspecialchars($grievance['case_number'] ?? ''); ?>">
|
||||
Edit
|
||||
</button>
|
||||
<button type="button" class="btn btn-sm btn-outline-info view-updates-btn" data-bs-toggle="collapse" data-bs-target="#updates-<?php echo $grievance['id']; ?>">
|
||||
<i class="bi bi-chat-dots"></i> View Updates
|
||||
</button>
|
||||
</td>
|
||||
<td colspan="8" class="text-center">No grievances found in this category.</td>
|
||||
</tr>
|
||||
<tr class="collapse" id="updates-<?php echo $grievance['id']; ?>">
|
||||
<td colspan="8">
|
||||
<div class="updates-container p-3">
|
||||
<h5>Updates</h5>
|
||||
<?php
|
||||
$update_stmt = $pdo->prepare("SELECT * FROM grievance_updates WHERE grievance_id = ? ORDER BY created_at DESC");
|
||||
$update_stmt->execute([$grievance['id']]);
|
||||
$updates = $update_stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||
?>
|
||||
<?php if (empty($updates)): ?>
|
||||
<p>No updates for this grievance yet.</p>
|
||||
<?php else: ?>
|
||||
<ul class="list-group mb-3">
|
||||
<?php foreach ($updates as $update): ?>
|
||||
<li class="list-group-item">
|
||||
<p class="mb-1"><?php echo htmlspecialchars($update['update_text']); ?></p>
|
||||
<small class="text-muted">By <?php echo htmlspecialchars($update['representative_name']); ?> on <?php echo date("m/d/Y h:i A", strtotime($update['created_at'])); ?></small>
|
||||
</li>
|
||||
<?php endforeach; ?>
|
||||
</ul>
|
||||
<?php endif; ?>
|
||||
|
||||
<form action="index.php?page=<?php echo urlencode($page); ?>" method="post">
|
||||
<input type="hidden" name="add_grievance_update" value="1">
|
||||
<?php else: ?>
|
||||
<?php foreach ($grievances as $grievance): ?>
|
||||
<tr>
|
||||
<td><?php echo htmlspecialchars($grievance['grievant_name']); ?></td>
|
||||
<td><?php echo htmlspecialchars($grievance['discipline']); ?></td>
|
||||
<td><?php echo htmlspecialchars($grievance['subject']); ?></td>
|
||||
<?php if ($page === 'FWD to Office' || $page === 'Terminations'): ?>
|
||||
<td><?php echo htmlspecialchars($grievance['case_number'] ?? ''); ?></td>
|
||||
<?php endif; ?>
|
||||
<?php if ($page === 'Local Grievances'): ?>
|
||||
<td><input type="date" class="form-control"></td>
|
||||
<?php endif; ?>
|
||||
<td><span class="badge <?php echo get_status_class(htmlspecialchars($grievance['status'])); ?>"><?php echo htmlspecialchars($grievance['status']); ?></span></td>
|
||||
<td><?php echo date("m/d/Y h:i A", strtotime($grievance['last_updated'])); ?></td>
|
||||
<td><?php echo htmlspecialchars($grievance['union_representative']); ?></td>
|
||||
<td class="d-flex gap-2">
|
||||
<form action="index.php?page=<?php echo urlencode($page); ?>" method="post" class="d-flex">
|
||||
<input type="hidden" name="move_grievance" value="1">
|
||||
<input type="hidden" name="grievance_id" value="<?php echo $grievance['id']; ?>">
|
||||
<div class="mb-3">
|
||||
<label for="update_text_<?php echo $grievance['id']; ?>" class="form-label">Add Update</label>
|
||||
<textarea class="form-control" id="update_text_<?php echo $grievance['id']; ?>" name="update_text" rows="3" required></textarea>
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label for="representative_name_<?php echo $grievance['id']; ?>" class="form-label">Your Name (Union Representative)</label>
|
||||
<input type="text" class="form-control" id="representative_name_<?php echo $grievance['id']; ?>" name="representative_name" required>
|
||||
</div>
|
||||
<button type="submit" class="btn btn-primary">Submit Update</button>
|
||||
<select name="new_category" class="form-select form-select-sm me-2">
|
||||
<option selected disabled>Move to...</option>
|
||||
<?php
|
||||
foreach ($categories as $category) {
|
||||
if ($category !== $grievance['category']) {
|
||||
echo '<option value="' . htmlspecialchars($category) . '">' . htmlspecialchars($category) . '</option>';
|
||||
}
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
<button type="submit" class="btn btn-sm btn-outline-secondary">Move</button>
|
||||
</form>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
<?php endif; ?>
|
||||
</tbody>
|
||||
</table>
|
||||
<button type="button" class="btn btn-sm btn-outline-primary edit-btn"
|
||||
data-bs-toggle="modal"
|
||||
data-bs-target="#editGrievanceModal"
|
||||
data-id="<?php echo $grievance['id']; ?>"
|
||||
data-grievant-name="<?php echo htmlspecialchars($grievance['grievant_name']); ?>"
|
||||
data-discipline="<?php echo htmlspecialchars($grievance['discipline']); ?>"
|
||||
data-subject="<?php echo htmlspecialchars($grievance['subject']); ?>"
|
||||
data-status="<?php echo htmlspecialchars($grievance['status']); ?>"
|
||||
data-union-representative="<?php echo htmlspecialchars($grievance['union_representative']); ?>"
|
||||
data-category="<?php echo htmlspecialchars($grievance['category']); ?>"
|
||||
data-case-number="<?php echo htmlspecialchars($grievance['case_number'] ?? ''); ?>">
|
||||
Edit
|
||||
</button>
|
||||
<button type="button" class="btn btn-sm btn-outline-info view-updates-btn" data-bs-toggle="collapse" data-bs-target="#updates-<?php echo $grievance['id']; ?>">
|
||||
<i class="bi bi-chat-dots"></i> View Updates
|
||||
</button>
|
||||
<button type="button" class="btn btn-sm btn-outline-danger delete-btn"
|
||||
data-bs-toggle="modal"
|
||||
data-bs-target="#deleteGrievanceModal"
|
||||
data-id="<?php echo $grievance['id']; ?>">
|
||||
Delete
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="collapse" id="updates-<?php echo $grievance['id']; ?>">
|
||||
<td colspan="8">
|
||||
<div class="updates-container p-3">
|
||||
<h5>Updates</h5>
|
||||
<?php
|
||||
$update_stmt = $pdo->prepare("SELECT * FROM grievance_updates WHERE grievance_id = ? ORDER BY created_at DESC");
|
||||
$update_stmt->execute([$grievance['id']]);
|
||||
$updates = $update_stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||
?>
|
||||
<?php if (empty($updates)): ?>
|
||||
<p>No updates for this grievance yet.</p>
|
||||
<?php else: ?>
|
||||
<ul class="list-group mb-3">
|
||||
<?php foreach ($updates as $update): ?>
|
||||
<li class="list-group-item">
|
||||
<p class="mb-1"><?php echo htmlspecialchars($update['update_text']); ?></p>
|
||||
<small class="text-muted">By <?php echo htmlspecialchars($update['representative_name']); ?> on <?php echo date("m/d/Y h:i A", strtotime($update['created_at'])); ?></small>
|
||||
</li>
|
||||
<?php endforeach; ?>
|
||||
</ul>
|
||||
<?php endif; ?>
|
||||
|
||||
<form action="index.php?page=<?php echo urlencode($page); ?>" method="post">
|
||||
<input type="hidden" name="add_grievance_update" value="1">
|
||||
<input type="hidden" name="grievance_id" value="<?php echo $grievance['id']; ?>">
|
||||
<div class="mb-3">
|
||||
<label for="update_text_<?php echo $grievance['id']; ?>" class="form-label">Add Update</label>
|
||||
<textarea class="form-control" id="update_text_<?php echo $grievance['id']; ?>" name="update_text" rows="3" required></textarea>
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label for="representative_name_<?php echo $grievance['id']; ?>" class="form-label">Your Name (Union Representative)</label>
|
||||
<input type="text" class="form-control" id="representative_name_<?php echo $grievance['id']; ?>" name="representative_name" required>
|
||||
</div>
|
||||
<button type="submit" class="btn btn-primary">Submit Update</button>
|
||||
</form>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
<?php endif; ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
|
||||
<!-- Add Grievance Modal -->
|
||||
@ -247,4 +261,26 @@ function get_status_class($status) {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Delete Grievance Modal -->
|
||||
<div class="modal fade" id="deleteGrievanceModal" tabindex="-1" aria-labelledby="deleteGrievanceModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="deleteGrievanceModalLabel">Delete Grievance</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p>Are you sure you want to delete this grievance?</p>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancel</button>
|
||||
<form action="delete_grievance.php" method="post" id="deleteGrievanceForm">
|
||||
<input type="hidden" name="grievance_id" id="delete_grievance_id">
|
||||
<button type="submit" class="btn btn-danger">Delete</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php require_once 'footer.php'; ?>
|
||||
Loading…
x
Reference in New Issue
Block a user