Fixed: Active Ampeln now matching correctly time conditions

Before missing braces between AND/OR operands delivered wrong results.
This is fixed now.
This commit is contained in:
Cris
2020-04-29 13:16:32 +02:00
parent 5267bc5d7a
commit 4bcb2cc059
+13 -5
View File
@@ -45,11 +45,19 @@ class Ampel_model extends DB_Model
$query .= ' dauerampel = ? AND';
}
$query .= '(
(NOW()<(deadline+(COALESCE(verfallszeit,0) || \' days\')::interval)::date)
OR (verfallszeit IS NULL)
AND (NOW()>(deadline-(COALESCE(vorlaufzeit,0) || \' days\')::interval)::date)
OR (vorlaufzeit IS NULL AND NOW() < deadline))';
$query .= ' (
/* now < ( deadline + verfallszeit ) */
NOW() < (deadline + (COALESCE(verfallszeit, 0) || \' days\')::interval)::date
/* oder keine verfallszeit */
OR verfallszeit IS NULL
)
AND
(
/* now > ( deadline - vorlaufzeit ) */
NOW() > (deadline - (COALESCE(vorlaufzeit, 0) || \' days\')::interval)::date
/* oder keine vorlaufzeit (ab sofort) */
OR vorlaufzeit IS NULL
)';
$query .= ' ORDER BY deadline DESC';