Commit b60d3139 authored by Mahmoud Aglan's avatar Mahmoud Aglan

Fix SessionFeedbackController coach column bug and add missing view

- SessionFeedbackController used CONCAT(first_name_ar, last_name_ar) but
  coaches table has full_name_ar — causes 500 on feedback pages
- Add missing feedback_coach_summary.php view (controller referenced it)
- Enhance smoke_test.php with better error extraction and Claude-pasteable output
Co-Authored-By: 's avatarClaude Opus 4.6 <noreply@anthropic.com>
parent a4c5d9e5
......@@ -15,7 +15,7 @@ class SessionFeedbackController extends Controller
{
$db = App::getInstance()->db();
$session = $db->selectOne(
"SELECT ts.*, tg.name_ar AS group_name, CONCAT(c.first_name_ar, ' ', c.last_name_ar) AS coach_name
"SELECT ts.*, tg.name_ar AS group_name, c.full_name_ar AS coach_name
FROM training_sessions ts
LEFT JOIN training_groups tg ON tg.id = ts.group_id
LEFT JOIN coaches c ON c.id = ts.coach_id
......@@ -53,7 +53,7 @@ class SessionFeedbackController extends Controller
$db = App::getInstance()->db();
$session = $db->selectOne(
"SELECT ts.*, tg.name_ar AS group_name, CONCAT(c.first_name_ar, ' ', c.last_name_ar) AS coach_name
"SELECT ts.*, tg.name_ar AS group_name, c.full_name_ar AS coach_name
FROM training_sessions ts
LEFT JOIN training_groups tg ON tg.id = ts.group_id
LEFT JOIN coaches c ON c.id = ts.coach_id
......
<?php $__template->layout('Layout.main'); ?>
<?php $__template->section('title'); ?>ملخص تقييمات المدرب — <?= e($coach['full_name_ar'] ?? '') ?><?php $__template->endSection(); ?>
<?php $__template->section('content'); ?>
<div class="card" style="padding:15px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;">
<div>
<strong style="font-size:18px;"><?= e($coach['full_name_ar'] ?? 'مدرب') ?></strong>
</div>
<form method="get" style="display:flex;gap:10px;align-items:center;">
<label style="font-size:13px;">من:</label>
<input type="date" name="from" value="<?= e($dateFrom) ?>" class="form-control" style="width:auto;">
<label style="font-size:13px;">إلى:</label>
<input type="date" name="to" value="<?= e($dateTo) ?>" class="form-control" style="width:auto;">
<button type="submit" class="btn btn-sm btn-primary">تصفية</button>
</form>
</div>
<?php if (!empty($summary) && (int) ($summary['total_responses'] ?? 0) > 0): ?>
<div style="display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:20px;">
<div class="card" style="padding:20px;text-align:center;">
<div style="font-size:28px;font-weight:700;color:#F59E0B;"><?= $summary['avg_rating'] ?? '0' ?></div>
<div style="font-size:12px;color:#6B7280;">متوسط التقييم</div>
</div>
<div class="card" style="padding:20px;text-align:center;">
<div style="font-size:28px;font-weight:700;color:#059669;"><?= $summary['avg_enjoyment'] ?? '0' ?></div>
<div style="font-size:12px;color:#6B7280;">متوسط الاستمتاع</div>
</div>
<div class="card" style="padding:20px;text-align:center;">
<div style="font-size:28px;font-weight:700;color:#7C3AED;"><?= $summary['avg_difficulty'] ?? '0' ?></div>
<div style="font-size:12px;color:#6B7280;">متوسط الصعوبة</div>
</div>
<div class="card" style="padding:20px;text-align:center;">
<div style="font-size:28px;font-weight:700;color:#0284C7;"><?= $summary['total_responses'] ?? '0' ?></div>
<div style="font-size:12px;color:#6B7280;">عدد التقييمات</div>
</div>
</div>
<?php else: ?>
<div class="card" style="padding:40px;text-align:center;color:#6B7280;">
لا توجد تقييمات في هذه الفترة
</div>
<?php endif; ?>
<?php $__template->endSection(); ?>
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment