feat: inversion relation User→Projects, les projets pointent vers les utilisateurs
All checks were successful
Deploy Preprod / Build and Deploy to Preprod (push) Successful in 31s

Le champ `users` est désormais sur le blueprint projet. Les blueprints
pochet/client perdent leur champ `projects`. La logique PHP (user-projects,
managers, controller, template, mark-all-read) lit project.users au lieu
de user.projects. Script de migration inclus.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
isUnknown 2026-03-03 14:01:27 +01:00
parent 075e511a6a
commit ea90f512cf
10 changed files with 101 additions and 25 deletions

View file

@ -5,16 +5,18 @@ Kirby::plugin('adrienpayet/pdc-authorized-projects', [
'currentProjects' => function() {
if ($this->role() == 'admin') {
return page('projects')->children()->listed();
} else {
return $this->projects()->toPages()->listed();
}
return page('projects')->children()->listed()->filter(function($project) {
return $project->users()->toUsers()->has($this);
});
},
'archivedProjects' => function() {
if ($this->role() == 'admin') {
return page('projects')->children()->unlisted();
} else {
return $this->projects()->toPages()->unlisted();
}
return page('projects')->children()->unlisted()->filter(function($project) {
return $project->users()->toUsers()->has($this);
});
},
]
]);