MIF_E31212289/app/Http/Controllers/UserController.php

77 lines
2.0 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use App\Helpers\EncryptionHelper;
class UserController extends Controller
{
public function index()
{
$data = User::all();
$type_menu = "User Management";
return view('user.index', compact('type_menu', 'data'));
}
public function create()
{
$type_menu = "User Management";
return view('user.create', compact('type_menu'));
}
public function store(Request $request)
{
$request->validate([
'nama' => 'required',
'password' => 'required',
]);
// $request['password'] = Hash::make($request['password']);
User::create($request->all());
return redirect()->route('user.index')->with('success', 'User added successfully!');
}
public function edit($id)
{
$id = EncryptionHelper::decryptId($id);
$user = User::findOrFail($id);
$type_menu = "User Management";
return view('user.edit', compact('type_menu', 'user'));
}
public function update(Request $request, $id)
{
$user = User::findOrFail($id);
$request->validate([
'nama' => 'required',
'password' => 'required'
]);
$user->update($request->all());
return redirect()->route('user.index')->with('success', 'User updated successfully!');
}
public function destroy($id)
{
try {
$user = User::findOrFail($id);
if ($user->delete()) {
return redirect()->route('user.index')->with('success', 'User deleted successfully!');
}else{
return redirect()->route('user.index')->with('error', 'Tidak Dapat Hapus Data, Data User Masih Berelasi!');
}
} catch (\Throwable $th) {
return redirect()->route('user.index')->with('error', 'Tidak Dapat Hapus Data, Data User Masih Berelasi!');
}
}
}