MIF_E31221244/app/Http/Controllers/UserController.php

72 lines
2.1 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Models\User;
use Illuminate\Http\Request;
use App\Http\Requests\UserRequest;
use Illuminate\Support\Facades\Hash;
use App\Http\Requests\UpdateUserRequest;
use RealRashid\SweetAlert\Facades\Alert;
use Illuminate\Validation\ValidationException;
class UserController extends Controller
{
public function index()
{
$users = User::where('role', 'user')->get();
return view('masterdata.data-user', compact('users'));
}
public function store(UserRequest $request)
{
try {
$user = new User();
$user->fullname = $request->fullname;
$user->username = $request->username;
$user->email = $request->email;
$user->password = Hash::make($request->password);
$user->save();
Alert::toast()->success('Berhasil', 'Akun baru berhasil ditambahkan')
->position('top-end');
return redirect()->back()->with('reload', true);
} catch (ValidationException $e) {
$errors = $e->validator->errors()->all();
foreach ($errors as $error) {
Alert::toast()->error('Gagal', $error)->position('top-end')->timer(3000);
}
return redirect()->back()->withInput();
} catch (\Exception $e) {
Alert::toast()->error('Gagal', 'Terjadi kesalahan saat menambahkan akun')->position('top-end')->timer(3000);
return redirect()->back()->withInput();
}
}
public function update(UpdateUserRequest $request, $id)
{
$user = User::findOrFail($id);
$user->fullname = $request->input('fullname');
$user->username = $request->input('username');
$user->email = $request->input('email');
$user->save();
Alert::toast('Berhasil Mengaupdate Akun', 'success')->position('top-end');
return redirect()->back();
}
public function destroy($id)
{
$user = User::findOrFail($id);
$user->delete();
Alert::toast()->success('Berhasil', 'Akun pengguna berhasil dihapus');
return redirect()->back();
}
}