feat: implement intern authentication and secure document dashboard for internship applications

This commit is contained in:
Ümit Tunç
2026-05-26 17:21:30 +03:00
parent 910e912b05
commit a4bc64527c
8 changed files with 370 additions and 1 deletions
@@ -6,7 +6,9 @@ use Filament\Forms\Components\FileUpload;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\Textarea;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Components\Section;
use Filament\Schemas\Schema;
use Illuminate\Support\Facades\Hash;
class CareerApplicationForm
{
@@ -34,7 +36,8 @@ class CareerApplicationForm
->disk('public')
->directory('cvs')
->required()
->disabled(),
->disabled()
->downloadable(),
Textarea::make('message')
->label(__('career.message'))
@@ -50,6 +53,32 @@ class CareerApplicationForm
'accepted' => 'Accepted',
])
->required(),
Section::make('Stajyer Giriş Bilgileri & Belgeleri')
->description('Stajyerin sisteme giriş yapabilmesi için kullanıcı adı, şifre belirleyin ve imzalı staj formunu yükleyin.')
->collapsible()
->schema([
TextInput::make('username')
->label('Kullanıcı Adı')
->unique(ignoreRecord: true)
->nullable(),
TextInput::make('password')
->label('Şifre')
->password()
->dehydrateStateUsing(fn ($state) => filled($state) ? Hash::make($state) : null)
->dehydrated(fn ($state) => filled($state))
->placeholder('Şifreyi değiştirmek istemiyorsanız boş bırakın')
->nullable(),
FileUpload::make('signed_internship_form_path')
->label('İmzalı Staj Formu')
->disk('public')
->directory('signed_interns')
->downloadable()
->nullable(),
])
->columnSpanFull(),
]);
}
}