This commit is contained in:
Ananda Zakia S 2023-12-27 20:20:48 +07:00
parent 7dabc26b0f
commit d279d7cebd
8 changed files with 68 additions and 20 deletions

View File

@ -62,7 +62,7 @@ public function login(Request $request)
$token = $user->createToken("auth-token")->plainTextToken; $token = $user->createToken("auth-token")->plainTextToken;
$user->update(['remember_token' => $token]); $user->update(['remember_token' => $token]);
return redirect('/dashboard/index')->with('success', 'Login berhasil!'); return redirect('/dashboard')->with('success', 'Login berhasil!');
} else { } else {
return redirect('/login') return redirect('/login')
->withErrors(['username' => 'Username atau password salah.']) ->withErrors(['username' => 'Username atau password salah.'])

View File

@ -4,7 +4,6 @@
use App\Models\Criteria; use App\Models\Criteria;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator; use Illuminate\Support\Facades\Validator;
use PhpParser\Node\NullableType;
use RealRashid\SweetAlert\Facades\Alert; use RealRashid\SweetAlert\Facades\Alert;
class CriteriaController extends Controller class CriteriaController extends Controller

View File

@ -1,11 +1,11 @@
<?php <?php
namespace App\Http\Controllers; namespace App\Http\Controllers;
use App\Models\User;
use Illuminate\Support\Str; use Illuminate\Support\Str;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Foundation\Auth\User;
use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator; use Illuminate\Support\Facades\Validator;
class UserController extends Controller class UserController extends Controller
@ -43,4 +43,44 @@ public function update_profile(Request $request)
]); ]);
return redirect('user-profile')->with('success', 'Profile Berhasil Diperbarui!'); return redirect('user-profile')->with('success', 'Profile Berhasil Diperbarui!');
} }
public function updatePassword(Request $request)
{
$user = Auth::user();
$request->validate([
'password' => 'required|confirmed|min:5',
]);
$user->password = bcrypt($request->input('new_password'));
$user->save();
return redirect()->back()->with('success', 'Password updated successfully.');
// $status = Password::reset(
// $request->only('email', 'password', 'password_confirmation', 'token'),
// function ($user, $password) {
// $user->forceFill([
// 'password' => bcrypt($password),
// 'remember_token' => Str::random(60),
// ])->save();
// // Hapus token "remember me" setelah reset password
// $user->tokens()->delete();
// }
// );
// return $status == Password::PASSWORD_RESET
// ? redirect('/login')->with(['status' => __($status)])
// : back()->withErrors(['email' => [__($status)]]);
// $user = Auth::user();
// $request->validate([
// 'new_password' => 'required|string|min:8|confirmed',
// ]);
// $user->password = bcrypt($request->input('new_password'));
// $user->save();
// return redirect()->back()->with('success', 'Password updated successfully.');
}
} }

View File

@ -7,7 +7,6 @@
class Criteria extends Model class Criteria extends Model
{ {
protected $guarded = ['id'];
protected $fillable = ['nama' , 'prioritas' .'bobot']; protected $fillable = ['nama' , 'prioritas' .'bobot'];
public function SubCriteria() { public function SubCriteria() {

View File

@ -33,12 +33,24 @@
</div> </div>
<div class="card-box mb-30"> <div class="card-box mb-30">
<div class="pd-20"> <div class="pd-20">
<h4 class="text-blue h4">Data Kriteria</h4> <h4 class="text-blue h4 mb-0">Data Kriteria</h4>
</div> </div>
<div class="card-header"> <div class="card-header d-flex align-items-center">
<!-- Button trigger modal --> <!-- Button trigger modal -->
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#add-criteria">Tambah <button type="button" class="btn btn-primary mx-2" data-toggle="modal" data-target="#add-criteria">
Kriteria</button> <i class="icon dw dw-add"></i> Tambah Kriteria</button>
<button type="button" class="btn btn-primary mx-2" data-toggle="modal" data-target="">
<i class="icon dw dw-calculator"></i> Hitung Bobot</button>
<form class="form-inline ml-auto" action="{{ route('kriteria.index') }}" method="GET">
<div class="input-group">
<input type="text" class="form-control" name="search" placeholder="Search">
<div class="input-group-append">
<button class="btn btn-primary" type="submit">
<i class="icon dw dw-search"></i>
</button>
</div>
</div>
</form>
</div> </div>
<div class="pb-10"> <div class="pb-10">
<div class="table-responsive"> <div class="table-responsive">
@ -110,7 +122,7 @@
</div> </div>
@if($errors->has('nama')) @if($errors->has('nama'))
<div class="alert alert-danger">{{ $errors->first('nama') }}</div> <div class="alert alert-danger">{{ $errors->first('nama') }}</div>
@endif @endif
<div class="form-group row"> <div class="form-group row">
<label class="col-sm-2 col-form-label">Prioritas</label> <label class="col-sm-2 col-form-label">Prioritas</label>
<div class="col-sm-10"> <div class="col-sm-10">
@ -140,9 +152,6 @@
style="display: none;" aria-hidden="true"> style="display: none;" aria-hidden="true">
<div class="modal-dialog modal-dialog-centered"> <div class="modal-dialog modal-dialog-centered">
<div class="modal-content"> <div class="modal-content">
@if(session('error'))
<div class="alert alert-danger">{{ session('error') }}</div>
@endif
<div class="modal-header"> <div class="modal-header">
<h4 class="modal-title" id="myLargeModalLabel"> <h4 class="modal-title" id="myLargeModalLabel">
Edit Kriteria Edit Kriteria
@ -215,5 +224,4 @@
</div> </div>
</div> </div>
@endsection @endsection

View File

@ -48,7 +48,7 @@
<span class="user-name"> Hi, {{ Auth::user()->username }}</span> <span class="user-name"> Hi, {{ Auth::user()->username }}</span>
</a> </a>
<div class="dropdown-menu dropdown-menu-right dropdown-menu-icon-list"> <div class="dropdown-menu dropdown-menu-right dropdown-menu-icon-list">
<a href="({{ route('user-profile') }})" class="dropdown-item"><i class="dw dw-user1"></i> Profile</a> <a href="/user-profile" class="dropdown-item"><i class="dw dw-user1"></i> Profile</a>
@auth @auth
<a href="{{ route('logout') }}" class="dropdown-item has-icon text-danger" <a href="{{ route('logout') }}" class="dropdown-item has-icon text-danger"
onclick="event.preventDefault(); document.getElementById('logout-form').submit();"> onclick="event.preventDefault(); document.getElementById('logout-form').submit();">

View File

@ -120,14 +120,14 @@
<!-- Password --> <!-- Password -->
<div class="tab-pane fade" id="password" role="tabpanel"> <div class="tab-pane fade" id="password" role="tabpanel">
<div class="profile-setting"> <div class="profile-setting">
<form method="POST" action="{{ route('user-profile') }}" class="needs-validation" novalidate=""> <form method="POST" action="{{ route('update-password') }}">
@csrf @csrf
<h4 class=" text-center text-blue h5 mt-3 mb-0">Edit Your Personal Password</h4> <h4 class=" text-center text-blue h5 mt-3 mb-0">Edit Your Personal Password</h4>
<ul class="profile-edit-list row"> <ul class="profile-edit-list row">
<li class="col-md-6"> <li class="col-md-6">
<div class="form-group"> <div class="form-group">
<label for="password">Current Password</label> <label for="password">Current Password</label>
<input id="password" type="text" class="form-control" name="password"> <input id="password" type="text" class="form-control" name="password" value="{{ Auth::user()->password }}" readonly>
<div class="invalid-feedback">Please fill in your current password </div> <div class="invalid-feedback">Please fill in your current password </div>
</div> </div>
</li> </li>

View File

@ -39,7 +39,7 @@
Route::get('/login', function () { Route::get('/login', function () {
if (Auth::check()) { if (Auth::check()) {
return redirect('/dashboard/index'); return redirect('/dashboard');
} }
return view('auth.login'); return view('auth.login');
})->name('login'); })->name('login');
@ -48,7 +48,7 @@
Route::get('/register', function () { Route::get('/register', function () {
if (Auth::check()) { if (Auth::check()) {
return redirect('/dashboard/index'); return redirect('/dashboard');
} }
return view('auth.register'); return view('auth.register');
})->name('register'); })->name('register');
@ -57,7 +57,7 @@
Route::get('/forgot-password', function () { Route::get('/forgot-password', function () {
if (Auth::check()) { if (Auth::check()) {
return redirect('/dashboard/index'); return redirect('/dashboard');
} }
return view('auth.forgot-password'); return view('auth.forgot-password');
})->name('password.request'); })->name('password.request');
@ -90,6 +90,8 @@
})->name('user-profile'); })->name('user-profile');
Route::post('/user-profile', [UserController::class, 'update_profile']); Route::post('/user-profile', [UserController::class, 'update_profile']);
Route::post('/update-password', [UserController::class, 'updatePassword'])->name('update-password');
Route::resource('kriteria', CriteriaController::class); Route::resource('kriteria', CriteriaController::class);
Route::get('/logout', [AuthController::class, 'logout'])->name('logout'); Route::get('/logout', [AuthController::class, 'logout'])->name('logout');