From aceb8c7fdb46fc753ac68718c6f100aa8ec90b4b Mon Sep 17 00:00:00 2001 From: isUnknown Date: Wed, 4 Mar 2026 15:07:04 +0100 Subject: [PATCH] fix: appliquer le filtre d'assignation admin dans projects.json.php MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Le template bypassait currentProjects() pour les admins. Maintenant : - Admin sans projets assignés → tous les projets (comportement d'origine) - Admin avec projets assignés → uniquement ses projets (listed + unlisted) - Autres rôles → inchangé Co-Authored-By: Claude Sonnet 4.6 --- public/site/templates/projects.json.php | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/public/site/templates/projects.json.php b/public/site/templates/projects.json.php index 542ee7e..6f589eb 100644 --- a/public/site/templates/projects.json.php +++ b/public/site/templates/projects.json.php @@ -44,9 +44,12 @@ function getProjectData($project, $user) $currentUser = $kirby->user(); try { - $children = $currentUser->role() == 'admin' - ? $page->childrenAndDrafts()->map(fn($project) => getProjectData($project, $currentUser))->values() - : $currentUser->currentProjects()->map(fn($project) => getProjectData($project, $currentUser))->values(); + if ($currentUser->role() == 'admin' && $currentUser->hasNoAssignedProjects()) { + $projectCollection = $page->childrenAndDrafts(); + } else { + $projectCollection = $currentUser->currentProjects()->merge($currentUser->archivedProjects()); + } + $children = $projectCollection->map(fn($project) => getProjectData($project, $currentUser))->values(); } catch (\Throwable $th) { throw new Exception($th->getMessage() . ' line ' . $th->getLine() . ' in file ' . $th->getFile(), 1); $children = [];