<?php

namespace App\Http\Controllers;

use App\Http\Requests\AddAdminUser;
use App\Http\Requests\EditAdminUser;

class AdminUserController extends Controller
{
    public function getIndex()
    {
        $data['sidebar'] = 'admin-user';
        $data['users']   = \App\User::paginate(10);
        return view('admin-users.index', $data);
    }

    public function getAdd()
    {
        $data['sidebar'] = 'admin-user';
        return view('admin-users.add', $data);
    }

    public function postAdd(AddAdminUser $request)
    {
        $user = new \App\User();
        $user->fill($request->input());
        $user->password = bcrypt($request->input('password'));
        $user->save();
        \Session::flash('success', 'User successfully Added');
        return redirect()->to('admin-user');
    }

    public function getEdit($user_id)
    {
        $data['sidebar'] = 'admin-user';
        $data['user']    = \App\User::find($user_id);
        return view('admin-users.edit', $data);
    }

    public function postEdit($user_id, EditAdminUser $request)
    {
        $user = \App\User::find($user_id);
        $user->fill($request->input());
        if ($request->input('password')) {
            $user->password = bcrypt($request->input('password'));
        }
        $user->save();
        \Session::flash('success', 'User successfully Updated');
        return redirect()->to('admin-user');
    }

    public function getDelete($user_id)
    {
        $user = \App\User::find($user_id);
        if($user->id == \Auth::user()->id)
        {
            \Session::flash('error', 'Cannot removed logged in user');
        } elseif(\Auth::user()->user_type == "employee") {
            \Session::flash('error', 'You Do not have permission for this action');
        } else {
            $user->delete($user_id);
            \Session::flash('success', 'User successfully removed');
        }
        return redirect()->back();
    }
}
