/**
  * Handle a login request to the application.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function postLogin(Request $request)
 {
     $this->validate($request, [$this->loginUsername() => 'required', 'password' => 'required']);
     $throttles = in_array(ThrottlesLogins::class, class_uses_recursive(get_class($this)));
     if ($throttles && $this->hasTooManyLoginAttempts($request)) {
         return $this->sendLockoutResponse($request);
     }
     if (Auth::attempt($this->getCredentials($request), $request->has('remember'))) {
         if ($throttles) {
             $this->clearLoginAttempts($request);
         }
         // Log::info(Auth::user()->hasRole('admin'));
         // Log::info(Auth::user()->can('ui_features'));
         $roleid = RoleUser::where('user_id', Auth::user()->id)->get();
         // Log::alert($roleid[0]);
         $permit = Role::with('perms')->where('id', $roleid[0]->role_id)->get();
         //  Log::info($permit[0]->perms);
         // Log::alert(json_encode($child));
         $menus = [];
         foreach ($permit[0]->perms as $detail) {
             if ($detail->parent == '0') {
                 $menu = array();
                 foreach ($permit[0]->perms as $child) {
                     if ($child->parent == $detail->id) {
                         array_push($menu, $child);
                     }
                 }
                 $detail = array_add($detail, 'child', $menu);
                 array_push($menus, $detail);
             }
         }
         //Log::info($menus);
         Session::set('menu', $menus);
         return redirect()->intended($this->redirectPath());
     }
     if ($throttles) {
         $this->incrementLoginAttempts($request);
     }
     return redirect($this->loginPath())->withInput($request->only($this->loginUsername(), 'remember'))->withErrors([$this->loginUsername() => $this->getFailedLoginMessage()]);
 }