Skip to content

Commit

Permalink
FIX Don't leave pages in draft when adding ElementalAreasExtension
Browse files Browse the repository at this point in the history
  • Loading branch information
ScopeyNZ committed May 16, 2019
1 parent 853b1b5 commit a1b3fa7
Showing 1 changed file with 11 additions and 1 deletion.
12 changes: 11 additions & 1 deletion src/Extensions/ElementalAreasExtension.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,12 @@
use SilverStripe\CMS\Model\VirtualPage;
use SilverStripe\Core\ClassInfo;
use SilverStripe\Core\Config\Config;
use SilverStripe\Core\Extensible;
use SilverStripe\Forms\FieldList;
use SilverStripe\Forms\LiteralField;
use SilverStripe\ORM\DataExtension;
use SilverStripe\ORM\DataObject;
use SilverStripe\Versioned\Versioned;

/**
* This extension handles most of the relationships between pages and element
Expand Down Expand Up @@ -284,7 +286,15 @@ public function requireDefaultRecords()
}

foreach ($ownerClass::get()->where(implode(' OR ', $where)) as $elementalObject) {
$elementalObject->ensureElementalAreasExist($elementalAreas)->write();
$needsPublishing = Extensible::has_extension($elementalObject, Versioned::class)
&& $elementalObject->isPublished();

/** @var ElementalAreasExtension $elementalObject */
$elementalObject->ensureElementalAreasExist($elementalAreas);
$elementalObject->write();
if ($needsPublishing) {
$elementalObject->publishRecursive();
}
}
}
}

0 comments on commit a1b3fa7

Please sign in to comment.