<?php
namespace App\Http\Controllers;
use App\Models\Instansi;
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
class UserController extends Controller
{
public function index()
{
$data['title'] = "Pengguna";
$data['users'] = Instansi::with('user')->whereHas('user', function($user) {
$user->where('role','<>','Admin')->where('email_verified_at', '<>', null);
})->paginate();
return view('user.index', $data);
}
public function create()
{
$data['title'] = 'User';
return view('user.tambah', $data);
}
public function store(Request $request)
{
$validate = $request->validate([
'name' => 'required',
'username' => 'required|unique:users',
'email' => 'required|email:dns|unique:users',
'password' => 'required|confirmed',
]);
$validate['password'] = Hash::make($request->password);
$validate['role'] = 'User';
$user = User::create($validate);
Instansi::create(['user_id' => $user->id]);
return redirect('/user')->with('success', "Berhasil menambahkan user");
}
/**
* Display the specified resource.
*/
public function show(User $user)
{
//
}
public function edit(User $user)
{
$data['title'] = 'User';
$data['user'] = $user;
return view('user.edit', $data);
}
public function update(Request $request, User $user)
{
$rules = [
'name' => 'required',
'username' => 'required',
'email' => 'required|email:dns',
];
if($request->username != $user->username) {
$rules['username'] = 'required|unique:users';
}
if($request->email != $user->email) {
$rules['email'] = 'required|unique:users|email:dns';
}
if($request->password) {
$rules['password'] = 'min:5|confirmed';
}
$validate = $request->validate($rules);
if($request->password) {
$validate['password'] = Hash::make($request->password);
}
$user->update($validate);
return redirect('/user')->with('success', 'Berhasil edit data user');
}
public function destroy(User $user)
{
$user->delete();
return redirect()->back()->with('success', "Berhasil hapus data user");
}
}
Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]