Permalink
Browse files

MINOR when a parent page is unpublished, unpublish all related virtua…

…l pages, includes test coverage (from r94777) (from r96771)

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@102399 467b73ca-7a2a-4603-9d3b-597d59a354a9
  • Loading branch information...
1 parent c0dfaa0 commit 31bf50d69d7d2e49321e4b3cc7d4a507372d33a2 @chillu chillu committed Apr 12, 2010
Showing with 9 additions and 0 deletions.
  1. +9 −0 core/model/SiteTree.php
View
@@ -1997,6 +1997,15 @@ function doUnpublish() {
$this->write();
+ // Unpublish all virtual pages that point here
+ // This coupling to the subsites module is frustrating, but difficult to avoid.
+ if(class_exists('Subsite')) {
+ $virtualPages = Subsite::get_from_all_subsites('VirtualPage', "CopyContentFromID = {$this->ID}");
+ } else {
+ $virtualPages = DataObject::get('VirtualPage', "CopyContentFromID = {$this->ID}");
+ }
+ if ($virtualPages) foreach($virtualPages as $vp) $vp->doUnpublish();
+
$this->extend('onAfterUnpublish');
}

0 comments on commit 31bf50d

Please sign in to comment.