From 216e46eb59464233de8e93c613d1bd32af207e60 Mon Sep 17 00:00:00 2001 From: flashwave Date: Tue, 3 Dec 2019 02:28:56 +0100 Subject: [PATCH] Made the error page when a role has no members less jarring. --- assets/less/userlist.less | 7 +++++++ public/members.php | 6 +++++- templates/user/listing.twig | 22 ++++++++++++++-------- 3 files changed, 26 insertions(+), 9 deletions(-) diff --git a/assets/less/userlist.less b/assets/less/userlist.less index bdf7643e..2f29d846 100644 --- a/assets/less/userlist.less +++ b/assets/less/userlist.less @@ -11,6 +11,13 @@ display: flex; } + &__empty { + text-align: center; + font-size: 2em; + line-height: 1.5em; + margin: 1em; + } + &__container { padding: 5px; margin: 2px 0; diff --git a/public/members.php b/public/members.php index b8589eb2..f6a31d92 100644 --- a/public/members.php +++ b/public/members.php @@ -90,7 +90,7 @@ if(empty($role)) { $usersPagination = pagination_create($role['role_user_count'], 15); $usersOffset = pagination_offset($usersPagination, pagination_param()); -if(!pagination_is_valid_offset($usersOffset)) { +if($usersOffset > 0 && !pagination_is_valid_offset($usersOffset)) { echo render_error(404); return; } @@ -162,6 +162,10 @@ $getUsers->bind('take', $usersPagination['range']); $getUsers->bind('current_user_id', user_session_current('user_id', 0)); $users = $getUsers->fetchAll(); +if(empty($users)) { + http_response_code(404); +} + echo tpl_render('user.listing', [ 'roles' => $roles, 'role' => $role, diff --git a/templates/user/listing.twig b/templates/user/listing.twig index 3f63141d..1f6088c8 100644 --- a/templates/user/listing.twig +++ b/templates/user/listing.twig @@ -9,7 +9,7 @@ 'role': url_role, 'sort': url_sort, 'direction': url_direction, - 'page': users_pagination.page > 2 ? users_pagination.page : 0, + 'page': users_pagination.page|default(0) > 2 ? users_pagination.page : 0, }) %} {% set title = role.role_id == 1 ? 'Members' : 'Role ยป ' ~ role.role_name %} {% set manage_link = url('manage-users') %} @@ -48,13 +48,19 @@ {{ member_nav }} -
- {% for user in users %} -
- {{ user_card(user) }} -
- {% endfor %} -
+ {% if users|length > 0 %} +
+ {% for user in users %} +
+ {{ user_card(user) }} +
+ {% endfor %} +
+ {% else %} +
+ This role has no members +
+ {% endif %}
{{ member_nav }}