diff --git a/app/Http/Controllers/AuthController.php b/app/Http/Controllers/AuthController.php index a35c6e6..88c89bb 100644 --- a/app/Http/Controllers/AuthController.php +++ b/app/Http/Controllers/AuthController.php @@ -12,23 +12,24 @@ public function showLogin() return view('auth.login'); } - public function login(Request $request) - { - $credentials = $request->only('email', 'password'); + public function login(Request $request) +{ + $credentials = $request->only('email', 'password'); - if (Auth::attempt($credentials)) { + if (Auth::guard('web')->attempt($credentials)) { + $request->session()->regenerate(); + return redirect()->intended('/dashboard');on()->regenerate(); + + // cek role di sini + if (Auth::user()->role === 'admin') { return redirect()->intended('/dashboard'); + } else { + Auth::logout(); + return back()->with('error', 'Hanya admin yang bisa login di website.'); } - - return back()->with('error', 'Username atau password salah!'); } - - public function logout(Request $request) - { - Auth::logout(); - $request->session()->invalidate(); - $request->session()->regenerateToken(); - return redirect('/login'); - } + // kalau email atau password salah + return back()->with('error', 'Username atau password salah!'); +} } \ No newline at end of file diff --git a/app/Models/User.php b/app/Models/User.php index 3dd467c..0ca6c6e 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -6,19 +6,10 @@ use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; -use Laravel\Fortify\TwoFactorAuthenticatable; -use Laravel\Jetstream\HasProfilePhoto; use Laravel\Sanctum\HasApiTokens; class User extends Authenticatable { - use HasApiTokens; - - /** @use HasFactory<\Database\Factories\UserFactory> */ - use HasFactory; - use HasProfilePhoto; - use Notifiable; - use TwoFactorAuthenticatable; /** * The attributes that are mass assignable. diff --git a/config/auth.php b/config/auth.php index 7d1eb0d..6b245e6 100644 --- a/config/auth.php +++ b/config/auth.php @@ -14,9 +14,9 @@ */ 'defaults' => [ - 'guard' => env('AUTH_GUARD', 'web'), - 'passwords' => env('AUTH_PASSWORD_BROKER', 'users'), - ], + 'guard' => 'web', + 'passwords' => 'users', +], /* |-------------------------------------------------------------------------- diff --git a/config/session.php b/config/session.php index f715097..e6a97b7 100644 --- a/config/session.php +++ b/config/session.php @@ -156,7 +156,7 @@ | */ - 'domain' => env('SESSION_DOMAIN'), + 'domain' => null, /* |-------------------------------------------------------------------------- diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index 44f751b..bc1f622 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -3,21 +3,14 @@ namespace Database\Seeders; use App\Models\User; -// use Illuminate\Database\Console\Seeds\WithoutModelEvents; use Illuminate\Database\Seeder; class DatabaseSeeder extends Seeder { - /** - * Seed the application's database. - */ public function run(): void { - $this->call(MasterSeeder::class); - ([ - 'name' => 'Super Admin', - 'email' => 'admin@paud.com', - 'role' => 'admin', - ]); + $this->call([ + MasterSeeder::class, + ]); } -} +} \ No newline at end of file diff --git a/database/seeders/MasterSeeder.php b/database/seeders/MasterSeeder.php index 0884f16..bba008d 100644 --- a/database/seeders/MasterSeeder.php +++ b/database/seeders/MasterSeeder.php @@ -8,59 +8,70 @@ use App\Models\Guru; use App\Models\WaliMurid; use App\Models\Siswa; +use Illuminate\Support\Facades\Hash; class MasterSeeder extends Seeder { public function run(): void { - // Admin user - User::create([ - 'name' => 'Super Admin', - 'email' => 'admin@paud.com', - 'password' => bcrypt('123456'), - 'role' => 'admin', - ]); + // Admin + $admin = User::updateOrCreate( + ['email' => 'admin@paud.com'], + [ + 'name' => 'Super Admin', + 'password' => Hash::make('123456'), + 'role' => 'admin', + ] + ); - // Guru user - $guruUser = User::create([ - 'name' => 'Bu Guru', - 'email' => 'guru@paud.com', - 'password' => bcrypt('123456'), - 'role' => 'guru', - ]); - $guru = Guru::create([ - 'user_id' => $guruUser->id, - 'bidang' => 'Pengajar TK' - ]); + // Guru + $guruUser = User::updateOrCreate( + ['email' => 'guru@paud.com'], + [ + 'name' => 'Bu Guru', + 'password' => Hash::make('123456'), + 'role' => 'guru', + ] + ); + Guru::updateOrCreate( + ['user_id' => $guruUser->id], + ['bidang' => 'Pengajar TK'] + ); - // Wali murid user - $waliUser = User::create([ - 'name' => 'Pak Budi', - 'email' => 'wali@paud.com', - 'password' => bcrypt('123456'), - 'role' => 'wali', - ]); - $wali = WaliMurid::create([ - 'user_id' => $waliUser->id, - 'alamat' => 'Jl. Mawar No. 10', - 'lokasi_lat' => -8.1723, - 'lokasi_lng' => 113.6995, - ]); + // Wali + $waliUser = User::updateOrCreate( + ['email' => 'wali@paud.com'], + [ + 'name' => 'Pak Budi', + 'password' => Hash::make('123456'), + 'role' => 'wali', + ] + ); + $wali = WaliMurid::updateOrCreate( + ['user_id' => $waliUser->id], + [ + 'alamat' => 'Jl. Mawar No. 10', + 'lokasi_lat' => -8.1723, + 'lokasi_lng' => 113.6995, + ] + ); // Kelas - $kelas = Kelas::create([ - 'nama_kelas' => 'Kelompok A', - 'umur_group' => '4-5 tahun', - ]); + $kelas = Kelas::updateOrCreate( + ['nama_kelas' => 'Kelompok A'], + ['umur_group' => '4-5 tahun'] + ); // Siswa - Siswa::create([ - 'nama' => 'Ani', - 'nis' => 'S001', - 'tanggal_lahir' => '2020-01-01', - 'kelas_id' => $kelas->id, - 'wali_id' => $wali->id, - 'foto' => null, - ]); + Siswa::updateOrCreate( + ['nis' => 'S001'], + [ + 'nama' => 'Ani', + 'tanggal_lahir' => '2020-01-01', + 'kelas_id' => $kelas->id, + 'wali_id' => $wali->id, + 'foto' => null, + ] + ); } } diff --git a/paud_monitoring b/paud_monitoring new file mode 100644 index 0000000..4a6dcdc Binary files /dev/null and b/paud_monitoring differ diff --git a/resources/views/auth/login.blade.php b/resources/views/auth/login.blade.php index bf89b07..3b8eb8d 100644 --- a/resources/views/auth/login.blade.php +++ b/resources/views/auth/login.blade.php @@ -36,6 +36,10 @@ class="w-full mt-2 px-4 py-2 rounded-lg border focus:ring-2 focus:ring-green-400 class="w-full mt-2 px-4 py-2 rounded-lg border focus:ring-2 focus:ring-green-400 outline-none"> + @if (session('error')) +
{{ session('error') }}
+ @endif +