profil admin

This commit is contained in:
rahmagustin 2026-01-16 00:24:40 +07:00
parent 539e1deba7
commit e925a37699
4 changed files with 101 additions and 4 deletions

View File

@ -4,8 +4,37 @@
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
class ProfilController extends Controller
{
//
public function index()
{
$admin = Auth::user();
return view('admin.profil', compact('admin'));
}
public function update(Request $request)
{
$admin = Auth::user();
$request->validate([
'name' => 'required|string|max:255',
'username' => 'required|string|max:100',
'password' => 'nullable|min:6|confirmed',
]);
$admin->name = $request->name;
$admin->username = $request->username;
if ($request->filled('password')) {
$admin->password = Hash::make($request->password);
}
$admin->save();
return redirect()->route('admin.profil')
->with('success', 'Profil berhasil diperbarui');
}
}

View File

@ -0,0 +1,63 @@
@extends('admin.template')
@section('content')
<div class="content-wrapper">
<div class="row">
<div class="col-md-12 grid-margin stretch-card">
<div class="card">
<div class="card-body">
<h4 class="card-title">Profil Admin</h4>
@if (session('success'))
<div class="alert alert-success">
{{ session('success') }}
</div>
@endif
<form action="{{ route('admin.profil.update') }}" method="POST">
@csrf
<div class="form-group">
<label>Nama</label>
<input type="text" name="name" class="form-control" value="{{ $admin->name }}"
required>
</div>
<div class="form-group">
<label>Username</label>
<input type="text" name="username" class="form-control" value="{{ $admin->username }}"
required>
</div>
<div class="form-group">
<label>Role</label>
<input type="text" class="form-control" value="{{ $admin->role }}" disabled>
</div>
<hr>
<div class="form-group">
<label>Password Baru (opsional)</label>
<input type="password" name="password" class="form-control"
placeholder="Kosongkan jika tidak diganti">
</div>
<div class="form-group">
<label>Konfirmasi Password</label>
<input type="password" name="password_confirmation" class="form-control">
</div>
<button type="submit" class="btn btn-primary">
Simpan
</button>
<a href="{{ url()->previous() }}" class="btn btn-light ml-2">
Batal
</a>
</form>
</div>
</div>
</div>
</div>
</div>
@endsection

View File

@ -53,11 +53,11 @@
</a>
<div class="dropdown-menu dropdown-menu-right navbar-dropdown"
aria-labelledby="profileDropdown">
<a class="dropdown-item">
<a class="dropdown-item" href="{{ route('admin.profil') }}">
<i class="ti-user text-primary"></i>
Profil
</a>
<a class="dropdown-item">
<a class="dropdown-item" href="{{ route('admin.logout') }}">
<i class="ti-power-off text-primary"></i>
Keluar
</a>

View File

@ -6,6 +6,7 @@
use App\Http\Controllers\Admin\DashboardController;
use App\Http\Controllers\Admin\KategoriTpsController;
use App\Http\Controllers\Admin\LoginController;
use App\Http\Controllers\Admin\ProfilController;
use App\Http\Controllers\Admin\SampahController;
use App\Http\Controllers\Admin\TpsController;
use App\Http\Controllers\IndexController;
@ -68,7 +69,7 @@
Route::get('/kategori/{id}/edit', [KategoriTpsController::class, 'edit'])->name('kategori.edit');
Route::put('/kategori/{id}', [KategoriTpsController::class, 'update'])->name('kategori.update');
Route::delete('/kategori/{id}', [KategoriTpsController::class, 'destroy'])->name('kategori.destroy');
// SAMPAH ADMIN
Route::get('/sampah', [SampahController::class, 'index'])->name('sampah.index');
Route::get('/sampah/create', [SampahController::class, 'create'])->name('sampah.create');
@ -82,4 +83,8 @@
Route::get('/aduan/{id}', [AdminAduanController::class, 'show'])->name('aduan.show');
Route::post('/aduan/{id}/tanggapi', [AdminAduanController::class, 'tanggapi'])->name('aduan.tanggapi');
Route::post('/aduan/{id}', [AdminAduanController::class, 'destroy'])->name('aduan.destroy');
// PROFIL ADMIN
Route::get('/profil', [ProfilController::class, 'index'])->name('profil');
Route::post('/profil', [ProfilController::class, 'update'])->name('profil.update');
});