From cd0702c6e8bf7bead7011ad654fd3c2871622d83 Mon Sep 17 00:00:00 2001 From: Damian Mooyman Date: Thu, 4 Feb 2016 11:03:41 +1300 Subject: [PATCH 1/6] Update translations --- lang/en.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lang/en.yml b/lang/en.yml index ada05ab..c45cc11 100644 --- a/lang/en.yml +++ b/lang/en.yml @@ -9,6 +9,9 @@ en: CUSTOM: 'Custom settings' DEFAULTSETTINGSHELP: 'These content review settings will apply to all pages that does not have specific Content Review schedule.' DISABLE: 'Disable content review' + EMAILFROM: 'From email address' + EMAILSUBJECT: 'Subject line' + EMAILTEMPLATE: 'Email template' INHERIT: 'Inherit from parent page' MARKREVIEWED: 'Mark as reviewed' NEXTREVIEWDATADESCRIPTION: 'Leave blank for no review' @@ -35,6 +38,12 @@ en: PLURALNAME: 'Content Review Logs' SINGULARNAME: 'Content Review Log' PagesDueForReviewReport: + ONLYMYPAGES: 'Only Show pages assigned to me' + REVIEWDATEAFTER: 'Review date after or on' + REVIEWDATEBEFORE: 'Review date before or on' + SHOWVIRTUALPAGES: 'Show Virtual Pages' TITLE: 'Pages due for review' PagesWithoutReviewScheduleReport: TITLE: 'Pages without a scheduled review.' + Review: + EMAILFROM_RIGHTTITLE: 'e.g: do-not-reply@site.com' From 44d01ec3c975d31dba4de1297c5357fe0b86ff44 Mon Sep 17 00:00:00 2001 From: Damian Mooyman Date: Thu, 4 Feb 2016 13:10:06 +1300 Subject: [PATCH 2/6] Changelog for 3.0.1 --- changelog.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/changelog.md b/changelog.md index d4acecf..c1835ee 100644 --- a/changelog.md +++ b/changelog.md @@ -4,6 +4,11 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). +## [3.0.1] + +- Update documentation and configuration to supported module standard +- Fix documentation links + ## [3.0.0] - Replace review page form with inline form From 3c2c8d96aa01623cb222b2418e05981ae9a3509a Mon Sep 17 00:00:00 2001 From: Jake Bentvelzen Date: Mon, 11 Apr 2016 16:44:26 +1000 Subject: [PATCH 3/6] fix(ContentReviewNotificationJob): Changed to use ->config() system so that the next_run_hour can be configured in YAML. --- code/jobs/ContentReviewNotificationJob.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/jobs/ContentReviewNotificationJob.php b/code/jobs/ContentReviewNotificationJob.php index 7dfdd7b..c884b0c 100644 --- a/code/jobs/ContentReviewNotificationJob.php +++ b/code/jobs/ContentReviewNotificationJob.php @@ -90,11 +90,11 @@ class ContentReviewNotificationJob extends AbstractQueuedJob implements QueuedJo $nextRun = new ContentReviewNotificationJob(); $nextRunTime = mktime( - self::$next_run_hour, - self::$next_run_minute, + Config::inst()->get(__CLASS__, 'next_run_hour'), + Config::inst()->get(__CLASS__, 'next_run_minute'), 0, date("m"), - date("d") + self::$next_run_in_days, + date("d") + Config::inst()->get(__CLASS__, 'next_run_in_days'), date("Y") ); From d75cf9e280e63f315b308edd013776273fd306d2 Mon Sep 17 00:00:00 2001 From: Damian Mooyman Date: Tue, 17 May 2016 16:34:00 +1200 Subject: [PATCH 4/6] BUG Prevent non-real draft changes forcing record to appear as changed when saved --- code/extensions/SiteTreeContentReview.php | 24 ++++++++++------- tests/SiteTreeContentReviewTest.php | 32 +++++++++++++++++++++++ 2 files changed, 46 insertions(+), 10 deletions(-) diff --git a/code/extensions/SiteTreeContentReview.php b/code/extensions/SiteTreeContentReview.php index d6c0d3e..381c369 100644 --- a/code/extensions/SiteTreeContentReview.php +++ b/code/extensions/SiteTreeContentReview.php @@ -120,24 +120,24 @@ class SiteTreeContentReview extends DataExtension implements PermissionProvider { if ($this->canBeReviewedBy(Member::currentUser())) { Requirements::css("contentreview/css/contentreview.css"); - + $reviewTitle = LiteralField::create( "ReviewContentNotesLabel", "" ); - + $ReviewNotes = LiteralField::create("ReviewNotes", ""); - + $quickReviewAction = FormAction::create("savereview", _t("ContentReview.MARKREVIEWED", "Mark as reviewed")) ->setAttribute("data-icon", "pencil") ->setAttribute("data-text-alternate", _t("ContentReview.MARKREVIEWED", "Mark as reviewed")); - + $allFields = CompositeField::create($reviewTitle, $ReviewNotes, $quickReviewAction) ->addExtraClass('review-notes field'); - + $reviewTab = Tab::create('ReviewContent', $allFields); $reviewTab->addExtraClass('contentreview-tab'); - + $actions->fieldByName('ActionMenus')->insertBefore($reviewTab, 'MoreOptions'); } } @@ -257,7 +257,7 @@ class SiteTreeContentReview extends DataExtension implements PermissionProvider $member = Member::currentUser(); if ($member) { - return $member->FirstName . " " . $member->Surname; + return $member->getTitle(); } return null; @@ -478,8 +478,12 @@ class SiteTreeContentReview extends DataExtension implements PermissionProvider */ public function onBeforeWrite() { - $this->owner->LastEditedByName = $this->owner->getEditorName(); - $this->owner->OwnerNames = $this->owner->getOwnerNames(); + // Only update if DB fields have been changed + $changedFields = $this->owner->getChangedFields(true, 2); + if($changedFields) { + $this->owner->LastEditedByName = $this->owner->getEditorName(); + $this->owner->OwnerNames = $this->owner->getOwnerNames(); + } // If the user changed the type, we need to recalculate the review date. if ($this->owner->isChanged("ContentReviewType", 2)) { @@ -504,7 +508,7 @@ class SiteTreeContentReview extends DataExtension implements PermissionProvider return; } - // parent page change it's review period + // parent page change its review period // && !$this->owner->isChanged('ContentReviewType', 2) if ($this->owner->isChanged("ReviewPeriodDays", 2)) { $nextReviewUnixSec = strtotime(" + " . $this->owner->ReviewPeriodDays . " days", SS_Datetime::now()->format("U")); diff --git a/tests/SiteTreeContentReviewTest.php b/tests/SiteTreeContentReviewTest.php index b5e0971..cdddcd0 100644 --- a/tests/SiteTreeContentReviewTest.php +++ b/tests/SiteTreeContentReviewTest.php @@ -244,6 +244,38 @@ class SiteTreeContentReviewTest extends ContentReviewBaseTest SS_Datetime::clear_mock_now(); } + public function testUnModifiedPagesDontChangeEditor() { + SS_Datetime::set_mock_now("2013-03-01 12:00:00"); + + /** @var Member $author */ + $author = $this->objFromFixture("Member", "author"); + $this->logInAs($author); + + // Page which is un-modified doesn't advance version of have an editor assigned + $contactPage = $this->objFromFixture("Page", "contact"); + $contactPageVersion = $contactPage->Version; + $contactPage->write(); + $this->assertEmpty($contactPage->LastEditedByName); + $this->assertEquals( + $contactPageVersion, + Versioned::get_versionnumber_by_stage('SiteTree', 'Stage', $contactPage->ID, false) + ); + + // Page with modifications gets marked + $homePage = $this->objFromFixture("Page", "home"); + $homePageVersion = $homePage->Version; + $homePage->Content = '

Welcome!

'; + $homePage->write(); + $this->assertNotEmpty($homePage->LastEditedByName); + $this->assertEquals($author->getTitle(), $homePage->LastEditedByName); + $this->assertGreaterThan( + $homePageVersion, + Versioned::get_versionnumber_by_stage('SiteTree', 'Stage', $homePage->ID, false) + ); + + SS_Datetime::clear_mock_now(); + } + public function testReviewActionVisibleForAuthor() { SS_Datetime::set_mock_now("2020-03-01 12:00:00"); From 4f8835c30e9ed4c5dd8078b8d0d2b932b2493bf8 Mon Sep 17 00:00:00 2001 From: Damian Mooyman Date: Wed, 18 May 2016 18:41:35 +1200 Subject: [PATCH 5/6] Add changelog for 3.0.2 --- changelog.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/changelog.md b/changelog.md index c1835ee..b775f3d 100644 --- a/changelog.md +++ b/changelog.md @@ -4,6 +4,11 @@ All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). +## [3.0.2] + +* fix(ContentReviewNotificationJob): Changed to use ->config() system so that the next_run_hour can be configured in YAML. +* BUG Prevent non-real draft changes forcing record to appear as changed when saved + ## [3.0.1] - Update documentation and configuration to supported module standard @@ -27,4 +32,4 @@ This project adheres to [Semantic Versioning](http://semver.org/). ## [2.0.0] -Changelog added. \ No newline at end of file +Changelog added. From 019c69b982d7ed985c143046e0f07e7ba8a4e360 Mon Sep 17 00:00:00 2001 From: Christopher Pitt Date: Sat, 21 May 2016 17:33:21 +1200 Subject: [PATCH 6/6] Added Helpful Robot badge --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index d429966..a797eda 100644 --- a/readme.md +++ b/readme.md @@ -4,6 +4,7 @@ [![Code Quality](http://img.shields.io/scrutinizer/g/silverstripe/silverstripe-contentreview.svg?style=flat-square)](https://scrutinizer-ci.com/g/silverstripe/silverstripe-contentreview) [![Version](http://img.shields.io/packagist/v/silverstripe/contentreview.svg?style=flat-square)](https://packagist.org/packages/silverstripe/contentreview) [![License](http://img.shields.io/packagist/l/silverstripe/contentreview.svg?style=flat-square)](license.md) +![helpfulrobot](https://helpfulrobot.io/silverstripe/contentreview/badge) This module helps keep your website content accurate and up-to-date, which keeps your users happy.