Anons79 Mini Shell

Directory : /home/aplikasiposinfo/www/pemuda.aplikasipos.info/app/Http/Controllers/
Upload File :
Current File : /home/aplikasiposinfo/www/pemuda.aplikasipos.info/app/Http/Controllers/UserController.php

<?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]