fix(legacy): ensure last played criteria works with never played files (#2840)
### Description Closes #2798 COALESCE last played null values with date -infinity, to ensure newly added files are found by the last played smart block criteria.
This commit is contained in:
parent
d80100a216
commit
24ee3830c2
|
@ -1689,31 +1689,22 @@ SQL;
|
||||||
// need to pull in the current time and subtract the value or figure out how to make it relative
|
// need to pull in the current time and subtract the value or figure out how to make it relative
|
||||||
$relativedate = new DateTime($spCriteriaValue);
|
$relativedate = new DateTime($spCriteriaValue);
|
||||||
$dt = $relativedate->format(DateTime::ISO8601);
|
$dt = $relativedate->format(DateTime::ISO8601);
|
||||||
// Logging::info($spCriteriaValue);
|
$spCriteriaValue = "COALESCE({$spCriteria}, DATE '-infinity') <= '{$dt}'";
|
||||||
$spCriteriaValue = "{$spCriteria} <= '{$dt}'";
|
|
||||||
} elseif ($spCriteriaModifier == 'after') {
|
} elseif ($spCriteriaModifier == 'after') {
|
||||||
$relativedate = new DateTime($spCriteriaValue);
|
$relativedate = new DateTime($spCriteriaValue);
|
||||||
$dt = $relativedate->format(DateTime::ISO8601);
|
$dt = $relativedate->format(DateTime::ISO8601);
|
||||||
// Logging::info($spCriteriaValue);
|
$spCriteriaValue = "COALESCE({$spCriteria}, DATE '-infinity') >= '{$dt}'";
|
||||||
$spCriteriaValue = "{$spCriteria} >= '{$dt}'";
|
|
||||||
} elseif ($spCriteriaModifier == 'between') {
|
} elseif ($spCriteriaModifier == 'between') {
|
||||||
$fromrelativedate = new DateTime($spCriteriaValue);
|
$fromrelativedate = new DateTime($spCriteriaValue);
|
||||||
$fdt = $fromrelativedate->format(DateTime::ISO8601);
|
$fdt = $fromrelativedate->format(DateTime::ISO8601);
|
||||||
// Logging::info($fdt);
|
|
||||||
|
|
||||||
$torelativedate = new DateTime($spCriteriaExtra);
|
$torelativedate = new DateTime($spCriteriaExtra);
|
||||||
$tdt = $torelativedate->format(DateTime::ISO8601);
|
$tdt = $torelativedate->format(DateTime::ISO8601);
|
||||||
// Logging::info($tdt);
|
$spCriteriaValue = "COALESCE({$spCriteria}, DATE '-infinity') >= '{$fdt}' AND COALESCE({$spCriteria}, DATE '-infinity') <= '{$tdt}'";
|
||||||
$spCriteriaValue = "{$spCriteria} >= '{$fdt}' AND {$spCriteria} <= '{$tdt}'";
|
|
||||||
}
|
}
|
||||||
// logging::info('before');
|
|
||||||
// logging::info($spCriteriaModifier);
|
|
||||||
|
|
||||||
$spCriteriaModifier = self::$modifier2CriteriaMap[$spCriteriaModifier];
|
$spCriteriaModifier = self::$modifier2CriteriaMap[$spCriteriaModifier];
|
||||||
|
|
||||||
// logging::info('after');
|
|
||||||
// logging::info($spCriteriaModifier);
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if ($spCriteria == 'owner_id') {
|
if ($spCriteria == 'owner_id') {
|
||||||
$spCriteria = 'subj.login';
|
$spCriteria = 'subj.login';
|
||||||
|
|
Loading…
Reference in New Issue