mirror of
https://github.com/silverstripe/silverstripe-cms
synced 2024-10-22 08:05:56 +02:00
Extension hooks for "restore to stage" and "archive"
This commit is contained in:
parent
3dbe5f278d
commit
21df7069d0
@ -2534,6 +2534,8 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
|
||||
* @return self
|
||||
*/
|
||||
public function doRestoreToStage() {
|
||||
$this->invokeWithExtensions('onBeforeRestoreToStage', $this);
|
||||
|
||||
// Ensure that the parent page is restored, otherwise restore to root
|
||||
if($this->isParentArchived()) {
|
||||
$this->ParentID = 0;
|
||||
@ -2563,6 +2565,8 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
|
||||
|
||||
Versioned::reading_stage($oldStage);
|
||||
|
||||
$this->invokeWithExtensions('onAfterRestoreToStage', $this);
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
@ -2572,10 +2576,15 @@ class SiteTree extends DataObject implements PermissionProvider,i18nEntityProvid
|
||||
* @return bool Success
|
||||
*/
|
||||
public function doArchive() {
|
||||
$this->invokeWithExtensions('onBeforeArchive', $this);
|
||||
|
||||
if($this->doUnpublish()) {
|
||||
$this->delete();
|
||||
$this->invokeWithExtensions('onAfterArchive', $this);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user