From a1c251650b41f90986205c10e8aac20723d9aea9 Mon Sep 17 00:00:00 2001 From: BOHA Date: Sat, 6 Jun 2026 14:19:15 +0200 Subject: [PATCH] fix(projects): responsible-person picker shows only active users with projects.view MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The create-project modal's 'Zodpovědná osoba' select listed every user (including inactive ones). Filter the query server-side by projects.view and hide inactive users client-side. Co-Authored-By: Claude Opus 4.8 (1M context) --- src/admin/pages/Projects.tsx | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/admin/pages/Projects.tsx b/src/admin/pages/Projects.tsx index 8816546..b9a5416 100644 --- a/src/admin/pages/Projects.tsx +++ b/src/admin/pages/Projects.tsx @@ -98,7 +98,12 @@ export default function Projects() { ...offerCustomersOptions(), enabled: showCreate, }); - const usersQuery = useQuery({ ...userListOptions(), enabled: showCreate }); + // Responsible-person picker: only users whose role can view projects + // (projects.view, filtered server-side) and who are active. + const usersQuery = useQuery({ + ...userListOptions("projects.view"), + enabled: showCreate, + }); const nextNumberQuery = useQuery({ ...projectNextNumberOptions(), enabled: showCreate, @@ -512,11 +517,13 @@ export default function Projects() { className="admin-form-input" > - {(usersQuery.data ?? []).map((u) => ( - - ))} + {(usersQuery.data ?? []) + .filter((u) => u.is_active) + .map((u) => ( + + ))}