add test batches

This commit is contained in:
root
2026-06-08 23:45:55 -04:00
parent c792b8be05
commit 8d4d610b82
1480 changed files with 22587 additions and 10762 deletions
+18 -17
View File
@@ -3,6 +3,7 @@
namespace App\Models;
use Illuminate\Database\Eloquent\Builder;
use App\Models\BaseModel;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
class ScoreComment extends BaseModel
@@ -33,14 +34,14 @@ class ScoreComment extends BaseModel
];
protected $casts = [
'student_id' => 'integer',
'student_id' => 'integer',
'class_section_id' => 'integer',
'reviewed_by' => 'integer',
'commented_by' => 'integer',
'created_at' => 'datetime',
'reviewed_by' => 'integer',
'commented_by' => 'integer',
'created_at' => 'datetime',
// If comment_review is a tinyint(1) flag in DB, boolean cast helps
'comment_review' => 'boolean',
'comment_review' => 'boolean',
];
/* ============================================================
@@ -88,7 +89,7 @@ class ScoreComment extends BaseModel
public function scopeForTerm(Builder $q, string $schoolYear, string $semester): Builder
{
return $q->where('school_year', $schoolYear)
->where('semester', $semester);
->where('semester', $semester);
}
public function scopeForScoreType(Builder $q, string $scoreType): Builder
@@ -101,7 +102,7 @@ class ScoreComment extends BaseModel
// supports either boolean flag or reviewed_by presence
return $q->where(function (Builder $w) {
$w->where('comment_review', 1)
->orWhereNotNull('reviewed_by');
->orWhereNotNull('reviewed_by');
});
}
@@ -156,19 +157,19 @@ class ScoreComment extends BaseModel
public static function rules(bool $updating = false): array
{
return [
'student_id' => [$updating ? 'sometimes' : 'required', 'integer', 'min:1'],
'student_id' => [$updating ? 'sometimes' : 'required', 'integer', 'min:1'],
'class_section_id' => [$updating ? 'sometimes' : 'required', 'integer', 'min:1'],
'score_type' => [$updating ? 'sometimes' : 'required', 'string', 'max:50'],
'school_year' => [$updating ? 'sometimes' : 'required', 'string', 'max:20'],
'semester' => [$updating ? 'sometimes' : 'required', 'string', 'max:20'],
'score_type' => [$updating ? 'sometimes' : 'required', 'string', 'max:50'],
'school_year' => [$updating ? 'sometimes' : 'required', 'string', 'max:20'],
'semester' => [$updating ? 'sometimes' : 'required', 'string', 'max:20'],
'comment' => ['nullable', 'string', 'max:5000'],
'comment_review' => ['nullable', 'boolean'],
'reviewed_by' => ['nullable', 'integer'],
'commented_by' => ['nullable', 'integer'],
'comment' => ['nullable', 'string', 'max:5000'],
'comment_review' => ['nullable', 'boolean'],
'reviewed_by' => ['nullable', 'integer'],
'commented_by' => ['nullable', 'integer'],
// created_at is DB default; allow client to omit it
'created_at' => ['nullable', 'date'],
'created_at' => ['nullable', 'date'],
];
}
}
}