MIF_E31221225/app/Http/Controllers/Guru/ProfileController.php

63 lines
1.6 KiB
PHP

<?php
namespace App\Http\Controllers\Guru;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Redirect;
use Illuminate\View\View;
class ProfileController extends Controller
{
public function index(): View
{
$user = Auth::user();
$guru = $user->guru;
return view('guru.profile-show', compact('user', 'guru'));
}
public function edit(): View
{
$user = Auth::user();
$guru = $user->guru;
return view('guru.profile', compact('user', 'guru'));
}
/**
* Update profil guru.
*/
public function update(Request $request)
{
$user = Auth::user();
$guru = $user->guru;
$request->validate([
'first_name' => 'required|string|max:255',
'last_name' => 'nullable|string|max:255',
'email' => 'required|email|unique:users,email,' . $user->id,
'jabatan' => 'nullable|string|max:255',
'nip' => 'nullable|string|max:255',
'jenis_kelamin' => 'nullable|in:L,P',
]);
// Update user
$fullName = trim($request->first_name . ' ' . $request->last_name);
$user->email = $request->email;
$user->name = $fullName;
$user->save();
// Update guru
$guru->nama = $fullName;
$guru->jabatan = $request->jabatan;
$guru->nip = $request->nip; // jika ingin menyimpan nip
$guru->jenis_kelamin = $request->jenis_kelamin; // jika ingin menyimpan jenis_kelamin
$guru->save();
return redirect()->route('guru.profile.index')->with('status', 'Profil berhasil diperbarui.');
}
}