exam draft fix

This commit is contained in:
root
2026-04-11 15:33:12 -04:00
parent 89e95b7851
commit 7bc999643a
13 changed files with 582 additions and 180 deletions
+11 -1
View File
@@ -214,7 +214,17 @@
<strong class="small mb-0"><?= esc($section['label'] ?? $subjectName) ?></strong>
<span class="badge <?= $badgeClass ?>"><?= esc($statusTag) ?></span>
</div>
<div class="small text-muted"><?= $report ? esc($report['unit_title'] ?: '-') : 'No submission' ?></div>
<div class="small">
<?php if ($report): ?>
<?= view('admin/partials/class_progress_unit_display', [
'unitTitle' => (string) ($report['unit_title'] ?? ''),
'isQuran' => ($subjectName === 'Quran/Arabic'),
'compact' => true,
]) ?>
<?php else: ?>
<span class="text-muted">No submission</span>
<?php endif; ?>
</div>
</div>
<?php endforeach; ?>
</div>
+7 -2
View File
@@ -39,7 +39,6 @@
<?php
$subjectName = $section['db_subject'] ?? $section['label'] ?? $slug;
$isQuran = $subjectName === 'Quran/Arabic';
$unitLabel = $isQuran ? 'Surah / Custom Arabic' : 'Unit / Chapter';
$homeworkLabel = $isQuran ? 'Arabic Practice / Homework' : 'Assigned Homework';
$report = $reportsBySubject[$subjectName] ?? null;
?>
@@ -51,7 +50,13 @@
<?php if (! $report): ?>
<div class="text-muted">No entry submitted for this subject this week.</div>
<?php else: ?>
<div class="mb-2"><strong><?= $unitLabel ?>:</strong> <?= esc($report['unit_title'] ?: '-') ?></div>
<div class="mb-2">
<?= view('admin/partials/class_progress_unit_display', [
'unitTitle' => (string) ($report['unit_title'] ?? ''),
'isQuran' => $isQuran,
'compact' => false,
]) ?>
</div>
<?php if (!empty($report['materials'])): ?>
<div class="mb-2"><strong>Materials:</strong> <?= esc($report['materials']) ?></div>
<?php endif; ?>
@@ -0,0 +1,48 @@
<?php
/**
* Renders class progress unit_title with explicit curriculum vs custom subject lines.
*
* @var string $unitTitle
* @var bool $isQuran
* @var bool $compact If true, tighter layout for the list accordion.
*/
use App\Controllers\ClassProgressController;
$unitTitle = trim((string) ($unitTitle ?? ''));
$compact = ! empty($compact);
$isQuran = ! empty($isQuran);
$split = ClassProgressController::splitUnitTitleForDisplay($unitTitle);
$curriculumLines = $split['curriculum'];
$customTopics = $split['custom'];
$labelCurriculum = $isQuran ? 'Surah / curriculum' : 'Unit / chapter';
$labelCustom = $isQuran ? 'Custom Surah / Arabic' : 'Custom subject(s)';
?>
<?php if ($unitTitle === ''): ?>
<span class="text-muted">-</span>
<?php elseif ($compact): ?>
<?php if (! empty($customTopics)): ?>
<div class="small">
<span class="badge text-bg-info me-1"><?= $isQuran ? 'Custom' : 'Custom subject' ?></span><?= esc(implode(', ', $customTopics)) ?>
</div>
<?php endif; ?>
<?php if (! empty($curriculumLines)): ?>
<div class="small <?= ! empty($customTopics) ? 'text-muted mt-1' : 'text-muted' ?>"><?= esc(implode(' · ', $curriculumLines)) ?></div>
<?php endif; ?>
<?php if (empty($customTopics) && empty($curriculumLines)): ?>
<div class="small text-muted"><?= esc($unitTitle) ?></div>
<?php endif; ?>
<?php else: ?>
<?php if (! empty($curriculumLines)): ?>
<div class="mb-2"><strong><?= esc($labelCurriculum) ?>:</strong> <?= esc(implode(' ; ', $curriculumLines)) ?></div>
<?php endif; ?>
<?php if (! empty($customTopics)): ?>
<div class="mb-2"><strong><?= esc($labelCustom) ?>:</strong> <?= esc(implode(' ; ', $customTopics)) ?></div>
<?php endif; ?>
<?php if (empty($curriculumLines) && empty($customTopics)): ?>
<div class="mb-2"><strong><?= esc($labelCurriculum) ?>:</strong> <?= esc($unitTitle) ?></div>
<?php endif; ?>
<?php endif; ?>