fix(curriculum): robustly normalize student grade across app and backend to display subjects
This commit is contained in:
@@ -514,9 +514,11 @@ class AuthController
|
||||
[$userId]
|
||||
);
|
||||
if ($user) {
|
||||
if (($user['grade_level'] ?? '') === 'tawjihi_2008') {
|
||||
Database::query("UPDATE students SET grade_level = 'grade_10', updated_at = NOW() WHERE id = ?", [$userId]);
|
||||
$user['grade_level'] = 'grade_10';
|
||||
$rawGrade = (string)($user['grade_level'] ?? 'grade_10');
|
||||
$normGrade = \App\Services\StudentAccessControlService::normalizeGrade($rawGrade);
|
||||
if ($rawGrade === 'tawjihi_2008' || $rawGrade !== $normGrade) {
|
||||
Database::query("UPDATE students SET grade_level = ?, updated_at = NOW() WHERE id = ?", [$normGrade, $userId]);
|
||||
$user['grade_level'] = $normGrade;
|
||||
}
|
||||
$isCompleted = !empty($user['full_name']) && $user['full_name'] !== 'طالب جديد' && $user['full_name'] !== 'الطالب المتميز' && !empty($user['grade_level']);
|
||||
$userData = [
|
||||
@@ -669,7 +671,8 @@ class AuthController
|
||||
$identityToken = $body['identity_token'] ?? '';
|
||||
|
||||
$fullName = trim((string)($body['full_name'] ?? ''));
|
||||
$gradeLevel = trim((string)($body['grade_level'] ?? 'grade_10'));
|
||||
$rawGrade = trim((string)($body['grade_level'] ?? 'grade_10'));
|
||||
$gradeLevel = \App\Services\StudentAccessControlService::normalizeGrade($rawGrade);
|
||||
$stream = trim((string)($body['stream'] ?? 'scientific'));
|
||||
$nationalId = trim((string)($body['national_id'] ?? ''));
|
||||
$deviceFingerprint = trim((string)($request->getHeader('x-device-fingerprint', '')));
|
||||
|
||||
Reference in New Issue
Block a user