fix: appliquer le filtre d'assignation admin dans projects.json.php
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 <noreply@anthropic.com>
This commit is contained in:
parent
7425a1493d
commit
aceb8c7fdb
1 changed files with 6 additions and 3 deletions
|
|
@ -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 = [];
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue