refactor: restrict intern dashboard updates to pending status and automate username assignment from email

This commit is contained in:
Ümit Tunç
2026-07-01 17:06:11 +03:00
parent 32c556a87b
commit 5b46b4ac9e
3 changed files with 23 additions and 24 deletions
+8 -5
View File
@@ -37,11 +37,14 @@ class CareerApplication extends Model
protected static function booted()
{
static::saving(function ($model) {
if ($model->type === 'internship' && !$model->certificate_code) {
do {
$code = 'TRN-' . date('Y') . '-' . strtoupper(\Illuminate\Support\Str::random(4)) . '-' . strtoupper(\Illuminate\Support\Str::random(4));
} while (static::where('certificate_code', $code)->exists());
$model->certificate_code = $code;
if ($model->type === 'internship') {
$model->username = $model->email;
if (!$model->certificate_code) {
do {
$code = 'TRN-' . date('Y') . '-' . strtoupper(\Illuminate\Support\Str::random(4)) . '-' . strtoupper(\Illuminate\Support\Str::random(4));
} while (static::where('certificate_code', $code)->exists());
$model->certificate_code = $code;
}
}
});
}