mirror of
https://github.com/silverstripe/silverstripe-contentreview
synced 2024-10-22 17:05:47 +02:00
ENHANCEMENT Fixed ContentReviewTest to work with SQLite3, MSSQL and Postgres database drivers
This commit is contained in:
parent
7836db5678
commit
8e246c387a
@ -15,7 +15,7 @@ class ContentReviewEmails extends DailyTask {
|
|||||||
Subsite::$disable_subsite_filter = true;
|
Subsite::$disable_subsite_filter = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
$pages = DataObject::get('Page', "SiteTree.NextReviewDate = '".(class_exists('SS_Datetime') ? SS_Datetime::now()->URLDate() : SSDatetime::now()->URLDate())."' AND SiteTree.OwnerID != 0");
|
$pages = DataObject::get('Page', "\"SiteTree\".\"NextReviewDate\" = '".(class_exists('SS_Datetime') ? SS_Datetime::now()->URLDate() : SSDatetime::now()->URLDate())."' AND \"SiteTree\".\"OwnerID\" != 0");
|
||||||
if ($pages && $pages->Count()) {
|
if ($pages && $pages->Count()) {
|
||||||
foreach($pages as $page) {
|
foreach($pages as $page) {
|
||||||
$owner = $page->Owner();
|
$owner = $page->Owner();
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
|
require_once 'Zend/Date.php';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Show all pages that need to be reviewed
|
* Show all pages that need to be reviewed
|
||||||
@ -88,20 +89,23 @@ class PagesDueForReviewReport extends SS_Report {
|
|||||||
|
|
||||||
if(empty($params['ReviewDateBefore']) && empty($params['ReviewDateAfter'])) {
|
if(empty($params['ReviewDateBefore']) && empty($params['ReviewDateAfter'])) {
|
||||||
// If there's no review dates set, default to all pages due for review now
|
// If there's no review dates set, default to all pages due for review now
|
||||||
$wheres[] = 'NextReviewDate < \'' . (class_exists('SS_Datetime') ? SS_Datetime::now()->URLDate() : SSDatetime::now()->URLDate()) . '\' + INTERVAL 1 DAY';
|
$reviewDate = new Zend_Date(SS_Datetime::now()->getValue());
|
||||||
|
$reviewDate->add(1, Zend_Date::DAY);
|
||||||
|
$wheres[] = sprintf('"NextReviewDate" < \'%s\'', $reviewDate->toString('YYYY-MM-dd'));
|
||||||
} else {
|
} else {
|
||||||
// Review date before
|
// Review date before
|
||||||
if(!empty($params['ReviewDateBefore'])) {
|
if(!empty($params['ReviewDateBefore'])) {
|
||||||
list($day, $month, $year) = explode('/', $params['ReviewDateBefore']);
|
list($day, $month, $year) = explode('/', $params['ReviewDateBefore']);
|
||||||
$reviewDate = "$year-$month-$day";
|
$reviewDate = new Zend_Date("$year-$month-$day");
|
||||||
$wheres[] = 'NextReviewDate < \'' . Convert::raw2sql($reviewDate) . '\' + INTERVAL 1 DAY';
|
$reviewDate->add(1, Zend_Date::DAY);
|
||||||
|
$wheres[] = sprintf('"NextReviewDate" < \'%s\'', $reviewDate->toString('YYYY-MM-dd'));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Review date after
|
// Review date after
|
||||||
if(!empty($params['ReviewDateAfter'])) {
|
if(!empty($params['ReviewDateAfter'])) {
|
||||||
list($day, $month, $year) = explode('/', $params['ReviewDateAfter']);
|
list($day, $month, $year) = explode('/', $params['ReviewDateAfter']);
|
||||||
$reviewDate = "$year-$month-$day";
|
$reviewDate = new Zend_Date("$year-$month-$day");
|
||||||
$wheres[] = 'NextReviewDate >= \'' . Convert::raw2sql($reviewDate) . '\'';
|
$wheres[] = sprintf('"NextReviewDate" >= \'%s\'', $reviewDate->toString('YYYY-MM-dd'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -119,7 +123,7 @@ class PagesDueForReviewReport extends SS_Report {
|
|||||||
$ownerID = (int)$params[$ownerIdParam];
|
$ownerID = (int)$params[$ownerIdParam];
|
||||||
// We use -1 here to distinguish between No Owner and Any
|
// We use -1 here to distinguish between No Owner and Any
|
||||||
if($ownerID == -1) $ownerID = 0;
|
if($ownerID == -1) $ownerID = 0;
|
||||||
$wheres[] = 'OwnerID = ' . $ownerID;
|
$wheres[] = '"OwnerID" = ' . $ownerID;
|
||||||
}
|
}
|
||||||
|
|
||||||
$query = singleton("SiteTree")->extendedSQL(join(' AND ', $wheres));
|
$query = singleton("SiteTree")->extendedSQL(join(' AND ', $wheres));
|
||||||
@ -134,7 +138,7 @@ class PagesDueForReviewReport extends SS_Report {
|
|||||||
$direction = $parts[1];
|
$direction = $parts[1];
|
||||||
|
|
||||||
if($field == 'AbsoluteLink') {
|
if($field == 'AbsoluteLink') {
|
||||||
$sort = 'URLSegment ' . $direction;
|
$sort = '"URLSegment" ' . $direction;
|
||||||
} elseif($field == 'Subsite.Title') {
|
} elseif($field == 'Subsite.Title') {
|
||||||
$query->from[] = 'LEFT JOIN "Subsite" ON "Subsite"."ID" = "SiteTree"."SubsiteID"';
|
$query->from[] = 'LEFT JOIN "Subsite" ON "Subsite"."ID" = "SiteTree"."SubsiteID"';
|
||||||
}
|
}
|
||||||
|
@ -67,11 +67,9 @@ class ContentReviewTest extends FunctionalTest {
|
|||||||
'Contact Us'
|
'Contact Us'
|
||||||
));
|
));
|
||||||
|
|
||||||
SS_Datetime::set_mock_now('2010-02-13 12:00:00');
|
SS_Datetime::set_mock_now('2010-02-13 00:00:00');
|
||||||
|
|
||||||
$results = $report->sourceRecords(array(
|
$results = $report->sourceRecords(array(
|
||||||
), 'NextReviewDate ASC', false);
|
), 'NextReviewDate ASC', false);
|
||||||
|
|
||||||
$this->assertEquals($results->column('Title'), array(
|
$this->assertEquals($results->column('Title'), array(
|
||||||
'Home',
|
'Home',
|
||||||
'About Us'
|
'About Us'
|
||||||
|
Loading…
Reference in New Issue
Block a user