From 11a5dc7617d61820c43de6f870bc71a485999e6f Mon Sep 17 00:00:00 2001 From: Robbie Averill Date: Fri, 6 Oct 2017 16:39:53 +1300 Subject: [PATCH] FIX Ensure SiteConfig defaults are used as fallback options --- code/extensions/SiteTreeContentReview.php | 5 ++++- tests/SiteTreeContentReviewTest.php | 21 +++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/code/extensions/SiteTreeContentReview.php b/code/extensions/SiteTreeContentReview.php index 6b0654d..2ec8c38 100644 --- a/code/extensions/SiteTreeContentReview.php +++ b/code/extensions/SiteTreeContentReview.php @@ -454,7 +454,10 @@ class SiteTreeContentReview extends DataExtension implements PermissionProvider $options = $this->getOptions(); - if (!$options || !$options->hasExtension($this->class)) { + if (!$options + // Options can be a SiteConfig with different extension applied + || (!$options->hasExtension($this->class) && !$options->hasExtension('ContentReviewDefaultSettings')) + ) { return false; } diff --git a/tests/SiteTreeContentReviewTest.php b/tests/SiteTreeContentReviewTest.php index cdddcd0..fbdb9d6 100644 --- a/tests/SiteTreeContentReviewTest.php +++ b/tests/SiteTreeContentReviewTest.php @@ -313,4 +313,25 @@ class SiteTreeContentReviewTest extends ContentReviewBaseTest SS_Datetime::clear_mock_now(); } + + public function testSiteConfigSettingsAreUsedAsDefaults() + { + SS_Datetime::set_mock_now("2020-03-01 12:00:00"); + + /** @var Member $author */ + $author = $this->objFromFixture('Member', 'editor'); + + /** @var SiteConfig $siteConfig */ + $siteConfig = SiteConfig::current_site_config(); + + // Set the author to a default user for reviewing + $siteConfig->OwnerUsers()->add($author); + + $emptyPage = new Page; + $emptyPage->NextReviewDate = '2020-02-20 12:00:00'; + + $this->assertTrue($emptyPage->canBeReviewedBy($author)); + + SS_Datetime::clear_mock_now(); + } }