fix logic and tests, update docker CI file

This commit is contained in:
root
2026-03-09 15:58:44 -04:00
parent 1cb3573d4b
commit 79e44fe037
188 changed files with 1776 additions and 524 deletions
@@ -4,7 +4,7 @@ namespace App\Services\Administrator;
use App\Models\Enrollment;
use App\Models\Invoice;
use App\Models\RefundModel as Refund;
use App\Models\Refund;
use App\Services\FeeCalculationService;
class AdministratorEnrollmentRefundService
@@ -73,4 +73,4 @@ class AdministratorEnrollmentRefundService
'refundAmountByParent' => $refundAmountByParent,
];
}
}
}
@@ -2,6 +2,7 @@
namespace App\Services\Administrator;
use App\Mail\TeacherSubmissionReminderMail;
use App\Models\ClassSection;
use App\Models\TeacherSubmissionNotificationHistory;
use App\Models\User;
@@ -88,9 +89,7 @@ class TeacherSubmissionNotificationService
if (!empty($email) && filter_var($email, FILTER_VALIDATE_EMAIL)) {
try {
Mail::html($body, function ($message) use ($email, $subject) {
$message->to($email)->subject($subject);
});
Mail::to($email)->send(new TeacherSubmissionReminderMail($subject, $body));
$status = 'sent';
} catch (\Throwable $e) {
Log::error('Teacher submission notification failed: ' . $e->getMessage());
@@ -158,4 +157,4 @@ class TeacherSubmissionNotificationService
return array_values($targets);
}
}
}
@@ -163,7 +163,7 @@ class TeacherSubmissionReportService
->where('class_section_id', $classSectionId)
->where('semester', $semester)
->where('school_year', $schoolYear)
->where('date', $today)
->whereDate('date', $today)
->first();
$attendanceSubmitted = $attendanceRow
@@ -187,7 +187,7 @@ class TeacherSubmissionReportService
$midtermCommentStatus = $this->support->submissionStatus(count($midtermCommentStudents), $expected);
$participationStatus = $this->support->submissionStatus(count($participationStudents), $expected);
$ptapCommentStatus = $this->support->submissionStatus(count($ptapCommentStudents), $expected);
$attendanceStatus = $this->support->attendanceStatus($attendanceSubmitted);
$attendanceStatus = $this->support->attendanceStatus($attendanceSubmitted, $expected);
$statusDetails = [
'midterm_score_status' => $midtermScoreStatus,
@@ -282,4 +282,4 @@ class TeacherSubmissionReportService
return $historyMap;
}
}
}
@@ -25,8 +25,16 @@ class TeacherSubmissionSupportService
];
}
public function attendanceStatus(bool $submitted): array
public function attendanceStatus(bool $submitted, int $expected): array
{
if ($expected <= 0) {
return [
'label' => 'No students',
'badge' => 'bg-secondary',
'completed' => true,
];
}
return [
'label' => $submitted ? 'Submitted' : 'Missing',
'badge' => $submitted ? 'bg-success' : 'bg-danger',
@@ -115,4 +123,4 @@ class TeacherSubmissionSupportService
$last = array_pop($items);
return implode(', ', $items) . ' and ' . $last;
}
}
}