fix the exam draft

This commit is contained in:
root
2026-04-02 00:03:59 -04:00
parent ed67836701
commit 61facee902
6 changed files with 111 additions and 39 deletions
+26 -5
View File
@@ -168,12 +168,33 @@
$weekLabel .= ' ' . date('M d, Y', strtotime($group['week_end']));
}
$reports = $group['reports'] ?? [];
$teacherName = '';
$teacherCounts = [];
$teacherLatest = [];
foreach ($reports as $report) {
if (! empty($report['teacher_name'])) {
$teacherName = $report['teacher_name'];
break;
$name = trim((string) ($report['teacher_name'] ?? ''));
if ($name === '') {
continue;
}
$teacherCounts[$name] = ($teacherCounts[$name] ?? 0) + 1;
$stamp = (string) ($report['updated_at'] ?? $report['created_at'] ?? '');
if ($stamp !== '' && (!isset($teacherLatest[$name]) || $stamp > $teacherLatest[$name])) {
$teacherLatest[$name] = $stamp;
}
}
$teacherLabel = '-';
if (!empty($teacherCounts)) {
$bestName = '';
$bestCount = -1;
$bestStamp = '';
foreach ($teacherCounts as $name => $count) {
$stamp = $teacherLatest[$name] ?? '';
if ($count > $bestCount || ($count === $bestCount && $stamp > $bestStamp)) {
$bestName = $name;
$bestCount = $count;
$bestStamp = $stamp;
}
}
$teacherLabel = $bestName ?: '-';
}
$exampleId = $reports ? reset($reports)['id'] : null;
?>
@@ -198,7 +219,7 @@
<?php endforeach; ?>
</div>
</td>
<td><?= esc($teacherName ?: '-') ?></td>
<td><?= esc($teacherLabel) ?></td>
<td class="text-end">
<?php if ($exampleId): ?>
<a class="btn btn-sm btn-outline-primary" href="<?= base_url('admin/progress/view/' . $exampleId) ?>">View</a>
+3 -3
View File
@@ -182,13 +182,13 @@
<form method="post" action="<?= base_url('/administrator/exam-drafts/upload-legacy') ?>" enctype="multipart/form-data" class="row g-3">
<?= csrf_field() ?>
<div class="col-md-4">
<label class="form-label small">Class Section</label>
<select name="class_section_id" class="form-select" required>
<option value="">Select class</option>
<label class="form-label small">Class Sections</label>
<select name="class_section_ids[]" class="form-select" multiple required>
<?php foreach ($classSections as $cs): ?>
<option value="<?= esc($cs['class_section_id']) ?>"><?= esc($cs['class_section_name']) ?></option>
<?php endforeach; ?>
</select>
<div class="form-text">Hold Ctrl (Windows) or Command (Mac) to select multiple sections.</div>
</div>
<div class="col-md-2">
<label class="form-label small">School Year</label>
@@ -306,6 +306,14 @@
const forms = document.querySelectorAll('.needs-validation');
Array.from(forms).forEach(form => {
form.addEventListener('submit', event => {
const islamicUnits = form.querySelectorAll('input[name="unit_islamic[]"]');
const hasIslamicUnit = Array.from(islamicUnits).some(input => input.value.trim() !== '');
if (!hasIslamicUnit) {
event.preventDefault();
event.stopPropagation();
alert('Please select at least one Islamic Studies unit.');
return;
}
if (!form.checkValidity()) {
event.preventDefault();
event.stopPropagation();
@@ -461,6 +469,10 @@
confirmButton.addEventListener('click', () => {
confirmInput.value = '1';
const form = confirmButton.closest('form') || document.querySelector('form.needs-validation');
if (form && typeof form.requestSubmit === 'function') {
form.requestSubmit();
return;
}
if (form) {
form.submit();
}
+9
View File
@@ -137,6 +137,9 @@
<a href="<?= base_url('exam-drafts/files/teacher/' . $draft['teacher_file']) ?>" target="_blank">
<?= esc($draft['teacher_filename'] ?? 'Download submitted file') ?>
</a>
<a href="<?= base_url('exam-drafts/files/teacher/' . $draft['teacher_file']) ?>" target="_blank" class="btn btn-sm btn-outline-secondary ms-2">
View
</a>
</div>
<?php else: ?>
<div class="text-muted small">No file uploaded</div>
@@ -152,6 +155,9 @@
<a href="<?= base_url('exam-drafts/files/final/' . $draft['final_file']) ?>" target="_blank" class="link-success small">
<?= esc($draft['final_filename'] ?? 'Download final draft') ?>
</a>
<a href="<?= base_url('exam-drafts/files/final/' . $draft['final_file']) ?>" target="_blank" class="btn btn-sm btn-outline-secondary ms-2">
View
</a>
</div>
<?php endif; ?>
</td>
@@ -199,6 +205,9 @@
<a href="<?= base_url('exam-drafts/files/final/' . $item['final_file']) ?>" target="_blank" class="btn btn-sm btn-outline-primary">
Download
</a>
<a href="<?= base_url('exam-drafts/files/final/' . $item['final_file']) ?>" target="_blank" class="btn btn-sm btn-outline-secondary ms-2">
View
</a>
<?php else: ?>
<span class="text-muted small">File missing</span>
<?php endif; ?>