@@ -55,10 +55,25 @@ private function collections()
55
55
|| User::current ()->can ('view ' , $ collection )
56
56
&& $ collection ->sites ()->contains (Site::selected ()->handle ());
57
57
})->map (function ($ collection ) {
58
+ $ entriesCount = $ collection ->queryEntries ()
59
+ ->where ('site ' , Site::selected ())
60
+ ->when (User::current ()->cant ('view-other-authors-entries ' , [EntryContract::class, $ collection ]), function ($ query ) use ($ collection ) {
61
+ $ blueprintsWithoutAuthor = $ collection ->entryBlueprints ()
62
+ ->filter (fn ($ blueprint ) => ! $ blueprint ->hasField ('author ' ))
63
+ ->map ->handle ()->all ();
64
+
65
+ $ query ->where (function ($ query ) use ($ blueprintsWithoutAuthor ) {
66
+ $ query
67
+ ->whereIn ('blueprint ' , $ blueprintsWithoutAuthor )
68
+ ->orWhere ('author ' , User::current ()->id ());
69
+ });
70
+ })
71
+ ->count ();
72
+
58
73
return [
59
74
'id ' => $ collection ->handle (),
60
75
'title ' => $ collection ->title (),
61
- 'entries ' => $ collection -> queryEntries ()-> where ( ' site ' , Site:: selected ())-> count () ,
76
+ 'entries ' => $ entriesCount ,
62
77
'edit_url ' => $ collection ->editUrl (),
63
78
'delete_url ' => $ collection ->deleteUrl (),
64
79
'entries_url ' => cp_route ('collections.show ' , $ collection ->handle ()),
0 commit comments