From 433028abeb9d4f6bc3d42f55780588d7d9287a54 Mon Sep 17 00:00:00 2001 From: Steve Boyd Date: Thu, 2 May 2024 12:49:44 +1200 Subject: [PATCH] ENH Make ElementalContentExtension MyPage a required field --- code/TestRegistryPage.php | 2 +- code/elemental/ElementContentExtension.php | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/code/TestRegistryPage.php b/code/TestRegistryPage.php index 76bd6db..020a9b4 100644 --- a/code/TestRegistryPage.php +++ b/code/TestRegistryPage.php @@ -6,7 +6,7 @@ use SilverStripe\Registry\RegistryPage; use SilverStripe\Security\DefaultAdminService; use SilverStripe\Security\Member; -if (!class_exists(RegistryPage::class)) { +if (class_exists(RegistryPage::class)) { class TestRegistryPage extends RegistryPage { public function requireDefaultRecords() diff --git a/code/elemental/ElementContentExtension.php b/code/elemental/ElementContentExtension.php index d3e7273..8609875 100644 --- a/code/elemental/ElementContentExtension.php +++ b/code/elemental/ElementContentExtension.php @@ -2,6 +2,7 @@ namespace SilverStripe\FrameworkTest\Elemental\Extension; +use SilverStripe\CMS\Model\SiteTree; use SilverStripe\Core\Extension; use SilverStripe\Forms\FieldList; use SilverStripe\ORM\ValidationResult; @@ -20,6 +21,10 @@ class ElementContentExtension extends Extension 'MyInt' => 'Int', ]; + private static $has_one = [ + 'MyPage' => SiteTree::class, + ]; + public function validate(ValidationResult $result) { if ($this->owner->Title == 'x') { @@ -35,7 +40,7 @@ class ElementContentExtension extends Extension public function updateCMSCompositeValidator(CompositeValidator $compositeValidator) { - $compositeValidator->addValidator(new RequiredFields(['Title'])); + $compositeValidator->addValidator(new RequiredFields(['Title', 'MyPageID'])); } public function updateCMSFields(FieldList $fields)