Skip to content

Commit d55a498

Browse files
committed
bugfix: invalid records for page activity
1 parent d9456d5 commit d55a498

2 files changed

Lines changed: 12 additions & 8 deletions

File tree

src/Filament/Widgets/PageActivity.php

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
use SolutionForest\InspireCms\Helpers\FilamentResourceHelper;
1515
use SolutionForest\InspireCms\Helpers\UIHelper;
1616
use SolutionForest\InspireCms\InspireCmsConfig;
17+
use SolutionForest\InspireCms\Models\Scopes\ContentVersionDetailScope;
1718

1819
class PageActivity extends BaseWidget
1920
{
@@ -60,13 +61,18 @@ protected function getRecordUrl(Model $record): ?string
6061

6162
protected function getLatestUpdatePagesQuery(): Builder
6263
{
63-
$query = InspireCmsConfig::getContentModelClass()::with([
64-
'publishedVersions',
65-
])->withoutGlobalScopes([
66-
\SolutionForest\InspireCms\Support\Models\Scopes\NestableTreeDetailScope::class,
67-
]);
64+
$query = InspireCmsConfig::getContentModelClass()::query();
6865

69-
return $query->orderByDesc('updated_at')->take(static::$totalTakeLatest);
66+
$model = $query->getModel();
67+
$updatedAtColumn = $model->getUpdatedAtColumn();
68+
return InspireCmsConfig::getContentModelClass()::query()
69+
->withoutGlobalScopes([
70+
\SolutionForest\InspireCms\Support\Models\Scopes\NestableTreeDetailScope::class,
71+
])
72+
->withGlobalScope(ContentVersionDetailScope::class, new ContentVersionDetailScope)
73+
->orderByDesc('__latest_version_dt')
74+
->orderByDesc($model->qualifyColumn($updatedAtColumn))
75+
->take(static::$totalTakeLatest);
7076
}
7177

7278
// region Table Configuration

src/Models/Scopes/ContentVersionDetailScope.php

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,10 @@ public function apply($builder, Model $model)
2626
$t1Q = DB::table($related->getTable())
2727
->orderByDesc($recordCreationColumn) // sort by created_at desc
2828
->groupBy(
29-
$relatedFK, // group by content_id
3029
$recordCreationColumn, // include the ordered column in GROUP BY
3130
)
3231
->select([
3332
DB::raw("MAX($relatedPK) AS latest_version_id"),
34-
$relatedFK,
3533
]);
3634

3735
$t2_1TableName = '_cv_t2_publish';

0 commit comments

Comments
 (0)