63 lines
1.6 KiB
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.');
|
|
}
|
|
|
|
}
|