diff --git a/zeiterfassungcorelib/zeiterfassungapi.cpp b/zeiterfassungcorelib/zeiterfassungapi.cpp index 34b11c2..16d0a02 100644 --- a/zeiterfassungcorelib/zeiterfassungapi.cpp +++ b/zeiterfassungcorelib/zeiterfassungapi.cpp @@ -9,20 +9,21 @@ #include #include -#include "replies/createbookingreply.h" -#include "replies/createtimeassignmentreply.h" -#include "replies/deletebookingreply.h" -#include "replies/deletetimeassignmentreply.h" -#include "replies/getreportreply.h" -#include "replies/getbookingsreply.h" -#include "replies/getpresencestatusreply.h" -#include "replies/getprojectsreply.h" -#include "replies/gettimeassignmentsreply.h" #include "replies/loginpagereply.h" #include "replies/loginreply.h" -#include "replies/updatebookingreply.h" -#include "replies/updatetimeassignmentreply.h" #include "replies/getuserinforeply.h" +#include "replies/getbookingsreply.h" +#include "replies/createbookingreply.h" +#include "replies/updatebookingreply.h" +#include "replies/deletebookingreply.h" +#include "replies/gettimeassignmentsreply.h" +#include "replies/createtimeassignmentreply.h" +#include "replies/updatetimeassignmentreply.h" +#include "replies/deletetimeassignmentreply.h" +#include "replies/getprojectsreply.h" +#include "replies/getreportreply.h" +#include "replies/getpresencestatusreply.h" +#include "replies/getabsencesreply.h" //add support for pre cpp14 compilers #include "cpp14polyfills.h" @@ -286,3 +287,15 @@ std::unique_ptr ZeiterfassungApi::doGetPresenceStatus() return std::make_unique(std::unique_ptr(m_manager->get(request)), this); } + +std::unique_ptr ZeiterfassungApi::doGetAbsences(int userId, const QDate &start, const QDate &end) +{ + QNetworkRequest request(QUrl(QStringLiteral("%0json/fulldayAbsences?start=%1&end=%2&pnrLst=%3") + .arg(m_url) + .arg(start.toString(QStringLiteral("yyyyMMdd"))) + .arg(end.toString(QStringLiteral("yyyyMMdd"))) + .arg(userId))); + request.setRawHeader(QByteArrayLiteral("sisAppName"), QByteArrayLiteral("bookingCalendar")); + + return std::make_unique(std::unique_ptr(m_manager->get(request)), this); +} diff --git a/zeiterfassungcorelib/zeiterfassungapi.h b/zeiterfassungcorelib/zeiterfassungapi.h index b1320ee..8af9b71 100644 --- a/zeiterfassungcorelib/zeiterfassungapi.h +++ b/zeiterfassungcorelib/zeiterfassungapi.h @@ -25,6 +25,7 @@ class DeleteTimeAssignmentReply; class GetProjectsReply; class GetReportReply; class GetPresenceStatusReply; +class GetAbsencesReply; class ZEITERFASSUNGCORELIBSHARED_EXPORT ZeiterfassungApi : public QObject { @@ -63,6 +64,7 @@ public: std::unique_ptr doGetProjects(int userId, const QDate &date); std::unique_ptr doGetReport(int userId, const QDate &date); std::unique_ptr doGetPresenceStatus(); + std::unique_ptr doGetAbsences(int userId, const QDate &start, const QDate &end); private: QString m_url;