ximene1992

logincontroller.php

Apr 16th, 2022
1,526
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.81 KB | None | 0 0
  1. <?php
  2. namespace App\Http\Controllers\Admin;
  3.  
  4. use App\Http\Controllers\Controller;
  5. use App\Models\User;
  6. use App\Models\Funsionario;
  7. use Illuminate\Http\Request;
  8. use Spatie\Permission\Models\Role;
  9.  
  10. class UserController extends Controller
  11. {
  12.  
  13.     /**
  14.     * __construct
  15.     *
  16.     * @return void
  17.     */
  18.     public function __construct()
  19.     {
  20.         $this->middleware(['permission:users.index|users.create|users.edit|users.delete']);
  21.     }
  22.  
  23.  
  24.     /*** Display a listing of the resource.
  25.     *
  26.     * @return \Illuminate\Http\Response
  27.     */
  28.     public function index()
  29.     {
  30.         $users = User::latest()->when(request()->q, function($users) {
  31.         $users = $users->where('name', 'like', '%'. request()->q .
  32.         '%');
  33.         })->paginate(10);
  34.         return view('admin.user.index', compact('users'));
  35.     }
  36.  
  37.     /**
  38.     * Show the form for creating a new resource.
  39.     *
  40.     * @return \Illuminate\Http\Response
  41.     */
  42.     public function create()
  43.     {
  44.         $roles = Role::latest()->get();
  45.         $funsionarios = Funsionario::latest()->get();
  46.         return view ('admin.user.create', compact('roles','funsionarios'));
  47.     }
  48.  
  49.     /**
  50.     * Store a newly created resource in storage.
  51.     *
  52.     * @param \Illuminate\Http\Request $request
  53.     * @return \Illuminate\Http\Response
  54.     */
  55.     public function store(Request $request)
  56.     {
  57.         $this->validate($request, [
  58.             'name' => 'required',
  59.             'funsionario_id' => 'required',
  60.             'email' => 'required|email|unique:users',
  61.             'password' => 'required|confirmed'
  62.         ]);
  63.  
  64.         $user = User::create([
  65.             'name' => $request->input('name'),
  66.             'funsionario_id' => $request->input('funsionario_id'),
  67.             'email' => $request->input('email'),
  68.             'password' => bcrypt($request->input('password'))
  69.         ]);
  70.  
  71.  
  72.     //assign role
  73.         $user->assignFunsionario($request->input('funsionario'));
  74.         $user->assignRole($request->input('role'));
  75.         if($user){
  76.  
  77.     //redirect dengan pesan sukses
  78.         return
  79.         redirect()->route('admin.user.index')->with(['success' => 'Data Berhasil
  80.         Disimpan!']);
  81.  
  82.     }else{
  83.  
  84.     //redirect dengan pesan error
  85.         return redirect()->route('admin.user.index')->with(['error'
  86.         => 'Data Gagal Disimpan!']);
  87.     }
  88.     }
  89.  
  90.  
  91.     /**
  92.     * Show the form for editing the specified resource.
  93.     *
  94.     * @param int $id
  95.     * @return \Illuminate\Http\Response
  96.     */
  97.     public function edit(User $user)
  98.     {
  99.         $roles = Role::latest()->get();
  100.         return view('admin.user.edit', compact('user', 'roles'));
  101.     }
  102.  
  103.  
  104.     /**
  105.     * Update the specified resource in storage.
  106.     *
  107.     * @param \Illuminate\Http\Request $request
  108.     * @param int $id
  109.     * @return \Illuminate\Http\Response
  110.     */
  111.     public function update(Request $request, User $user)
  112.     {
  113.         $this->validate($request, [
  114.             'name' => 'required',
  115.             'email' =>
  116.             'required|email|unique:users,email,'.$user->id
  117.         ]);
  118.  
  119.     $user = User::findOrFail($user->id);
  120.     if($request->input('password') == "") {
  121.             $user->update([
  122.                 'name' => $request->input('name'),
  123.                 'email' => $request->input('email')
  124.             ]);
  125.  
  126.         } else {
  127.         $user->update([
  128.             'name' => $request->input('name'),
  129.             'email' => $request->input('email'),
  130.             'password' => bcrypt($request->input('password'))
  131.         ]);
  132.     }
  133.  
  134.     //assign role
  135.     $user->syncRoles($request->input('role'));
  136.     if($user){
  137.  
  138.         //redirect dengan pesan sukses
  139.         return
  140.         redirect()->route('admin.user.index')->with(['success' => 'Data Berhasil Di update!']);
  141.     }else{
  142.         //redirect dengan pesan error
  143.         return redirect()->route('admin.user.index')->with(['error'
  144.         => 'Data Gagal Diupdate!']);
  145.     }
  146.     }
  147.  
  148.  
  149.     /**
  150.     * Remove the specified resource from storage.
  151.     *
  152.     * @param int $id
  153.     * @return \Illuminate\Http\Response
  154.     */
  155.     public function destroy($id)
  156.     {
  157.         $user = User::findOrFail($id);
  158.         $user->delete();
  159.  
  160.         if($user){
  161.             return response()->json([
  162.             'status' => 'success'
  163.         ]);
  164.  
  165.         }else{
  166.             return response()->json([
  167.             'status' => 'error'
  168.         ]);
  169.         }
  170.     }
  171. }
  172.  
Advertisement
Add Comment
Please, Sign In to add comment