PluginProbe
FluentBoards – Project Management, Task Management, Goal Tracking, Kanban Board, and, Team Collaboration / 2.1.0
FluentBoards – Project Management, Task Management, Goal Tracking, Kanban Board, and, Team Collaboration v2.1.0
2.1.0 2.0.15 2.0.12 2.0.10 2.0.4 2.0.1 2.0.0 1.95.3 1.95.2 1.95 1.91.6 trunk 1.11 1.12 1.13 1.20 1.21 1.22 1.23 1.30 1.31 1.32 1.35 1.40 1.41 All 42 releases
← All changes | app/Http/Controllers/PublicBoardController.php +7 -2 2.0.12.1.0 View file →
@@ -20,9 +20,10 @@
20 20 $board->description = DescriptionMarkdownConverter::normalize($board->description);
21 21 $board->createdOn = $board->created_at ? $board->created_at->format('Y-m-d') : null;
22 22 $board->load(['stages', 'labels', 'users']);
23 23
24 - $board->users = PublicAccessService::sanitizeUsers($board->users);
24 + // Members must never be serialized from the User relation; replace it with the reduced list.
25 + PublicAccessService::replaceUserRelation($board, 'users');
25 26 $board->isUserOnlyViewer = true;
26 27 $board->is_pinned = false;
27 28
28 29 $board->makeHidden([
@@ -29,8 +30,10 @@
29 30 'settings', 'currency', 'crm_contact_id',
30 31 'updated_at', 'created_by',
31 32 ]);
32 33
34 + PublicAccessService::stripUserRelations($board);
35 +
33 36 return [
34 37 'board' => $board
35 38 ];
36 39 }
@@ -262,8 +265,10 @@
262 265 $task->is_watching = false;
263 266 $task->contact = null;
264 267 $task->notifications = [];
265 268 $task->watchers = [];
266 - $task->assignees = PublicAccessService::sanitizeUsers($task->assignees);
269 + // Assignees must never be serialized from the User relation; replace it with the reduced list.
270 + PublicAccessService::replaceUserRelation($task, 'assignees');
271 + PublicAccessService::stripUserRelations($task);
267 272 }
268 273 }
269 274 }