From 25e81aa0bb208077cb1160257ebb3b3794c5aeef Mon Sep 17 00:00:00 2001 From: 0xFEEDC0DE64 <0xFEEDC0DE64@gmail.com> Date: Wed, 20 Dec 2017 18:58:45 +0100 Subject: [PATCH] Fixed bookings being marked as modified #20 --- .../replies/createbookingreply.cpp | 44 ++----------------- zeiterfassunglib/replies/createbookingreply.h | 3 -- zeiterfassunglib/zeiterfassungapi.cpp | 5 ++- 3 files changed, 6 insertions(+), 46 deletions(-) diff --git a/zeiterfassunglib/replies/createbookingreply.cpp b/zeiterfassunglib/replies/createbookingreply.cpp index 07cd2c3..2083164 100644 --- a/zeiterfassunglib/replies/createbookingreply.cpp +++ b/zeiterfassunglib/replies/createbookingreply.cpp @@ -1,23 +1,12 @@ #include "createbookingreply.h" -#include -#include -#include -#include - CreateBookingReply::CreateBookingReply(std::unique_ptr &&reply, ZeiterfassungApi *zeiterfassung) : ZeiterfassungReply(zeiterfassung), - m_reply(std::move(reply)), - m_bookingId(-1) + m_reply(std::move(reply)) { connect(m_reply.get(), &QNetworkReply::finished, this, &CreateBookingReply::requestFinished); } -int CreateBookingReply::bookingId() const -{ - return m_bookingId; -} - void CreateBookingReply::requestFinished() { if(m_reply->error() != QNetworkReply::NoError) @@ -27,35 +16,8 @@ void CreateBookingReply::requestFinished() goto end; } - { - QJsonParseError error; - QJsonDocument document = QJsonDocument::fromJson(m_reply->readAll(), &error); - if(error.error != QJsonParseError::NoError) - { - setSuccess(false); - setMessage(tr("Parsing JSON failed: %0").arg(error.errorString())); - goto end; - } - - if(!document.isObject()) - { - setSuccess(false); - setMessage(tr("JSON document is not an object!")); - goto end; - } - - auto obj = document.object(); - - if(!obj.contains(QStringLiteral("bookingNr"))) - { - setSuccess(false); - setMessage(tr("JSON does not contain bookingNr!")); - goto end; - } - - setSuccess(true); - m_bookingId = obj.value(QStringLiteral("bookingNr")).toInt(); - } + // empty response so nothing to check + setSuccess(true); end: m_reply = Q_NULLPTR; diff --git a/zeiterfassunglib/replies/createbookingreply.h b/zeiterfassunglib/replies/createbookingreply.h index 7111181..90bf397 100644 --- a/zeiterfassunglib/replies/createbookingreply.h +++ b/zeiterfassunglib/replies/createbookingreply.h @@ -15,14 +15,11 @@ class ZEITERFASSUNGLIBSHARED_EXPORT CreateBookingReply : public ZeiterfassungRep public: CreateBookingReply(std::unique_ptr &&reply, ZeiterfassungApi *zeiterfassung); - int bookingId() const; - private Q_SLOTS: void requestFinished(); private: std::unique_ptr m_reply; - int m_bookingId; }; #endif // CREATEBOOKINGREPLY_H diff --git a/zeiterfassunglib/zeiterfassungapi.cpp b/zeiterfassunglib/zeiterfassungapi.cpp index ffdfa24..0b4298e 100644 --- a/zeiterfassunglib/zeiterfassungapi.cpp +++ b/zeiterfassunglib/zeiterfassungapi.cpp @@ -98,9 +98,9 @@ std::unique_ptr ZeiterfassungApi::doGetBookings(int userId, co std::unique_ptr ZeiterfassungApi::doCreateBooking(int userId, const QDate &date, const QTime &time, const QTime ×pan, const QString &type, const QString &text) { - QNetworkRequest request(QUrl(m_url % "json/booking")); + QNetworkRequest request(QUrl(m_url % "json/terminalPageController/evoTerminalBooking")); request.setHeader(QNetworkRequest::ContentTypeHeader, QByteArrayLiteral("application/json")); - request.setRawHeader(QByteArrayLiteral("sisAppName"), QByteArrayLiteral("bookingCalendar")); + request.setRawHeader(QByteArrayLiteral("sisAppName"), QByteArrayLiteral("terminal")); QJsonObject obj; obj[QStringLiteral("persNr")] = userId; @@ -111,6 +111,7 @@ std::unique_ptr ZeiterfassungApi::doCreateBooking(int userId obj[QStringLiteral("hourCategory")] = QStringLiteral(""); obj[QStringLiteral("empfEinh")] = QStringLiteral(""); obj[QStringLiteral("bewEinh")] = QStringLiteral(""); + obj[QStringLiteral("einstuf")] = QStringLiteral(""); obj[QStringLiteral("text")] = text; auto reply = std::unique_ptr(m_manager->post(request, QJsonDocument(obj).toJson()));