Files

51 lines
1.3 KiB
C++
Raw Permalink Normal View History

2017-12-19 00:17:48 +01:00
#include "getreportreply.h"
2017-12-10 11:56:00 +01:00
2017-12-10 19:08:08 +01:00
#include "zeiterfassungapi.h"
2017-12-19 00:17:48 +01:00
GetReportReply::GetReportReply(std::unique_ptr<QNetworkReply> &&reply, ZeiterfassungApi *zeiterfassung) :
2017-12-10 19:08:08 +01:00
ZeiterfassungReply(zeiterfassung),
m_reply(std::move(reply))
2017-12-10 19:08:08 +01:00
{
2017-12-19 00:17:48 +01:00
connect(m_reply.get(), &QNetworkReply::finished, this, &GetReportReply::request0Finished);
2017-12-10 19:08:08 +01:00
}
2017-12-19 00:17:48 +01:00
const QByteArray &GetReportReply::content() const
2017-12-10 19:08:08 +01:00
{
2017-12-19 00:17:48 +01:00
return m_content;
2017-12-10 19:08:08 +01:00
}
2017-12-19 00:17:48 +01:00
void GetReportReply::request0Finished()
2017-12-10 19:08:08 +01:00
{
if(m_reply->error() != QNetworkReply::NoError)
{
setSuccess(false);
2017-12-23 11:14:16 +01:00
setMessage(tr("Request error occured: %0").arg(m_reply->errorString()));
2017-12-10 19:08:08 +01:00
m_reply = Q_NULLPTR;
Q_EMIT finished();
return;
}
QUrl url(zeiterfassung()->url());
url.setPath(QString(m_reply->readAll()));
m_reply = std::unique_ptr<QNetworkReply>(zeiterfassung()->manager()->get(QNetworkRequest(url)));
2017-12-19 00:17:48 +01:00
connect(m_reply.get(), &QNetworkReply::finished, this, &GetReportReply::request1Finished);
2017-12-10 19:08:08 +01:00
}
2017-12-19 00:17:48 +01:00
void GetReportReply::request1Finished()
2017-12-10 19:08:08 +01:00
{
if(m_reply->error() != QNetworkReply::NoError)
{
setSuccess(false);
2017-12-23 11:14:16 +01:00
setMessage(tr("Request error occured: %0").arg(m_reply->errorString()));
2017-12-10 19:08:08 +01:00
goto end;
}
setSuccess(true);
2017-12-19 00:17:48 +01:00
m_content = m_reply->readAll();
2017-12-10 19:08:08 +01:00
end:
m_reply = Q_NULLPTR;
Q_EMIT finished();
2017-12-10 11:56:00 +01:00
}