diff --git a/_config/elemental.yml b/_config/extensions.yml similarity index 51% rename from _config/elemental.yml rename to _config/extensions.yml index e3f2c90..77a5eca 100644 --- a/_config/elemental.yml +++ b/_config/extensions.yml @@ -1,3 +1,13 @@ +--- +Name: frameworktest-extensions +--- +SilverStripe\ORM\DataObject: + extensions: + - DevBuildGeneratorExtension +SilverStripe\Assets\File: + extensions: + - BasicFieldsTestFileExtension + --- Only: classexists: 'DNADesign\Elemental\Extensions\ElementalPageExtension' diff --git a/_config/testpages.yml b/_config/testpages.yml deleted file mode 100644 index 4fdd504..0000000 --- a/_config/testpages.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- -Name: frameworktestpages ---- -SilverStripe\Assets\File: - extensions: - - BasicFieldsTestFileExtension diff --git a/code/BasicFieldsTestPage.php b/code/BasicFieldsTestPage.php index 9ddf5dc..5f05c6d 100644 --- a/code/BasicFieldsTestPage.php +++ b/code/BasicFieldsTestPage.php @@ -110,11 +110,10 @@ class BasicFieldsTestPage extends TestPage { parent::requireDefaultRecords(); - if ($inst = DataObject::get_one('BasicFieldsTestPage')) { + if ($inst = DataObject::get_one('BasicFieldsTestPage') && static::config()->get('regenerate_on_build')) { $data = $this->getDefaultData(); $inst->update($data); $inst->write(); - TestCategory::create()->requireDefaultRecords(); $cats = TestCategory::get(); $firstCat = $cats->offsetGet(0); diff --git a/code/Company.php b/code/Company.php index d03d2ba..6b93f03 100644 --- a/code/Company.php +++ b/code/Company.php @@ -6,10 +6,10 @@ use SilverStripe\Assets\Image; use SilverStripe\Forms\DropdownField; use SilverStripe\ORM\HasManyList; use SilverStripe\ORM\ManyManyList; -use SilverStripe\ORM\ValidationResult; use SilverStripe\ORM\DataObject; use SilverStripe\ORM\DB; use SilverStripe\AssetAdmin\Forms\UploadField; +use SilverStripe\Versioned\RecursivePublishable; use SilverStripe\Versioned\Versioned; use RelationFieldsTestPage; use GridFieldTestPage; @@ -120,11 +120,15 @@ class Company extends DataObject { parent::requireDefaultRecords(); $companySet = static::get(); + $data = $this->data(); + if ($companySet->exists() && !static::config()->get('regenerate_on_build')) { + return; + } foreach ($companySet as $company) { $company->delete(); } - foreach ($this->data() as $companyData) { + foreach ($data as $companyData) { $company = new Company(); $company->Name = $companyData[0]; $company->Category = $companyData[1]; diff --git a/code/DevBuildGeneratorExtension.php b/code/DevBuildGeneratorExtension.php new file mode 100644 index 0000000..9d5dada --- /dev/null +++ b/code/DevBuildGeneratorExtension.php @@ -0,0 +1,14 @@ +exists() && !static::config()->get('regenerate_on_build')) { + return; + } + foreach ($employeeSet as $employee) { $employee->delete(); } diff --git a/code/TestRegistryDataObject.php b/code/TestRegistryDataObject.php index 66bf931..f35777a 100644 --- a/code/TestRegistryDataObject.php +++ b/code/TestRegistryDataObject.php @@ -851,6 +851,10 @@ class TestRegistryDataObject extends DataObject implements RegistryDataInterface /** @var DataObject[] $all */ $all = static::get(); + if ($all->exists() && !static::config()->get('regenerate_on_build')) { + return; + } + foreach ($all as $one) { $one->delete(); }