diff --git a/code/BatchActions/CMSBatchAction_Archive.php b/code/BatchActions/CMSBatchAction_Archive.php index c0f8412c61..ccf989a8c7 100644 --- a/code/BatchActions/CMSBatchAction_Archive.php +++ b/code/BatchActions/CMSBatchAction_Archive.php @@ -5,7 +5,6 @@ use SilverStripe\ORM\SS_List; use SilverStripe\Admin\CMSBatchAction; use SilverStripe\Control\HTTPResponse; -use SilverStripe\Dev\Deprecation; /** * Delete items batch action. @@ -28,7 +27,6 @@ public function run(SS_List $pages): HTTPResponse public function applicablePages($ids) { - // canArchive() is deprecated, not $this->applicablePagesHelper() - return Deprecation::withNoReplacement(fn() => $this->applicablePagesHelper($ids, 'canArchive')); + return $this->applicablePagesHelper($ids, 'canDelete'); } } diff --git a/code/Controllers/CMSMain.php b/code/Controllers/CMSMain.php index 4c559bf765..e7e923ef8c 100644 --- a/code/Controllers/CMSMain.php +++ b/code/Controllers/CMSMain.php @@ -29,7 +29,6 @@ use SilverStripe\Core\Environment; use SilverStripe\Core\Flushable; use SilverStripe\Core\Injector\Injector; -use SilverStripe\Dev\Deprecation; use SilverStripe\Forms\DateField; use SilverStripe\Forms\DropdownField; use SilverStripe\Forms\FieldGroup; @@ -1998,8 +1997,7 @@ public function archive(array $data, Form $form): HTTPResponse if (!$record || !$record->exists()) { throw new HTTPResponse_Exception("Bad record ID #$id", 404); } - $canArchive = Deprecation::withNoReplacement(fn() => $record->canArchive()); - if (!$canArchive) { + if (!$record->canDelete()) { return Security::permissionFailure(); } diff --git a/code/Model/SiteTree.php b/code/Model/SiteTree.php index 8474c04c8d..5b44f84b81 100755 --- a/code/Model/SiteTree.php +++ b/code/Model/SiteTree.php @@ -25,7 +25,6 @@ use SilverStripe\Core\Manifest\ModuleResourceLoader; use SilverStripe\Core\Manifest\VersionProvider; use SilverStripe\Core\Resettable; -use SilverStripe\Dev\Deprecation; use SilverStripe\Forms\CheckboxField; use SilverStripe\Forms\CompositeField; use SilverStripe\Forms\DropdownField; @@ -2593,21 +2592,18 @@ public function getCMSActions() } // If a page is on any stage it can be archived - if (($isOnDraft || $isPublished)) { - $canArchive = Deprecation::withNoReplacement(fn() => $this->canArchive()); - if ($canArchive) { - $title = $isPublished - ? _t('SilverStripe\\CMS\\Controllers\\CMSMain.UNPUBLISH_AND_ARCHIVE', 'Unpublish and archive') - : _t('SilverStripe\\CMS\\Controllers\\CMSMain.ARCHIVE', 'Archive'); - $moreOptions->push( - FormAction::create('archive', $title) - ->addExtraClass('delete btn btn-secondary' . ($this->isHomePage() ? ' homepage-warning' : '')) - ->setDescription(_t( - 'SilverStripe\\CMS\\Model\\SiteTree.BUTTONDELETEDESC', - 'Remove from draft/live and send to archive' - )) - ); - } + if (($isOnDraft || $isPublished) && $this->canDelete()) { + $title = $isPublished + ? _t('SilverStripe\\CMS\\Controllers\\CMSMain.UNPUBLISH_AND_ARCHIVE', 'Unpublish and archive') + : _t('SilverStripe\\CMS\\Controllers\\CMSMain.ARCHIVE', 'Archive'); + $moreOptions->push( + FormAction::create('archive', $title) + ->addExtraClass('delete btn btn-secondary' . ($this->isHomePage() ? ' homepage-warning' : '')) + ->setDescription(_t( + 'SilverStripe\\CMS\\Model\\SiteTree.BUTTONDELETEDESC', + 'Remove from draft/live and send to archive' + )) + ); } // "save", supports an alternate state that is still clickable, but notifies the user that the action is not needed.