public function getAdminEdit($id = null)
    {
        // Get the user information
        if($user = Sentinel::findById($id))
        {
            // Get this user groups
            $userRoles = $user->getRoles()->lists('name', 'id')->all();

            // Get a list of all the available groups
            $roles = Sentinel::getRoleRepository()->all();
        }
        else
        {
            // Prepare the error message
            $error = Lang::get('base.auth.not_found');

            // Redirect to the user management page
            return Redirect::route('users')->with('error', $error);
        }

        $status = $user->status;
        $genders = $this->genders;
        $statusList = $this->status;

        $groups = null;
        $groups2 = Sentinel::getRoleRepository()->all(['id', 'name']);

        foreach ($groups2 as $g)
        {
            $has = false;
            foreach ($user->roles as $g2)
                if ($g2->id == $g->id)
                    $has = true;

            if (!$has)
                $groups[$g->id] = $g->name;
        }

        // Show the page
        return View('admin/users/edit', compact('user', 'status', 'genders', 'statusList', 'groups'));
    }