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(); + } }