From 968bf48fedb9f5c7f8e0f59971319784fca1beee Mon Sep 17 00:00:00 2001 From: Fred Gleason Date: Fri, 3 Jan 2020 14:32:56 -0500 Subject: [PATCH] 2020-01-03 Fred Gleason * Fixed a regression in the Web API that caused the 'origindatetime', 'startdatetime' and 'enddatetime' to be incorrect and/or corrupt in served XML documents. --- ChangeLog | 4 ++++ lib/rdcut.cpp | 10 +++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index ce4dab8d..87be3a2a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -19383,3 +19383,7 @@ * Fixed a bug in the 'rivwebcapi' validate_tm() function that caused dates containing '29 February' to always fail regardless of leap-year validity. +2020-01-03 Fred Gleason + * Fixed a regression in the Web API that caused the + 'origindatetime', 'startdatetime' and 'enddatetime' to be incorrect + and/or corrupt in served XML documents. diff --git a/lib/rdcut.cpp b/lib/rdcut.cpp index 5b8d1047..66613263 100644 --- a/lib/rdcut.cpp +++ b/lib/rdcut.cpp @@ -1448,6 +1448,10 @@ void RDCut::disconnect(QObject *receiver,const char *member) const QString RDCut::xml(RDSqlQuery *q,bool absolute,RDSettings *settings) { + // + // The 'RDSqlQuery *q' query should be generated using the field + // definitions provided by 'RDCart::xmlSql()'. + // QString xml=""; xml+="\n"; @@ -1465,19 +1469,19 @@ QString RDCut::xml(RDSqlQuery *q,bool absolute,RDSettings *settings) xml+=" "+RDXmlField("originDatetime",""); } else { - xml+=" "+RDXmlField("originDatetime",q->value(36).toDateTime()); + xml+=" "+RDXmlField("originDatetime",q->value(38).toDateTime()); } if(q->value(39).isNull()) { xml+=" "+RDXmlField("startDatetime",""); } else { - xml+=" "+RDXmlField("startDatetime",q->value(37).toDateTime()); + xml+=" "+RDXmlField("startDatetime",q->value(39).toDateTime()); } if(q->value(40).isNull()) { xml+=" "+RDXmlField("endDatetime",""); } else { - xml+=" "+RDXmlField("endDatetime",q->value(38).toDateTime()); + xml+=" "+RDXmlField("endDatetime",q->value(40).toDateTime()); } xml+=" "+RDXmlField("sun",RDBool(q->value(41).toString())); xml+=" "+RDXmlField("mon",RDBool(q->value(42).toString()));