diff --git a/app/Entities/Controllers/PageRevisionController.php b/app/Entities/Controllers/PageRevisionController.php
index 232d40668..4985c39f3 100644
--- a/app/Entities/Controllers/PageRevisionController.php
+++ b/app/Entities/Controllers/PageRevisionController.php
@@ -43,7 +43,6 @@ class PageRevisionController extends Controller
->selectRaw("IF(markdown = '', false, true) as is_markdown")
->with(['page.book', 'createdBy'])
->reorder('id', $listOptions->getOrder())
- ->reorder('created_at', $listOptions->getOrder())
->paginate(50);
$this->setPageTitle(trans('entities.pages_revisions_named', ['pageName' => $page->getShortName()]));
@@ -52,6 +51,7 @@ class PageRevisionController extends Controller
'revisions' => $revisions,
'page' => $page,
'listOptions' => $listOptions,
+ 'oldestRevisionId' => $page->revisions()->min('id'),
]);
}
diff --git a/resources/views/pages/parts/revisions-index-row.blade.php b/resources/views/pages/parts/revisions-index-row.blade.php
index db89284bb..48bea5b57 100644
--- a/resources/views/pages/parts/revisions-index-row.blade.php
+++ b/resources/views/pages/parts/revisions-index-row.blade.php
@@ -27,8 +27,10 @@
{{ $revision->summary }}
-
{{ trans('entities.pages_revisions_changes') }}
-
|
+ @if(!$oldest)
+
{{ trans('entities.pages_revisions_changes') }}
+
|
+ @endif
@if ($current)
diff --git a/resources/views/pages/revisions.blade.php b/resources/views/pages/revisions.blade.php
index 9f462e930..e8eb8d68b 100644
--- a/resources/views/pages/revisions.blade.php
+++ b/resources/views/pages/revisions.blade.php
@@ -37,7 +37,11 @@
{{ trans('common.actions') }}
@foreach($revisions as $index => $revision)
- @include('pages.parts.revisions-index-row', ['revision' => $revision, 'current' => $page->revision_count === $revision->revision_number])
+ @include('pages.parts.revisions-index-row', [
+ 'revision' => $revision,
+ 'current' => $page->revision_count === $revision->revision_number,
+ 'oldest' => $oldestRevisionId === $revision->id,
+ ])
@endforeach
@else
diff --git a/tests/Entity/PageRevisionTest.php b/tests/Entity/PageRevisionTest.php
index a272dc38b..9040254f7 100644
--- a/tests/Entity/PageRevisionTest.php
+++ b/tests/Entity/PageRevisionTest.php
@@ -203,6 +203,18 @@ class PageRevisionTest extends TestCase
$this->withHtml($resp)->assertElementContains('.item-list-row > div:nth-child(2)', 'Markdown)');
}
+ public function test_revision_changes_link_not_shown_for_oldest_revision()
+ {
+ $page = $this->entities->page();
+ $this->createRevisions($page, 3, ['html' => 'new page html']);
+
+ $resp = $this->asAdmin()->get($page->refresh()->getUrl('/revisions'));
+ $html = $this->withHtml($resp);
+
+ $html->assertElementNotExists('.item-list > .item-list-row:last-child a[href*="/changes"]');
+ $html->assertElementContains('.item-list > .item-list-row:nth-child(2)', 'Changes');
+ }
+
public function test_revision_restore_action_only_visible_with_permission()
{
$page = $this->entities->page();