Release v1.4 #11

Merged
0xFEEDC0DE64 merged 16 commits from devel into master 2017-12-17 17:14:39 +01:00
168 changed files with 1932 additions and 1266 deletions
Showing only changes of commit a1138041f0 - Show all commits

View File

@@ -24,7 +24,7 @@
#include "mainwindow.h" #include "mainwindow.h"
#include "replies/loginpagereply.h" #include "replies/loginpagereply.h"
#include "replies/loginreply.h" #include "replies/loginreply.h"
#include "replies/userinforeply.h" #include "replies/getuserinforeply.h"
#include "stripfactory.h" #include "stripfactory.h"
struct { struct {
@@ -250,7 +250,7 @@ bool doAuthentication(QSplashScreen &splashScreen, ZeiterfassungSettings &settin
return true; return true;
} }
bool loadUserInfo(QSplashScreen &splashScreen, ZeiterfassungApi &erfassung, ZeiterfassungApi::UserInfo &userInfo) bool loadUserInfo(QSplashScreen &splashScreen, ZeiterfassungApi &erfassung, GetUserInfoReply::UserInfo &userInfo)
{ {
splashScreen.showMessage(QCoreApplication::translate("main", "Getting user information...")); splashScreen.showMessage(QCoreApplication::translate("main", "Getting user information..."));
@@ -370,7 +370,7 @@ int main(int argc, char *argv[])
if(!doAuthentication(splashScreen, settings, erfassung)) if(!doAuthentication(splashScreen, settings, erfassung))
return -5; return -5;
ZeiterfassungApi::UserInfo userInfo; GetUserInfoReply::UserInfo userInfo;
if(!loadUserInfo(splashScreen, erfassung, userInfo)) if(!loadUserInfo(splashScreen, erfassung, userInfo))
return -6; return -6;

View File

@@ -20,113 +20,113 @@
<context> <context>
<name>main</name> <name>main</name>
<message> <message>
<location filename="../main.cpp" line="345"/> <location filename="../main.cpp" line="347"/>
<source>Loading settings...</source> <source>Loading settings...</source>
<translation>Lade Einstellungen...</translation> <translation>Lade Einstellungen...</translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="60"/> <location filename="../main.cpp" line="62"/>
<source>Loading translations...</source> <source>Loading translations...</source>
<translation>Lade Übersetzungen...</translation> <translation>Lade Übersetzungen...</translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="72"/> <location filename="../main.cpp" line="74"/>
<location filename="../main.cpp" line="73"/> <location filename="../main.cpp" line="75"/>
<source>Invalid language selection!</source> <source>Invalid language selection!</source>
<translation>Ungültige Sprachauswahl!</translation> <translation>Ungültige Sprachauswahl!</translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="74"/> <location filename="../main.cpp" line="76"/>
<source>You did not select a valid language!</source> <source>You did not select a valid language!</source>
<translation>Sie haben keine gültige Sprachauswahl getroffen!</translation> <translation>Sie haben keine gültige Sprachauswahl getroffen!</translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="94"/> <location filename="../main.cpp" line="96"/>
<source>Loading theme...</source> <source>Loading theme...</source>
<translation>Lade Aussehen...</translation> <translation>Lade Aussehen...</translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="105"/> <location filename="../main.cpp" line="107"/>
<location filename="../main.cpp" line="106"/> <location filename="../main.cpp" line="108"/>
<location filename="../main.cpp" line="113"/> <location filename="../main.cpp" line="115"/>
<location filename="../main.cpp" line="114"/> <location filename="../main.cpp" line="116"/>
<source>Could not load theme!</source> <source>Could not load theme!</source>
<translation>Konnte Aussehen nicht laden!</translation> <translation>Konnte Aussehen nicht laden!</translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="107"/> <location filename="../main.cpp" line="109"/>
<source>Theme file does not exist!</source> <source>Theme file does not exist!</source>
<translation>Aussehen-Datei existiert nicht!</translation> <translation>Aussehen-Datei existiert nicht!</translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="171"/> <location filename="../main.cpp" line="173"/>
<source>Loading login page...</source> <source>Loading login page...</source>
<translation>Lade Login-Seite...</translation> <translation>Lade Login-Seite...</translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="184"/> <location filename="../main.cpp" line="186"/>
<location filename="../main.cpp" line="185"/> <location filename="../main.cpp" line="187"/>
<source>Could not access Zeiterfassung!</source> <source>Could not access Zeiterfassung!</source>
<translation>Konnte Zeiterfassung nicht erreichen!</translation> <translation>Konnte Zeiterfassung nicht erreichen!</translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="188"/> <location filename="../main.cpp" line="190"/>
<source>Base url</source> <source>Base url</source>
<translation>Basis URL</translation> <translation>Basis URL</translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="189"/> <location filename="../main.cpp" line="191"/>
<source>Please enter the base url to the Zeiterfassung:</source> <source>Please enter the base url to the Zeiterfassung:</source>
<translation>Bitte geben Sie die Basis URL zur Zeiterfassung ein:</translation> <translation>Bitte geben Sie die Basis URL zur Zeiterfassung ein:</translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="206"/> <location filename="../main.cpp" line="208"/>
<source>Authenticating...</source> <source>Authenticating...</source>
<translation>Authentifiziere...</translation> <translation>Authentifiziere...</translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="231"/> <location filename="../main.cpp" line="233"/>
<location filename="../main.cpp" line="232"/> <location filename="../main.cpp" line="234"/>
<source>Could not authenticate with Zeiterfassung!</source> <source>Could not authenticate with Zeiterfassung!</source>
<translation>Konnte nicht mit Zeiterfassung authentifizieren!</translation> <translation>Konnte nicht mit Zeiterfassung authentifizieren!</translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="253"/> <location filename="../main.cpp" line="255"/>
<source>Getting user information...</source> <source>Getting user information...</source>
<translation>Hole Benutzer Information...</translation> <translation>Hole Benutzer Information...</translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="266"/> <location filename="../main.cpp" line="268"/>
<location filename="../main.cpp" line="267"/> <location filename="../main.cpp" line="269"/>
<source>Could not get user information!</source> <source>Could not get user information!</source>
<translation>Konnte Benutzer Information nicht holen!</translation> <translation>Konnte Benutzer Information nicht holen!</translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="300"/> <location filename="../main.cpp" line="302"/>
<location filename="../main.cpp" line="301"/> <location filename="../main.cpp" line="303"/>
<source>Could not load plugin %0!</source> <source>Could not load plugin %0!</source>
<translation>Konnte Plugin %0 nicht laden!</translation> <translation>Konnte Plugin %0 nicht laden!</translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="311"/> <location filename="../main.cpp" line="313"/>
<location filename="../main.cpp" line="312"/> <location filename="../main.cpp" line="314"/>
<source>Plugin not valid %0!</source> <source>Plugin not valid %0!</source>
<translation>Plugin %0 nicht gültig!</translation> <translation>Plugin %0 nicht gültig!</translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="127"/> <location filename="../main.cpp" line="129"/>
<source>Loading strip layouts...</source> <source>Loading strip layouts...</source>
<translation>Lade Streifenlayouts...</translation> <translation>Lade Streifenlayouts...</translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="131"/> <location filename="../main.cpp" line="133"/>
<location filename="../main.cpp" line="132"/> <location filename="../main.cpp" line="134"/>
<location filename="../main.cpp" line="140"/> <location filename="../main.cpp" line="142"/>
<location filename="../main.cpp" line="141"/> <location filename="../main.cpp" line="143"/>
<location filename="../main.cpp" line="150"/> <location filename="../main.cpp" line="152"/>
<location filename="../main.cpp" line="151"/> <location filename="../main.cpp" line="153"/>
<location filename="../main.cpp" line="160"/> <location filename="../main.cpp" line="162"/>
<location filename="../main.cpp" line="161"/> <location filename="../main.cpp" line="163"/>
<source>Could not load strips!</source> <source>Could not load strips!</source>
<translation>Konnte Streifenlayouts nicht laden!</translation> <translation>Konnte Streifenlayouts nicht laden!</translation>
</message> </message>

View File

@@ -20,113 +20,113 @@
<context> <context>
<name>main</name> <name>main</name>
<message> <message>
<location filename="../main.cpp" line="345"/> <location filename="../main.cpp" line="347"/>
<source>Loading settings...</source> <source>Loading settings...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="60"/> <location filename="../main.cpp" line="62"/>
<source>Loading translations...</source> <source>Loading translations...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="72"/> <location filename="../main.cpp" line="74"/>
<location filename="../main.cpp" line="73"/> <location filename="../main.cpp" line="75"/>
<source>Invalid language selection!</source> <source>Invalid language selection!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="74"/> <location filename="../main.cpp" line="76"/>
<source>You did not select a valid language!</source> <source>You did not select a valid language!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="94"/> <location filename="../main.cpp" line="96"/>
<source>Loading theme...</source> <source>Loading theme...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="105"/> <location filename="../main.cpp" line="107"/>
<location filename="../main.cpp" line="106"/> <location filename="../main.cpp" line="108"/>
<location filename="../main.cpp" line="113"/> <location filename="../main.cpp" line="115"/>
<location filename="../main.cpp" line="114"/> <location filename="../main.cpp" line="116"/>
<source>Could not load theme!</source> <source>Could not load theme!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="107"/> <location filename="../main.cpp" line="109"/>
<source>Theme file does not exist!</source> <source>Theme file does not exist!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="171"/> <location filename="../main.cpp" line="173"/>
<source>Loading login page...</source> <source>Loading login page...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="184"/> <location filename="../main.cpp" line="186"/>
<location filename="../main.cpp" line="185"/> <location filename="../main.cpp" line="187"/>
<source>Could not access Zeiterfassung!</source> <source>Could not access Zeiterfassung!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="188"/> <location filename="../main.cpp" line="190"/>
<source>Base url</source> <source>Base url</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="189"/> <location filename="../main.cpp" line="191"/>
<source>Please enter the base url to the Zeiterfassung:</source> <source>Please enter the base url to the Zeiterfassung:</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="206"/> <location filename="../main.cpp" line="208"/>
<source>Authenticating...</source> <source>Authenticating...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="231"/> <location filename="../main.cpp" line="233"/>
<location filename="../main.cpp" line="232"/> <location filename="../main.cpp" line="234"/>
<source>Could not authenticate with Zeiterfassung!</source> <source>Could not authenticate with Zeiterfassung!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="253"/> <location filename="../main.cpp" line="255"/>
<source>Getting user information...</source> <source>Getting user information...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="266"/> <location filename="../main.cpp" line="268"/>
<location filename="../main.cpp" line="267"/> <location filename="../main.cpp" line="269"/>
<source>Could not get user information!</source> <source>Could not get user information!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="300"/> <location filename="../main.cpp" line="302"/>
<location filename="../main.cpp" line="301"/> <location filename="../main.cpp" line="303"/>
<source>Could not load plugin %0!</source> <source>Could not load plugin %0!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="311"/> <location filename="../main.cpp" line="313"/>
<location filename="../main.cpp" line="312"/> <location filename="../main.cpp" line="314"/>
<source>Plugin not valid %0!</source> <source>Plugin not valid %0!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="127"/> <location filename="../main.cpp" line="129"/>
<source>Loading strip layouts...</source> <source>Loading strip layouts...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../main.cpp" line="131"/> <location filename="../main.cpp" line="133"/>
<location filename="../main.cpp" line="132"/> <location filename="../main.cpp" line="134"/>
<location filename="../main.cpp" line="140"/> <location filename="../main.cpp" line="142"/>
<location filename="../main.cpp" line="141"/> <location filename="../main.cpp" line="143"/>
<location filename="../main.cpp" line="150"/> <location filename="../main.cpp" line="152"/>
<location filename="../main.cpp" line="151"/> <location filename="../main.cpp" line="153"/>
<location filename="../main.cpp" line="160"/> <location filename="../main.cpp" line="162"/>
<location filename="../main.cpp" line="161"/> <location filename="../main.cpp" line="163"/>
<source>Could not load strips!</source> <source>Could not load strips!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>

View File

@@ -1,10 +1,9 @@
#include "aboutmedialog.h" #include "aboutmedialog.h"
#include "ui_aboutmedialog.h" #include "ui_aboutmedialog.h"
AboutMeDialog::AboutMeDialog(const ZeiterfassungApi::UserInfo &userInfo, QWidget *parent) : AboutMeDialog::AboutMeDialog(const GetUserInfoReply::UserInfo &userInfo, QWidget *parent) :
QDialog(parent), QDialog(parent),
ui(new Ui::AboutMeDialog), ui(new Ui::AboutMeDialog)
m_userInfo(userInfo)
{ {
ui->setupUi(this); ui->setupUi(this);

View File

@@ -4,7 +4,7 @@
#include <QDialog> #include <QDialog>
#include "zeiterfassunglib_global.h" #include "zeiterfassunglib_global.h"
#include "zeiterfassungapi.h" #include "replies/getuserinforeply.h"
namespace Ui { class AboutMeDialog; } namespace Ui { class AboutMeDialog; }
@@ -13,12 +13,11 @@ class ZEITERFASSUNGLIBSHARED_EXPORT AboutMeDialog : public QDialog
Q_OBJECT Q_OBJECT
public: public:
explicit AboutMeDialog(const ZeiterfassungApi::UserInfo &userInfo, QWidget *parent = Q_NULLPTR); explicit AboutMeDialog(const GetUserInfoReply::UserInfo &userInfo, QWidget *parent = Q_NULLPTR);
~AboutMeDialog(); ~AboutMeDialog();
private: private:
Ui::AboutMeDialog *ui; Ui::AboutMeDialog *ui;
const ZeiterfassungApi::UserInfo &m_userInfo;
}; };
#endif // ABOUTMEDIALOG_H #endif // ABOUTMEDIALOG_H

View File

@@ -15,6 +15,7 @@
#include <QRegularExpression> #include <QRegularExpression>
#include <QDebug> #include <QDebug>
#include "zeiterfassungapi.h"
#include "timeutils.h" #include "timeutils.h"
#include "zeiterfassungsettings.h" #include "zeiterfassungsettings.h"
#include "stripfactory.h" #include "stripfactory.h"
@@ -36,7 +37,7 @@
#include "replies/createtimeassignmentreply.h" #include "replies/createtimeassignmentreply.h"
#include "replies/createbookingreply.h" #include "replies/createbookingreply.h"
MainWindow::MainWindow(ZeiterfassungSettings &settings, ZeiterfassungApi &erfassung, const ZeiterfassungApi::UserInfo &userInfo, MainWindow::MainWindow(ZeiterfassungSettings &settings, ZeiterfassungApi &erfassung, const GetUserInfoReply::UserInfo &userInfo,
StripFactory &stripFactory, QWidget *parent) : StripFactory &stripFactory, QWidget *parent) :
QMainWindow(parent), QMainWindow(parent),
ui(new Ui::MainWindow), ui(new Ui::MainWindow),
@@ -155,7 +156,7 @@ ZeiterfassungApi &MainWindow::erfassung() const
return m_erfassung; return m_erfassung;
} }
const ZeiterfassungApi::UserInfo &MainWindow::userInfo() const const GetUserInfoReply::UserInfo &MainWindow::userInfo() const
{ {
return m_userInfo; return m_userInfo;
} }

View File

@@ -7,7 +7,7 @@
#include <QMap> #include <QMap>
#include "zeiterfassunglib_global.h" #include "zeiterfassunglib_global.h"
#include "zeiterfassungapi.h" #include "replies/getuserinforeply.h"
#include "replies/getprojectsreply.h" #include "replies/getprojectsreply.h"
#include "replies/getauswertungreply.h" #include "replies/getauswertungreply.h"
#include "replies/getpresencestatusreply.h" #include "replies/getpresencestatusreply.h"
@@ -27,7 +27,7 @@ class ZEITERFASSUNGLIBSHARED_EXPORT MainWindow : public QMainWindow
Q_OBJECT Q_OBJECT
public: public:
explicit MainWindow(ZeiterfassungSettings &settings, ZeiterfassungApi &erfassung, const ZeiterfassungApi::UserInfo &userInfo, explicit MainWindow(ZeiterfassungSettings &settings, ZeiterfassungApi &erfassung, const GetUserInfoReply::UserInfo &userInfo,
StripFactory &stripFactory, QWidget *parent = Q_NULLPTR); StripFactory &stripFactory, QWidget *parent = Q_NULLPTR);
~MainWindow(); ~MainWindow();
@@ -38,7 +38,7 @@ public:
ZeiterfassungSettings &settings() const; ZeiterfassungSettings &settings() const;
ZeiterfassungApi &erfassung() const; ZeiterfassungApi &erfassung() const;
const ZeiterfassungApi::UserInfo &userInfo() const; const GetUserInfoReply::UserInfo &userInfo() const;
StripFactory &stripFactory() const; StripFactory &stripFactory() const;
private Q_SLOTS: private Q_SLOTS:
@@ -63,7 +63,7 @@ private:
Ui::MainWindow *ui; Ui::MainWindow *ui;
ZeiterfassungSettings &m_settings; ZeiterfassungSettings &m_settings;
ZeiterfassungApi &m_erfassung; ZeiterfassungApi &m_erfassung;
const ZeiterfassungApi::UserInfo &m_userInfo; const GetUserInfoReply::UserInfo &m_userInfo;
StripFactory &m_stripFactory; StripFactory &m_stripFactory;
std::unique_ptr<GetProjectsReply> m_getProjectsReply; std::unique_ptr<GetProjectsReply> m_getProjectsReply;

View File

@@ -6,6 +6,8 @@
#include <QJsonValue> #include <QJsonValue>
#include <QJsonObject> #include <QJsonObject>
#include "zeiterfassungapi.h"
GetBookingsReply::GetBookingsReply(std::unique_ptr<QNetworkReply> &&reply, ZeiterfassungApi *zeiterfassung) : GetBookingsReply::GetBookingsReply(std::unique_ptr<QNetworkReply> &&reply, ZeiterfassungApi *zeiterfassung) :
ZeiterfassungReply(zeiterfassung), ZeiterfassungReply(zeiterfassung),
m_reply(std::move(reply)) m_reply(std::move(reply))
@@ -13,7 +15,7 @@ GetBookingsReply::GetBookingsReply(std::unique_ptr<QNetworkReply> &&reply, Zeite
connect(m_reply.get(), &QNetworkReply::finished, this, &GetBookingsReply::requestFinished); connect(m_reply.get(), &QNetworkReply::finished, this, &GetBookingsReply::requestFinished);
} }
const QVector<ZeiterfassungApi::Booking> &GetBookingsReply::bookings() const const QVector<GetBookingsReply::Booking> &GetBookingsReply::bookings() const
{ {
return m_bookings; return m_bookings;
} }

View File

@@ -8,7 +8,8 @@
#include "zeiterfassunglib_global.h" #include "zeiterfassunglib_global.h"
#include "zeiterfassungreply.h" #include "zeiterfassungreply.h"
#include "zeiterfassungapi.h"
class ZeiterfassungApi;
class ZEITERFASSUNGLIBSHARED_EXPORT GetBookingsReply : public ZeiterfassungReply class ZEITERFASSUNGLIBSHARED_EXPORT GetBookingsReply : public ZeiterfassungReply
{ {
@@ -17,14 +18,24 @@ class ZEITERFASSUNGLIBSHARED_EXPORT GetBookingsReply : public ZeiterfassungReply
public: public:
GetBookingsReply(std::unique_ptr<QNetworkReply> &&reply, ZeiterfassungApi *zeiterfassung); GetBookingsReply(std::unique_ptr<QNetworkReply> &&reply, ZeiterfassungApi *zeiterfassung);
const QVector<ZeiterfassungApi::Booking> &bookings() const; struct Booking
{
int id;
QDate date;
QTime time;
QTime timespan;
QString type;
QString text;
};
const QVector<Booking> &bookings() const;
private Q_SLOTS: private Q_SLOTS:
void requestFinished(); void requestFinished();
private: private:
std::unique_ptr<QNetworkReply> m_reply; std::unique_ptr<QNetworkReply> m_reply;
QVector<ZeiterfassungApi::Booking> m_bookings; QVector<Booking> m_bookings;
}; };
#endif // GETBOOKINGSREPLY_H #endif // GETBOOKINGSREPLY_H

View File

@@ -6,6 +6,8 @@
#include <QJsonValue> #include <QJsonValue>
#include <QJsonObject> #include <QJsonObject>
#include "zeiterfassungapi.h"
GetPresenceStatusReply::GetPresenceStatusReply(std::unique_ptr<QNetworkReply> &&reply, ZeiterfassungApi *zeiterfassung) : GetPresenceStatusReply::GetPresenceStatusReply(std::unique_ptr<QNetworkReply> &&reply, ZeiterfassungApi *zeiterfassung) :
ZeiterfassungReply(zeiterfassung), ZeiterfassungReply(zeiterfassung),
m_reply(std::move(reply)) m_reply(std::move(reply))
@@ -13,7 +15,7 @@ GetPresenceStatusReply::GetPresenceStatusReply(std::unique_ptr<QNetworkReply> &&
connect(m_reply.get(), &QNetworkReply::finished, this, &GetPresenceStatusReply::requestFinished); connect(m_reply.get(), &QNetworkReply::finished, this, &GetPresenceStatusReply::requestFinished);
} }
const QVector<ZeiterfassungApi::PresenceStatus> &GetPresenceStatusReply::presenceStatuses() const const QVector<GetPresenceStatusReply::PresenceStatus> &GetPresenceStatusReply::presenceStatuses() const
{ {
return m_presenceStatuses; return m_presenceStatuses;
} }

View File

@@ -7,7 +7,8 @@
#include "zeiterfassunglib_global.h" #include "zeiterfassunglib_global.h"
#include "zeiterfassungreply.h" #include "zeiterfassungreply.h"
#include "zeiterfassungapi.h"
class ZeiterfassungApi;
class ZEITERFASSUNGLIBSHARED_EXPORT GetPresenceStatusReply : public ZeiterfassungReply class ZEITERFASSUNGLIBSHARED_EXPORT GetPresenceStatusReply : public ZeiterfassungReply
{ {
@@ -16,14 +17,22 @@ class ZEITERFASSUNGLIBSHARED_EXPORT GetPresenceStatusReply : public Zeiterfassun
public: public:
explicit GetPresenceStatusReply(std::unique_ptr<QNetworkReply> &&reply, ZeiterfassungApi *zeiterfassung); explicit GetPresenceStatusReply(std::unique_ptr<QNetworkReply> &&reply, ZeiterfassungApi *zeiterfassung);
const QVector<ZeiterfassungApi::PresenceStatus> &presenceStatuses() const; struct PresenceStatus
{
int userId;
QString firstName;
QString lastName;
QString presence;
};
const QVector<PresenceStatus> &presenceStatuses() const;
private Q_SLOTS: private Q_SLOTS:
void requestFinished(); void requestFinished();
private: private:
std::unique_ptr<QNetworkReply> m_reply; std::unique_ptr<QNetworkReply> m_reply;
QVector<ZeiterfassungApi::PresenceStatus> m_presenceStatuses; QVector<PresenceStatus> m_presenceStatuses;
}; };
#endif // GETPRESENCESTATUSREPLY_H #endif // GETPRESENCESTATUSREPLY_H

View File

@@ -6,6 +6,8 @@
#include <QJsonValue> #include <QJsonValue>
#include <QJsonArray> #include <QJsonArray>
#include "zeiterfassungapi.h"
GetProjectsReply::GetProjectsReply(std::unique_ptr<QNetworkReply> &&reply, ZeiterfassungApi *zeiterfassung) : GetProjectsReply::GetProjectsReply(std::unique_ptr<QNetworkReply> &&reply, ZeiterfassungApi *zeiterfassung) :
ZeiterfassungReply(zeiterfassung), ZeiterfassungReply(zeiterfassung),
m_reply(std::move(reply)) m_reply(std::move(reply))
@@ -13,7 +15,7 @@ GetProjectsReply::GetProjectsReply(std::unique_ptr<QNetworkReply> &&reply, Zeite
connect(m_reply.get(), &QNetworkReply::finished, this, &GetProjectsReply::requestFinished); connect(m_reply.get(), &QNetworkReply::finished, this, &GetProjectsReply::requestFinished);
} }
const QVector<ZeiterfassungApi::Project> &GetProjectsReply::projects() const const QVector<GetProjectsReply::Project> &GetProjectsReply::projects() const
{ {
return m_projects; return m_projects;
} }

View File

@@ -8,7 +8,8 @@
#include "zeiterfassunglib_global.h" #include "zeiterfassunglib_global.h"
#include "zeiterfassungreply.h" #include "zeiterfassungreply.h"
#include "zeiterfassungapi.h"
class ZeiterfassungApi;
class ZEITERFASSUNGLIBSHARED_EXPORT GetProjectsReply : public ZeiterfassungReply class ZEITERFASSUNGLIBSHARED_EXPORT GetProjectsReply : public ZeiterfassungReply
{ {
@@ -17,14 +18,20 @@ class ZEITERFASSUNGLIBSHARED_EXPORT GetProjectsReply : public ZeiterfassungReply
public: public:
GetProjectsReply(std::unique_ptr<QNetworkReply> &&reply, ZeiterfassungApi *zeiterfassung); GetProjectsReply(std::unique_ptr<QNetworkReply> &&reply, ZeiterfassungApi *zeiterfassung);
const QVector<ZeiterfassungApi::Project> &projects() const; struct Project
{
QString label;
QString value;
};
const QVector<Project> &projects() const;
private Q_SLOTS: private Q_SLOTS:
void requestFinished(); void requestFinished();
private: private:
std::unique_ptr<QNetworkReply> m_reply; std::unique_ptr<QNetworkReply> m_reply;
QVector<ZeiterfassungApi::Project> m_projects; QVector<Project> m_projects;
}; };
#endif // GETPROJECTSREPLY_H #endif // GETPROJECTSREPLY_H

View File

@@ -7,6 +7,8 @@
#include <QJsonValue> #include <QJsonValue>
#include <QJsonObject> #include <QJsonObject>
#include "zeiterfassungapi.h"
GetTimeAssignmentsReply::GetTimeAssignmentsReply(std::unique_ptr<QNetworkReply> &&reply, ZeiterfassungApi *zeiterfassung) : GetTimeAssignmentsReply::GetTimeAssignmentsReply(std::unique_ptr<QNetworkReply> &&reply, ZeiterfassungApi *zeiterfassung) :
ZeiterfassungReply(zeiterfassung), ZeiterfassungReply(zeiterfassung),
m_reply(std::move(reply)) m_reply(std::move(reply))
@@ -14,7 +16,7 @@ GetTimeAssignmentsReply::GetTimeAssignmentsReply(std::unique_ptr<QNetworkReply>
connect(m_reply.get(), &QNetworkReply::finished, this, &GetTimeAssignmentsReply::requestFinished); connect(m_reply.get(), &QNetworkReply::finished, this, &GetTimeAssignmentsReply::requestFinished);
} }
const QVector<ZeiterfassungApi::TimeAssignment> &GetTimeAssignmentsReply::timeAssignments() const const QVector<GetTimeAssignmentsReply::TimeAssignment> &GetTimeAssignmentsReply::timeAssignments() const
{ {
return m_timeAssignments; return m_timeAssignments;
} }

View File

@@ -8,7 +8,8 @@
#include "zeiterfassunglib_global.h" #include "zeiterfassunglib_global.h"
#include "zeiterfassungreply.h" #include "zeiterfassungreply.h"
#include "zeiterfassungapi.h"
class ZeiterfassungApi;
class ZEITERFASSUNGLIBSHARED_EXPORT GetTimeAssignmentsReply : public ZeiterfassungReply class ZEITERFASSUNGLIBSHARED_EXPORT GetTimeAssignmentsReply : public ZeiterfassungReply
{ {
@@ -17,14 +18,26 @@ class ZEITERFASSUNGLIBSHARED_EXPORT GetTimeAssignmentsReply : public Zeiterfassu
public: public:
GetTimeAssignmentsReply(std::unique_ptr<QNetworkReply> &&reply, ZeiterfassungApi *zeiterfassung); GetTimeAssignmentsReply(std::unique_ptr<QNetworkReply> &&reply, ZeiterfassungApi *zeiterfassung);
const QVector<ZeiterfassungApi::TimeAssignment> &timeAssignments() const; struct TimeAssignment
{
int id;
QDate date;
QTime time;
QTime timespan;
QString text;
QString project;
QString subproject;
QString workpackage;
};
const QVector<TimeAssignment> &timeAssignments() const;
private Q_SLOTS: private Q_SLOTS:
void requestFinished(); void requestFinished();
private: private:
std::unique_ptr<QNetworkReply> m_reply; std::unique_ptr<QNetworkReply> m_reply;
QVector<ZeiterfassungApi::TimeAssignment> m_timeAssignments; QVector<TimeAssignment> m_timeAssignments;
}; };
#endif // GETTIMEASSIGNMENTSREPLY_H #endif // GETTIMEASSIGNMENTSREPLY_H

View File

@@ -1,23 +1,25 @@
#include "userinforeply.h" #include "getuserinforeply.h"
#include <QJsonParseError> #include <QJsonParseError>
#include <QJsonDocument> #include <QJsonDocument>
#include <QJsonObject> #include <QJsonObject>
#include <QJsonValue> #include <QJsonValue>
UserInfoReply::UserInfoReply(std::unique_ptr<QNetworkReply> &&reply, ZeiterfassungApi *zeiterfassung) : #include "zeiterfassungapi.h"
GetUserInfoReply::GetUserInfoReply(std::unique_ptr<QNetworkReply> &&reply, ZeiterfassungApi *zeiterfassung) :
ZeiterfassungReply(zeiterfassung), ZeiterfassungReply(zeiterfassung),
m_reply(std::move(reply)) m_reply(std::move(reply))
{ {
connect(m_reply.get(), &QNetworkReply::finished, this, &UserInfoReply::requestFinished); connect(m_reply.get(), &QNetworkReply::finished, this, &GetUserInfoReply::requestFinished);
} }
const ZeiterfassungApi::UserInfo &UserInfoReply::userInfo() const const GetUserInfoReply::UserInfo &GetUserInfoReply::userInfo() const
{ {
return m_userInfo; return m_userInfo;
} }
void UserInfoReply::requestFinished() void GetUserInfoReply::requestFinished()
{ {
if(m_reply->error() != QNetworkReply::NoError) if(m_reply->error() != QNetworkReply::NoError)
{ {

View File

@@ -0,0 +1,39 @@
#ifndef GETUSERINFOREPLY_H
#define GETUSERINFOREPLY_H
#include <memory>
#include <QNetworkReply>
#include "zeiterfassunglib_global.h"
#include "zeiterfassungreply.h"
class ZeiterfassungApi;
class ZEITERFASSUNGLIBSHARED_EXPORT GetUserInfoReply : public ZeiterfassungReply
{
Q_OBJECT
public:
GetUserInfoReply(std::unique_ptr<QNetworkReply> &&reply, ZeiterfassungApi *zeiterfassung);
struct UserInfo
{
int userId;
QString email;
QString longUsername;
QString text;
QString username;
};
const UserInfo &userInfo() const;
private Q_SLOTS:
void requestFinished();
private:
std::unique_ptr<QNetworkReply> m_reply;
UserInfo m_userInfo;
};
#endif // GETUSERINFOREPLY_H

View File

@@ -1,29 +0,0 @@
#ifndef USERINFOREPLY_H
#define USERINFOREPLY_H
#include <memory>
#include <QNetworkReply>
#include "zeiterfassunglib_global.h"
#include "zeiterfassungreply.h"
#include "zeiterfassungapi.h"
class ZEITERFASSUNGLIBSHARED_EXPORT UserInfoReply : public ZeiterfassungReply
{
Q_OBJECT
public:
UserInfoReply(std::unique_ptr<QNetworkReply> &&reply, ZeiterfassungApi *zeiterfassung);
const ZeiterfassungApi::UserInfo &userInfo() const;
private Q_SLOTS:
void requestFinished();
private:
std::unique_ptr<QNetworkReply> m_reply;
ZeiterfassungApi::UserInfo m_userInfo;
};
#endif // USERINFOREPLY_H

View File

@@ -7,6 +7,7 @@
#include <QStringBuilder> #include <QStringBuilder>
#include <QDebug> #include <QDebug>
#include "zeiterfassungapi.h"
#include "timeutils.h" #include "timeutils.h"
#include "stripfactory.h" #include "stripfactory.h"
@@ -40,12 +41,12 @@ void StripsWidget::setDate(const QDate &date)
refresh(); refresh();
} }
const QVector<ZeiterfassungApi::Booking> &StripsWidget::bookings() const const QVector<GetBookingsReply::Booking> &StripsWidget::bookings() const
{ {
return m_bookings; return m_bookings;
} }
const QVector<ZeiterfassungApi::TimeAssignment> &StripsWidget::timeAssignments() const const QVector<GetTimeAssignmentsReply::TimeAssignment> &StripsWidget::timeAssignments() const
{ {
return m_timeAssignments; return m_timeAssignments;
} }
@@ -167,7 +168,7 @@ bool StripsWidget::createStrips()
auto bookingTimespan = QTime(0, 0); auto bookingTimespan = QTime(0, 0);
const ZeiterfassungApi::Booking *lastBooking = Q_NULLPTR; const GetBookingsReply::Booking *lastBooking = Q_NULLPTR;
QString errorMessage; QString errorMessage;

View File

@@ -7,7 +7,6 @@
#include <QTime> #include <QTime>
#include "zeiterfassunglib_global.h" #include "zeiterfassunglib_global.h"
#include "zeiterfassungapi.h"
#include "replies/getbookingsreply.h" #include "replies/getbookingsreply.h"
#include "replies/gettimeassignmentsreply.h" #include "replies/gettimeassignmentsreply.h"
@@ -15,6 +14,7 @@ class QBoxLayout;
template <class Key, class T> class QMap; template <class Key, class T> class QMap;
template <typename T> class QVector; template <typename T> class QVector;
class ZeiterfassungApi;
class StripFactory; class StripFactory;
class ZEITERFASSUNGLIBSHARED_EXPORT StripsWidget : public QWidget class ZEITERFASSUNGLIBSHARED_EXPORT StripsWidget : public QWidget
@@ -28,8 +28,8 @@ public:
const QDate &date() const; const QDate &date() const;
void setDate(const QDate &date); void setDate(const QDate &date);
const QVector<ZeiterfassungApi::Booking> &bookings() const; const QVector<GetBookingsReply::Booking> &bookings() const;
const QVector<ZeiterfassungApi::TimeAssignment> &timeAssignments() const; const QVector<GetTimeAssignmentsReply::TimeAssignment> &timeAssignments() const;
const QTime &timeAssignmentTime() const; const QTime &timeAssignmentTime() const;
const QTime &lastTimeAssignmentStart() const; const QTime &lastTimeAssignmentStart() const;
@@ -47,8 +47,8 @@ public:
void clearStrips(); void clearStrips();
Q_SIGNALS: Q_SIGNALS:
void bookingsChanged(const QVector<ZeiterfassungApi::Booking> &bookings); void bookingsChanged(const QVector<GetBookingsReply::Booking> &bookings);
void timeAssignmentsChanged(const QVector<ZeiterfassungApi::TimeAssignment> &timeAssignments); void timeAssignmentsChanged(const QVector<GetTimeAssignmentsReply::TimeAssignment> &timeAssignments);
void timeAssignmentTimeChanged(const QTime &timeAssignmentTime); void timeAssignmentTimeChanged(const QTime &timeAssignmentTime);
void lastTimeAssignmentStartChanged(const QTime &lastTimeAssignmentStart); void lastTimeAssignmentStartChanged(const QTime &lastTimeAssignmentStart);
@@ -82,8 +82,8 @@ private:
QDate m_date; QDate m_date;
QVector<ZeiterfassungApi::Booking> m_bookings; QVector<GetBookingsReply::Booking> m_bookings;
QVector<ZeiterfassungApi::TimeAssignment> m_timeAssignments; QVector<GetTimeAssignmentsReply::TimeAssignment> m_timeAssignments;
QTime m_timeAssignmentTime; QTime m_timeAssignmentTime;
QTime m_lastTimeAssignmentStart; QTime m_lastTimeAssignmentStart;

View File

@@ -185,17 +185,17 @@
<context> <context>
<name>GetBookingsReply</name> <name>GetBookingsReply</name>
<message> <message>
<location filename="../replies/getbookingsreply.cpp" line="26"/> <location filename="../replies/getbookingsreply.cpp" line="28"/>
<source>Request error occured: %0</source> <source>Request error occured: %0</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../replies/getbookingsreply.cpp" line="36"/> <location filename="../replies/getbookingsreply.cpp" line="38"/>
<source>Parsing JSON failed: %0</source> <source>Parsing JSON failed: %0</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../replies/getbookingsreply.cpp" line="43"/> <location filename="../replies/getbookingsreply.cpp" line="45"/>
<source>JSON document is not an array!</source> <source>JSON document is not an array!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@@ -203,17 +203,17 @@
<context> <context>
<name>GetPresenceStatusReply</name> <name>GetPresenceStatusReply</name>
<message> <message>
<location filename="../replies/getpresencestatusreply.cpp" line="26"/> <location filename="../replies/getpresencestatusreply.cpp" line="28"/>
<source>Request error occured: %0</source> <source>Request error occured: %0</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../replies/getpresencestatusreply.cpp" line="36"/> <location filename="../replies/getpresencestatusreply.cpp" line="38"/>
<source>Parsing JSON failed: %0</source> <source>Parsing JSON failed: %0</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../replies/getpresencestatusreply.cpp" line="43"/> <location filename="../replies/getpresencestatusreply.cpp" line="45"/>
<source>JSON document is not an array!</source> <source>JSON document is not an array!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@@ -221,27 +221,27 @@
<context> <context>
<name>GetProjectsReply</name> <name>GetProjectsReply</name>
<message> <message>
<location filename="../replies/getprojectsreply.cpp" line="26"/> <location filename="../replies/getprojectsreply.cpp" line="28"/>
<source>Request error occured: %0</source> <source>Request error occured: %0</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../replies/getprojectsreply.cpp" line="36"/> <location filename="../replies/getprojectsreply.cpp" line="38"/>
<source>Parsing JSON failed: %0</source> <source>Parsing JSON failed: %0</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../replies/getprojectsreply.cpp" line="43"/> <location filename="../replies/getprojectsreply.cpp" line="45"/>
<source>JSON document is not an object!</source> <source>JSON document is not an object!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../replies/getprojectsreply.cpp" line="52"/> <location filename="../replies/getprojectsreply.cpp" line="54"/>
<source>JSON does not contain elements!</source> <source>JSON does not contain elements!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../replies/getprojectsreply.cpp" line="61"/> <location filename="../replies/getprojectsreply.cpp" line="63"/>
<source>elements is not an array!</source> <source>elements is not an array!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@@ -249,21 +249,49 @@
<context> <context>
<name>GetTimeAssignmentsReply</name> <name>GetTimeAssignmentsReply</name>
<message> <message>
<location filename="../replies/gettimeassignmentsreply.cpp" line="27"/> <location filename="../replies/gettimeassignmentsreply.cpp" line="29"/>
<source>Request error occured: %0</source> <source>Request error occured: %0</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../replies/gettimeassignmentsreply.cpp" line="37"/> <location filename="../replies/gettimeassignmentsreply.cpp" line="39"/>
<source>Parsing JSON failed: %0</source> <source>Parsing JSON failed: %0</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../replies/gettimeassignmentsreply.cpp" line="44"/> <location filename="../replies/gettimeassignmentsreply.cpp" line="46"/>
<source>JSON document is not an array!</source> <source>JSON document is not an array!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context>
<name>GetUserInfoReply</name>
<message>
<location filename="../replies/getuserinforeply.cpp" line="27"/>
<source>Request error occured: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/getuserinforeply.cpp" line="37"/>
<source>Parsing JSON failed: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/getuserinforeply.cpp" line="44"/>
<source>JSON document is not an object!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/getuserinforeply.cpp" line="53"/>
<source>JSON does not contain evoAppsUser!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/getuserinforeply.cpp" line="62"/>
<source>evoAppsUser is not an object!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context> <context>
<name>LanguageSelectionDialog</name> <name>LanguageSelectionDialog</name>
<message> <message>
@@ -348,8 +376,8 @@
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="143"/> <location filename="../mainwindow.ui" line="143"/>
<location filename="../mainwindow.cpp" line="731"/> <location filename="../mainwindow.cpp" line="730"/>
<location filename="../mainwindow.cpp" line="742"/> <location filename="../mainwindow.cpp" line="741"/>
<source>Start</source> <source>Start</source>
<translation>Kommen</translation> <translation>Kommen</translation>
</message> </message>
@@ -449,13 +477,13 @@
<translation>Zeiterfassung - %0 (%1)</translation> <translation>Zeiterfassung - %0 (%1)</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="652"/> <location filename="../mainwindow.cpp" line="679"/>
<location filename="../mainwindow.cpp" line="661"/> <location filename="../mainwindow.cpp" line="688"/>
<source>Could not open auswertung!</source> <source>Could not open auswertung!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="661"/> <location filename="../mainwindow.cpp" line="688"/>
<source>Could not open default PDF viewer!</source> <source>Could not open default PDF viewer!</source>
<translation>Konnte den PDF-Anzeiger nicht öffnen!</translation> <translation>Konnte den PDF-Anzeiger nicht öffnen!</translation>
</message> </message>
@@ -475,149 +503,147 @@
<translation>Text</translation> <translation>Text</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="214"/> <location filename="../mainwindow.cpp" line="241"/>
<location filename="../mainwindow.cpp" line="215"/> <location filename="../mainwindow.cpp" line="242"/>
<location filename="../mainwindow.cpp" line="747"/>
<location filename="../mainwindow.cpp" line="748"/> <location filename="../mainwindow.cpp" line="748"/>
<location filename="../mainwindow.cpp" line="749"/>
<source>%0: %1</source> <source>%0: %1</source>
<translation>%0: %1</translation> <translation>%0: %1</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="111"/> <location filename="../mainwindow.cpp" line="747"/>
<location filename="../mainwindow.cpp" line="668"/>
<location filename="../mainwindow.cpp" line="748"/> <location filename="../mainwindow.cpp" line="748"/>
<location filename="../mainwindow.cpp" line="749"/>
<source>???</source> <source>???</source>
<translation>???</translation> <translation>???</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="214"/> <location filename="../mainwindow.cpp" line="241"/>
<location filename="../mainwindow.cpp" line="748"/> <location filename="../mainwindow.cpp" line="747"/>
<source>Balance</source> <source>Balance</source>
<translation>Saldo</translation> <translation>Saldo</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="215"/> <location filename="../mainwindow.cpp" line="242"/>
<location filename="../mainwindow.cpp" line="749"/> <location filename="../mainwindow.cpp" line="748"/>
<source>Holidays</source> <source>Holidays</source>
<translation>Urlaubstage</translation> <translation>Urlaubstage</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="154"/> <location filename="../mainwindow.cpp" line="181"/>
<location filename="../mainwindow.cpp" line="155"/> <location filename="../mainwindow.cpp" line="182"/>
<source>Could not load bookings!</source> <source>Could not load bookings!</source>
<translation>Konnte Buchungen nicht laden!</translation> <translation>Konnte Buchungen nicht laden!</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="176"/> <location filename="../mainwindow.cpp" line="203"/>
<source>Could not load Auswertung!</source> <source>Could not load Auswertung!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="208"/> <location filename="../mainwindow.cpp" line="235"/>
<source>%0h</source> <source>%0h</source>
<translation>%0h</translation> <translation>%0h</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="321"/> <location filename="../mainwindow.cpp" line="348"/>
<source>Could not delete booking!</source> <source>Could not delete booking!</source>
<translation>Konnte Buchung nicht löschen!</translation> <translation>Konnte Buchung nicht löschen!</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="268"/> <location filename="../mainwindow.cpp" line="295"/>
<source>Edit booking</source> <source>Edit booking</source>
<translation>Buchung bearbeiten</translation> <translation>Buchung bearbeiten</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="269"/> <location filename="../mainwindow.cpp" line="296"/>
<source>Delete booking</source> <source>Delete booking</source>
<translation>Buchung löschen</translation> <translation>Buchung löschen</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="297"/> <location filename="../mainwindow.cpp" line="324"/>
<source>Could not edit booking!</source> <source>Could not edit booking!</source>
<translation>Konnte Buchung nicht bearbeiten!</translation> <translation>Konnte Buchung nicht bearbeiten!</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="227"/> <location filename="../mainwindow.cpp" line="254"/>
<source>Create booking</source> <source>Create booking</source>
<translation>Buchung erstellen</translation> <translation>Buchung erstellen</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="184"/> <location filename="../mainwindow.cpp" line="211"/>
<location filename="../mainwindow.cpp" line="195"/> <location filename="../mainwindow.cpp" line="222"/>
<source>n/a</source> <source>n/a</source>
<translation>n/v</translation> <translation>n/v</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="228"/> <location filename="../mainwindow.cpp" line="255"/>
<source>Refresh bookings</source> <source>Refresh bookings</source>
<translation>Buchungen aktualisieren</translation> <translation>Buchungen aktualisieren</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="253"/> <location filename="../mainwindow.cpp" line="280"/>
<location filename="../mainwindow.cpp" line="458"/> <location filename="../mainwindow.cpp" line="485"/>
<location filename="../mainwindow.cpp" line="580"/> <location filename="../mainwindow.cpp" line="607"/>
<source>Could not create booking!</source> <source>Could not create booking!</source>
<translation>Konnte Buchung nicht erstellen!</translation> <translation>Konnte Buchung nicht erstellen!</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="305"/> <location filename="../mainwindow.cpp" line="332"/>
<source>Do you really want to delete the booking?</source> <source>Do you really want to delete the booking?</source>
<translation>Möchten Sie die Buchung wirklich löschen?</translation> <translation>Möchten Sie die Buchung wirklich löschen?</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="335"/> <location filename="../mainwindow.cpp" line="362"/>
<source>Refresh time assignments</source> <source>Refresh time assignments</source>
<translation>Kontierungen aktualisieren</translation> <translation>Kontierungen aktualisieren</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="375"/> <location filename="../mainwindow.cpp" line="402"/>
<source>Edit time assignment</source> <source>Edit time assignment</source>
<translation>Kontierung bearbeiten</translation> <translation>Kontierung bearbeiten</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="376"/> <location filename="../mainwindow.cpp" line="403"/>
<source>Delete time assignment</source> <source>Delete time assignment</source>
<translation>Kontierung löschen</translation> <translation>Kontierung löschen</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="407"/> <location filename="../mainwindow.cpp" line="434"/>
<location filename="../mainwindow.cpp" line="490"/> <location filename="../mainwindow.cpp" line="517"/>
<location filename="../mainwindow.cpp" line="561"/> <location filename="../mainwindow.cpp" line="588"/>
<source>Could not edit time assignment!</source> <source>Could not edit time assignment!</source>
<translation>Konnte Kontierung nicht bearbeiten!</translation> <translation>Konnte Kontierung nicht bearbeiten!</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="415"/> <location filename="../mainwindow.cpp" line="442"/>
<source>Do you really want to delete the time assignment?</source> <source>Do you really want to delete the time assignment?</source>
<translation>Möchten Sie die Kontierung wirklich löschen?</translation> <translation>Möchten Sie die Kontierung wirklich löschen?</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="433"/> <location filename="../mainwindow.cpp" line="460"/>
<source>Could not delete time assignment!</source> <source>Could not delete time assignment!</source>
<translation>Konnte Kontierung nicht löschen!</translation> <translation>Konnte Kontierung nicht löschen!</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="774"/> <location filename="../mainwindow.cpp" line="773"/>
<location filename="../mainwindow.cpp" line="783"/> <location filename="../mainwindow.cpp" line="782"/>
<source>%0 (%1)</source> <source>%0 (%1)</source>
<translation>%0 (%1)</translation> <translation>%0 (%1)</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="334"/> <location filename="../mainwindow.cpp" line="361"/>
<source>Create time assignment</source> <source>Create time assignment</source>
<translation>Kontierung erstellen</translation> <translation>Kontierung erstellen</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="360"/> <location filename="../mainwindow.cpp" line="387"/>
<location filename="../mainwindow.cpp" line="511"/> <location filename="../mainwindow.cpp" line="538"/>
<source>Could not create time assignment!</source> <source>Could not create time assignment!</source>
<translation>Konnte Kontierung nicht erstellen!</translation> <translation>Konnte Kontierung nicht erstellen!</translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="731"/> <location filename="../mainwindow.cpp" line="730"/>
<location filename="../mainwindow.cpp" line="742"/> <location filename="../mainwindow.cpp" line="741"/>
<source>Switch</source> <source>Switch</source>
<translation>Wechseln</translation> <translation>Wechseln</translation>
</message> </message>
@@ -702,178 +728,178 @@
<context> <context>
<name>StripsWidget</name> <name>StripsWidget</name>
<message> <message>
<location filename="../stripswidget.cpp" line="97"/> <location filename="../stripswidget.cpp" line="98"/>
<source>Loading...</source> <source>Loading...</source>
<translation>Lade...</translation> <translation>Lade...</translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="184"/> <location filename="../stripswidget.cpp" line="185"/>
<source>Missing booking!</source> <source>Missing booking!</source>
<translation>Kontierung fehlend!</translation> <translation>Kontierung fehlend!</translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="191"/> <location filename="../stripswidget.cpp" line="192"/>
<source>Expected start booking, instead got type %0 <source>Expected start booking, instead got type %0
Booking ID: %1</source> Booking ID: %1</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="200"/> <location filename="../stripswidget.cpp" line="201"/>
<location filename="../stripswidget.cpp" line="391"/> <location filename="../stripswidget.cpp" line="392"/>
<source>%0: %1</source> <source>%0: %1</source>
<translation>%0: %1</translation> <translation>%0: %1</translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="200"/> <location filename="../stripswidget.cpp" line="201"/>
<source>Break</source> <source>Break</source>
<translation>Pause</translation> <translation>Pause</translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="200"/> <location filename="../stripswidget.cpp" line="201"/>
<location filename="../stripswidget.cpp" line="322"/> <location filename="../stripswidget.cpp" line="323"/>
<location filename="../stripswidget.cpp" line="393"/> <location filename="../stripswidget.cpp" line="394"/>
<source>%0h</source> <source>%0h</source>
<translation>%0h</translation> <translation>%0h</translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="200"/> <location filename="../stripswidget.cpp" line="201"/>
<location filename="../stripswidget.cpp" line="393"/> <location filename="../stripswidget.cpp" line="394"/>
<location filename="../stripswidget.cpp" line="525"/> <location filename="../stripswidget.cpp" line="526"/>
<location filename="../stripswidget.cpp" line="544"/> <location filename="../stripswidget.cpp" line="545"/>
<location filename="../stripswidget.cpp" line="563"/> <location filename="../stripswidget.cpp" line="564"/>
<source>HH:mm</source> <source>HH:mm</source>
<translation>HH:mm</translation> <translation>HH:mm</translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="211"/> <location filename="../stripswidget.cpp" line="212"/>
<source>Missing time assignment!</source> <source>Missing time assignment!</source>
<translation>Kontierung fehlend!</translation> <translation>Kontierung fehlend!</translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="218"/> <location filename="../stripswidget.cpp" line="219"/>
<location filename="../stripswidget.cpp" line="269"/> <location filename="../stripswidget.cpp" line="270"/>
<location filename="../stripswidget.cpp" line="332"/> <location filename="../stripswidget.cpp" line="333"/>
<source>Expected %0 but received %1 in time assignment. <source>Expected %0 but received %1 in time assignment.
Time assignment ID: %2</source> Time assignment ID: %2</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="219"/>
<location filename="../stripswidget.cpp" line="220"/> <location filename="../stripswidget.cpp" line="220"/>
<location filename="../stripswidget.cpp" line="270"/> <location filename="../stripswidget.cpp" line="221"/>
<location filename="../stripswidget.cpp" line="271"/> <location filename="../stripswidget.cpp" line="271"/>
<location filename="../stripswidget.cpp" line="322"/> <location filename="../stripswidget.cpp" line="272"/>
<location filename="../stripswidget.cpp" line="333"/> <location filename="../stripswidget.cpp" line="323"/>
<location filename="../stripswidget.cpp" line="334"/> <location filename="../stripswidget.cpp" line="334"/>
<location filename="../stripswidget.cpp" line="374"/> <location filename="../stripswidget.cpp" line="335"/>
<location filename="../stripswidget.cpp" line="375"/> <location filename="../stripswidget.cpp" line="375"/>
<location filename="../stripswidget.cpp" line="376"/>
<source>HH:mm:ss</source> <source>HH:mm:ss</source>
<translation>HH:mm:ss</translation> <translation>HH:mm:ss</translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="232"/> <location filename="../stripswidget.cpp" line="233"/>
<location filename="../stripswidget.cpp" line="346"/> <location filename="../stripswidget.cpp" line="347"/>
<source>There is another booking after an unfinished time assignment. <source>There is another booking after an unfinished time assignment.
Booking ID: %0 Booking ID: %0
Time assignment ID: %1</source> Time assignment ID: %1</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="240"/> <location filename="../stripswidget.cpp" line="241"/>
<location filename="../stripswidget.cpp" line="283"/> <location filename="../stripswidget.cpp" line="284"/>
<location filename="../stripswidget.cpp" line="355"/> <location filename="../stripswidget.cpp" line="356"/>
<source>There is another time assignment after an unfinished time assignment. <source>There is another time assignment after an unfinished time assignment.
Time assignment ID: %0 Time assignment ID: %0
Time assignment ID: %1</source> Time assignment ID: %1</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="261"/> <location filename="../stripswidget.cpp" line="262"/>
<source>The last time assignment is finished without end booking <source>The last time assignment is finished without end booking
Time assignment ID: %0</source> Time assignment ID: %0</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="306"/> <location filename="../stripswidget.cpp" line="307"/>
<source>Expected end booking, instead got type %0 <source>Expected end booking, instead got type %0
Booking ID: %1</source> Booking ID: %1</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="321"/> <location filename="../stripswidget.cpp" line="322"/>
<source>Missing time assignment! Missing: %0</source> <source>Missing time assignment! Missing: %0</source>
<translation>Kontierung fehlend! %0 nicht kontiert</translation> <translation>Kontierung fehlend! %0 nicht kontiert</translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="392"/> <location filename="../stripswidget.cpp" line="393"/>
<source>Assigned time</source> <source>Assigned time</source>
<translation>Kontierte Zeit</translation> <translation>Kontierte Zeit</translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="444"/> <location filename="../stripswidget.cpp" line="445"/>
<source>dd.MM.yyyy</source> <source>dd.MM.yyyy</source>
<translation>dd.MM.yyyy</translation> <translation>dd.MM.yyyy</translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="441"/> <location filename="../stripswidget.cpp" line="442"/>
<source>%0 (%1)</source> <source>%0 (%1)</source>
<translation>%0 (%1)</translation> <translation>%0 (%1)</translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="373"/> <location filename="../stripswidget.cpp" line="374"/>
<source>Time assignment time longer than booking time! <source>Time assignment time longer than booking time!
Time assignment: %0 Time assignment: %0
Booking: %1</source> Booking: %1</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="404"/> <location filename="../stripswidget.cpp" line="405"/>
<source>Strip rendering aborted due error. <source>Strip rendering aborted due error.
Your bookings and time assignments for this day are in an illegal state!</source> Your bookings and time assignments for this day are in an illegal state!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="442"/> <location filename="../stripswidget.cpp" line="443"/>
<source>Monday</source> <source>Monday</source>
<translation>Montag</translation> <translation>Montag</translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="442"/> <location filename="../stripswidget.cpp" line="443"/>
<source>Tuesday</source> <source>Tuesday</source>
<translation>Dienstag</translation> <translation>Dienstag</translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="442"/> <location filename="../stripswidget.cpp" line="443"/>
<source>Wednesday</source> <source>Wednesday</source>
<translation>Mittwoch</translation> <translation>Mittwoch</translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="442"/> <location filename="../stripswidget.cpp" line="443"/>
<source>Thursday</source> <source>Thursday</source>
<translation>Donnerstag</translation> <translation>Donnerstag</translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="443"/> <location filename="../stripswidget.cpp" line="444"/>
<source>Friday</source> <source>Friday</source>
<translation>Freitag</translation> <translation>Freitag</translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="443"/> <location filename="../stripswidget.cpp" line="444"/>
<source>Saturday</source> <source>Saturday</source>
<translation>Samstag</translation> <translation>Samstag</translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="443"/> <location filename="../stripswidget.cpp" line="444"/>
<source>Sunday</source> <source>Sunday</source>
<translation>Sonntag</translation> <translation>Sonntag</translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="446"/> <location filename="../stripswidget.cpp" line="447"/>
<source>Invalid</source> <source>Invalid</source>
<translation>Ungültig</translation> <translation>Ungültig</translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="563"/> <location filename="../stripswidget.cpp" line="564"/>
<source>Open</source> <source>Open</source>
<translation>Offen</translation> <translation>Offen</translation>
</message> </message>
@@ -1031,32 +1057,4 @@ Your bookings and time assignments for this day are in an illegal state!</source
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context>
<name>UserInfoReply</name>
<message>
<location filename="../replies/userinforeply.cpp" line="25"/>
<source>Request error occured: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/userinforeply.cpp" line="35"/>
<source>Parsing JSON failed: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/userinforeply.cpp" line="42"/>
<source>JSON document is not an object!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/userinforeply.cpp" line="51"/>
<source>JSON does not contain evoAppsUser!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/userinforeply.cpp" line="60"/>
<source>evoAppsUser is not an object!</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS> </TS>

View File

@@ -185,17 +185,17 @@
<context> <context>
<name>GetBookingsReply</name> <name>GetBookingsReply</name>
<message> <message>
<location filename="../replies/getbookingsreply.cpp" line="26"/> <location filename="../replies/getbookingsreply.cpp" line="28"/>
<source>Request error occured: %0</source> <source>Request error occured: %0</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../replies/getbookingsreply.cpp" line="36"/> <location filename="../replies/getbookingsreply.cpp" line="38"/>
<source>Parsing JSON failed: %0</source> <source>Parsing JSON failed: %0</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../replies/getbookingsreply.cpp" line="43"/> <location filename="../replies/getbookingsreply.cpp" line="45"/>
<source>JSON document is not an array!</source> <source>JSON document is not an array!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@@ -203,17 +203,17 @@
<context> <context>
<name>GetPresenceStatusReply</name> <name>GetPresenceStatusReply</name>
<message> <message>
<location filename="../replies/getpresencestatusreply.cpp" line="26"/> <location filename="../replies/getpresencestatusreply.cpp" line="28"/>
<source>Request error occured: %0</source> <source>Request error occured: %0</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../replies/getpresencestatusreply.cpp" line="36"/> <location filename="../replies/getpresencestatusreply.cpp" line="38"/>
<source>Parsing JSON failed: %0</source> <source>Parsing JSON failed: %0</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../replies/getpresencestatusreply.cpp" line="43"/> <location filename="../replies/getpresencestatusreply.cpp" line="45"/>
<source>JSON document is not an array!</source> <source>JSON document is not an array!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@@ -221,27 +221,27 @@
<context> <context>
<name>GetProjectsReply</name> <name>GetProjectsReply</name>
<message> <message>
<location filename="../replies/getprojectsreply.cpp" line="26"/> <location filename="../replies/getprojectsreply.cpp" line="28"/>
<source>Request error occured: %0</source> <source>Request error occured: %0</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../replies/getprojectsreply.cpp" line="36"/> <location filename="../replies/getprojectsreply.cpp" line="38"/>
<source>Parsing JSON failed: %0</source> <source>Parsing JSON failed: %0</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../replies/getprojectsreply.cpp" line="43"/> <location filename="../replies/getprojectsreply.cpp" line="45"/>
<source>JSON document is not an object!</source> <source>JSON document is not an object!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../replies/getprojectsreply.cpp" line="52"/> <location filename="../replies/getprojectsreply.cpp" line="54"/>
<source>JSON does not contain elements!</source> <source>JSON does not contain elements!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../replies/getprojectsreply.cpp" line="61"/> <location filename="../replies/getprojectsreply.cpp" line="63"/>
<source>elements is not an array!</source> <source>elements is not an array!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@@ -249,21 +249,49 @@
<context> <context>
<name>GetTimeAssignmentsReply</name> <name>GetTimeAssignmentsReply</name>
<message> <message>
<location filename="../replies/gettimeassignmentsreply.cpp" line="27"/> <location filename="../replies/gettimeassignmentsreply.cpp" line="29"/>
<source>Request error occured: %0</source> <source>Request error occured: %0</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../replies/gettimeassignmentsreply.cpp" line="37"/> <location filename="../replies/gettimeassignmentsreply.cpp" line="39"/>
<source>Parsing JSON failed: %0</source> <source>Parsing JSON failed: %0</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../replies/gettimeassignmentsreply.cpp" line="44"/> <location filename="../replies/gettimeassignmentsreply.cpp" line="46"/>
<source>JSON document is not an array!</source> <source>JSON document is not an array!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context>
<name>GetUserInfoReply</name>
<message>
<location filename="../replies/getuserinforeply.cpp" line="27"/>
<source>Request error occured: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/getuserinforeply.cpp" line="37"/>
<source>Parsing JSON failed: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/getuserinforeply.cpp" line="44"/>
<source>JSON document is not an object!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/getuserinforeply.cpp" line="53"/>
<source>JSON does not contain evoAppsUser!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/getuserinforeply.cpp" line="62"/>
<source>evoAppsUser is not an object!</source>
<translation type="unfinished"></translation>
</message>
</context>
<context> <context>
<name>LanguageSelectionDialog</name> <name>LanguageSelectionDialog</name>
<message> <message>
@@ -348,8 +376,8 @@
</message> </message>
<message> <message>
<location filename="../mainwindow.ui" line="143"/> <location filename="../mainwindow.ui" line="143"/>
<location filename="../mainwindow.cpp" line="731"/> <location filename="../mainwindow.cpp" line="730"/>
<location filename="../mainwindow.cpp" line="742"/> <location filename="../mainwindow.cpp" line="741"/>
<source>Start</source> <source>Start</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@@ -464,160 +492,158 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="111"/> <location filename="../mainwindow.cpp" line="747"/>
<location filename="../mainwindow.cpp" line="668"/>
<location filename="../mainwindow.cpp" line="748"/> <location filename="../mainwindow.cpp" line="748"/>
<location filename="../mainwindow.cpp" line="749"/>
<source>???</source> <source>???</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="154"/> <location filename="../mainwindow.cpp" line="181"/>
<location filename="../mainwindow.cpp" line="155"/> <location filename="../mainwindow.cpp" line="182"/>
<source>Could not load bookings!</source> <source>Could not load bookings!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="176"/> <location filename="../mainwindow.cpp" line="203"/>
<source>Could not load Auswertung!</source> <source>Could not load Auswertung!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="184"/> <location filename="../mainwindow.cpp" line="211"/>
<location filename="../mainwindow.cpp" line="195"/> <location filename="../mainwindow.cpp" line="222"/>
<source>n/a</source> <source>n/a</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="208"/> <location filename="../mainwindow.cpp" line="235"/>
<source>%0h</source> <source>%0h</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="214"/> <location filename="../mainwindow.cpp" line="241"/>
<location filename="../mainwindow.cpp" line="215"/> <location filename="../mainwindow.cpp" line="242"/>
<location filename="../mainwindow.cpp" line="747"/>
<location filename="../mainwindow.cpp" line="748"/> <location filename="../mainwindow.cpp" line="748"/>
<location filename="../mainwindow.cpp" line="749"/>
<source>%0: %1</source> <source>%0: %1</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="214"/> <location filename="../mainwindow.cpp" line="241"/>
<location filename="../mainwindow.cpp" line="748"/> <location filename="../mainwindow.cpp" line="747"/>
<source>Balance</source> <source>Balance</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="215"/> <location filename="../mainwindow.cpp" line="242"/>
<location filename="../mainwindow.cpp" line="749"/> <location filename="../mainwindow.cpp" line="748"/>
<source>Holidays</source> <source>Holidays</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="227"/> <location filename="../mainwindow.cpp" line="254"/>
<source>Create booking</source> <source>Create booking</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="228"/> <location filename="../mainwindow.cpp" line="255"/>
<source>Refresh bookings</source> <source>Refresh bookings</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="253"/> <location filename="../mainwindow.cpp" line="280"/>
<location filename="../mainwindow.cpp" line="458"/> <location filename="../mainwindow.cpp" line="485"/>
<location filename="../mainwindow.cpp" line="580"/> <location filename="../mainwindow.cpp" line="607"/>
<source>Could not create booking!</source> <source>Could not create booking!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="268"/> <location filename="../mainwindow.cpp" line="295"/>
<source>Edit booking</source> <source>Edit booking</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="269"/> <location filename="../mainwindow.cpp" line="296"/>
<source>Delete booking</source> <source>Delete booking</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="297"/> <location filename="../mainwindow.cpp" line="324"/>
<source>Could not edit booking!</source> <source>Could not edit booking!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="305"/> <location filename="../mainwindow.cpp" line="332"/>
<source>Do you really want to delete the booking?</source> <source>Do you really want to delete the booking?</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="321"/> <location filename="../mainwindow.cpp" line="348"/>
<source>Could not delete booking!</source> <source>Could not delete booking!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="334"/> <location filename="../mainwindow.cpp" line="361"/>
<source>Create time assignment</source> <source>Create time assignment</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="335"/> <location filename="../mainwindow.cpp" line="362"/>
<source>Refresh time assignments</source> <source>Refresh time assignments</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="360"/> <location filename="../mainwindow.cpp" line="387"/>
<location filename="../mainwindow.cpp" line="511"/> <location filename="../mainwindow.cpp" line="538"/>
<source>Could not create time assignment!</source> <source>Could not create time assignment!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="375"/> <location filename="../mainwindow.cpp" line="402"/>
<source>Edit time assignment</source> <source>Edit time assignment</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="376"/> <location filename="../mainwindow.cpp" line="403"/>
<source>Delete time assignment</source> <source>Delete time assignment</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="407"/> <location filename="../mainwindow.cpp" line="434"/>
<location filename="../mainwindow.cpp" line="490"/> <location filename="../mainwindow.cpp" line="517"/>
<location filename="../mainwindow.cpp" line="561"/> <location filename="../mainwindow.cpp" line="588"/>
<source>Could not edit time assignment!</source> <source>Could not edit time assignment!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="415"/> <location filename="../mainwindow.cpp" line="442"/>
<source>Do you really want to delete the time assignment?</source> <source>Do you really want to delete the time assignment?</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="433"/> <location filename="../mainwindow.cpp" line="460"/>
<source>Could not delete time assignment!</source> <source>Could not delete time assignment!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="652"/> <location filename="../mainwindow.cpp" line="679"/>
<location filename="../mainwindow.cpp" line="661"/> <location filename="../mainwindow.cpp" line="688"/>
<source>Could not open auswertung!</source> <source>Could not open auswertung!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="661"/> <location filename="../mainwindow.cpp" line="688"/>
<source>Could not open default PDF viewer!</source> <source>Could not open default PDF viewer!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="731"/> <location filename="../mainwindow.cpp" line="730"/>
<location filename="../mainwindow.cpp" line="742"/> <location filename="../mainwindow.cpp" line="741"/>
<source>Switch</source> <source>Switch</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../mainwindow.cpp" line="774"/> <location filename="../mainwindow.cpp" line="773"/>
<location filename="../mainwindow.cpp" line="783"/> <location filename="../mainwindow.cpp" line="782"/>
<source>%0 (%1)</source> <source>%0 (%1)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@@ -702,178 +728,178 @@
<context> <context>
<name>StripsWidget</name> <name>StripsWidget</name>
<message> <message>
<location filename="../stripswidget.cpp" line="97"/> <location filename="../stripswidget.cpp" line="98"/>
<source>Loading...</source> <source>Loading...</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="184"/> <location filename="../stripswidget.cpp" line="185"/>
<source>Missing booking!</source> <source>Missing booking!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="191"/> <location filename="../stripswidget.cpp" line="192"/>
<source>Expected start booking, instead got type %0 <source>Expected start booking, instead got type %0
Booking ID: %1</source> Booking ID: %1</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="200"/> <location filename="../stripswidget.cpp" line="201"/>
<location filename="../stripswidget.cpp" line="391"/> <location filename="../stripswidget.cpp" line="392"/>
<source>%0: %1</source> <source>%0: %1</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="200"/> <location filename="../stripswidget.cpp" line="201"/>
<source>Break</source> <source>Break</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="200"/> <location filename="../stripswidget.cpp" line="201"/>
<location filename="../stripswidget.cpp" line="322"/> <location filename="../stripswidget.cpp" line="323"/>
<location filename="../stripswidget.cpp" line="393"/> <location filename="../stripswidget.cpp" line="394"/>
<source>%0h</source> <source>%0h</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="200"/> <location filename="../stripswidget.cpp" line="201"/>
<location filename="../stripswidget.cpp" line="393"/> <location filename="../stripswidget.cpp" line="394"/>
<location filename="../stripswidget.cpp" line="525"/> <location filename="../stripswidget.cpp" line="526"/>
<location filename="../stripswidget.cpp" line="544"/> <location filename="../stripswidget.cpp" line="545"/>
<location filename="../stripswidget.cpp" line="563"/> <location filename="../stripswidget.cpp" line="564"/>
<source>HH:mm</source> <source>HH:mm</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="211"/> <location filename="../stripswidget.cpp" line="212"/>
<source>Missing time assignment!</source> <source>Missing time assignment!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="218"/> <location filename="../stripswidget.cpp" line="219"/>
<location filename="../stripswidget.cpp" line="269"/> <location filename="../stripswidget.cpp" line="270"/>
<location filename="../stripswidget.cpp" line="332"/> <location filename="../stripswidget.cpp" line="333"/>
<source>Expected %0 but received %1 in time assignment. <source>Expected %0 but received %1 in time assignment.
Time assignment ID: %2</source> Time assignment ID: %2</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="219"/>
<location filename="../stripswidget.cpp" line="220"/> <location filename="../stripswidget.cpp" line="220"/>
<location filename="../stripswidget.cpp" line="270"/> <location filename="../stripswidget.cpp" line="221"/>
<location filename="../stripswidget.cpp" line="271"/> <location filename="../stripswidget.cpp" line="271"/>
<location filename="../stripswidget.cpp" line="322"/> <location filename="../stripswidget.cpp" line="272"/>
<location filename="../stripswidget.cpp" line="333"/> <location filename="../stripswidget.cpp" line="323"/>
<location filename="../stripswidget.cpp" line="334"/> <location filename="../stripswidget.cpp" line="334"/>
<location filename="../stripswidget.cpp" line="374"/> <location filename="../stripswidget.cpp" line="335"/>
<location filename="../stripswidget.cpp" line="375"/> <location filename="../stripswidget.cpp" line="375"/>
<location filename="../stripswidget.cpp" line="376"/>
<source>HH:mm:ss</source> <source>HH:mm:ss</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="232"/> <location filename="../stripswidget.cpp" line="233"/>
<location filename="../stripswidget.cpp" line="346"/> <location filename="../stripswidget.cpp" line="347"/>
<source>There is another booking after an unfinished time assignment. <source>There is another booking after an unfinished time assignment.
Booking ID: %0 Booking ID: %0
Time assignment ID: %1</source> Time assignment ID: %1</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="240"/> <location filename="../stripswidget.cpp" line="241"/>
<location filename="../stripswidget.cpp" line="283"/> <location filename="../stripswidget.cpp" line="284"/>
<location filename="../stripswidget.cpp" line="355"/> <location filename="../stripswidget.cpp" line="356"/>
<source>There is another time assignment after an unfinished time assignment. <source>There is another time assignment after an unfinished time assignment.
Time assignment ID: %0 Time assignment ID: %0
Time assignment ID: %1</source> Time assignment ID: %1</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="261"/> <location filename="../stripswidget.cpp" line="262"/>
<source>The last time assignment is finished without end booking <source>The last time assignment is finished without end booking
Time assignment ID: %0</source> Time assignment ID: %0</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="306"/> <location filename="../stripswidget.cpp" line="307"/>
<source>Expected end booking, instead got type %0 <source>Expected end booking, instead got type %0
Booking ID: %1</source> Booking ID: %1</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="321"/> <location filename="../stripswidget.cpp" line="322"/>
<source>Missing time assignment! Missing: %0</source> <source>Missing time assignment! Missing: %0</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="373"/> <location filename="../stripswidget.cpp" line="374"/>
<source>Time assignment time longer than booking time! <source>Time assignment time longer than booking time!
Time assignment: %0 Time assignment: %0
Booking: %1</source> Booking: %1</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="392"/> <location filename="../stripswidget.cpp" line="393"/>
<source>Assigned time</source> <source>Assigned time</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="404"/> <location filename="../stripswidget.cpp" line="405"/>
<source>Strip rendering aborted due error. <source>Strip rendering aborted due error.
Your bookings and time assignments for this day are in an illegal state!</source> Your bookings and time assignments for this day are in an illegal state!</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="441"/> <location filename="../stripswidget.cpp" line="442"/>
<source>%0 (%1)</source> <source>%0 (%1)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="442"/> <location filename="../stripswidget.cpp" line="443"/>
<source>Monday</source> <source>Monday</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="442"/> <location filename="../stripswidget.cpp" line="443"/>
<source>Tuesday</source> <source>Tuesday</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="442"/> <location filename="../stripswidget.cpp" line="443"/>
<source>Wednesday</source> <source>Wednesday</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="442"/> <location filename="../stripswidget.cpp" line="443"/>
<source>Thursday</source> <source>Thursday</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="443"/> <location filename="../stripswidget.cpp" line="444"/>
<source>Friday</source> <source>Friday</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="443"/> <location filename="../stripswidget.cpp" line="444"/>
<source>Saturday</source> <source>Saturday</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="443"/> <location filename="../stripswidget.cpp" line="444"/>
<source>Sunday</source> <source>Sunday</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="444"/> <location filename="../stripswidget.cpp" line="445"/>
<source>dd.MM.yyyy</source> <source>dd.MM.yyyy</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="446"/> <location filename="../stripswidget.cpp" line="447"/>
<source>Invalid</source> <source>Invalid</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../stripswidget.cpp" line="563"/> <location filename="../stripswidget.cpp" line="564"/>
<source>Open</source> <source>Open</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
@@ -1031,32 +1057,4 @@ Your bookings and time assignments for this day are in an illegal state!</source
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context>
<name>UserInfoReply</name>
<message>
<location filename="../replies/userinforeply.cpp" line="25"/>
<source>Request error occured: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/userinforeply.cpp" line="35"/>
<source>Parsing JSON failed: %0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/userinforeply.cpp" line="42"/>
<source>JSON document is not an object!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/userinforeply.cpp" line="51"/>
<source>JSON does not contain evoAppsUser!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../replies/userinforeply.cpp" line="60"/>
<source>evoAppsUser is not an object!</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS> </TS>

View File

@@ -22,7 +22,7 @@
#include "replies/loginreply.h" #include "replies/loginreply.h"
#include "replies/updatebookingreply.h" #include "replies/updatebookingreply.h"
#include "replies/updatetimeassignmentreply.h" #include "replies/updatetimeassignmentreply.h"
#include "replies/userinforeply.h" #include "replies/getuserinforeply.h"
//add support for pre cpp14 compilers //add support for pre cpp14 compilers
#include "cpp14polyfills.h" #include "cpp14polyfills.h"
@@ -55,6 +55,8 @@ std::unique_ptr<LoginPageReply> ZeiterfassungApi::doLoginPage()
auto reply = std::unique_ptr<QNetworkReply>(m_manager->get(request)); auto reply = std::unique_ptr<QNetworkReply>(m_manager->get(request));
qDebug() << reply->parent();
return std::make_unique<LoginPageReply>(std::move(reply), this); return std::make_unique<LoginPageReply>(std::move(reply), this);
} }
@@ -71,14 +73,14 @@ std::unique_ptr<LoginReply> ZeiterfassungApi::doLogin(const QString &username, c
return std::make_unique<LoginReply>(std::move(reply), this); return std::make_unique<LoginReply>(std::move(reply), this);
} }
std::unique_ptr<UserInfoReply> ZeiterfassungApi::doUserInfo() std::unique_ptr<GetUserInfoReply> ZeiterfassungApi::doUserInfo()
{ {
QNetworkRequest request(QUrl(m_url % "json/evoAppsUserInfoDialogController/load-EvoAppsUserInfoTO")); QNetworkRequest request(QUrl(m_url % "json/evoAppsUserInfoDialogController/load-EvoAppsUserInfoTO"));
request.setRawHeader(QByteArrayLiteral("sisAppName"), QByteArrayLiteral("home")); request.setRawHeader(QByteArrayLiteral("sisAppName"), QByteArrayLiteral("home"));
auto reply = std::unique_ptr<QNetworkReply>(m_manager->get(request)); auto reply = std::unique_ptr<QNetworkReply>(m_manager->get(request));
return std::make_unique<UserInfoReply>(std::move(reply), this); return std::make_unique<GetUserInfoReply>(std::move(reply), this);
} }
std::unique_ptr<GetBookingsReply> ZeiterfassungApi::doGetBookings(int userId, const QDate &start, const QDate &end) std::unique_ptr<GetBookingsReply> ZeiterfassungApi::doGetBookings(int userId, const QDate &start, const QDate &end)

View File

@@ -14,7 +14,7 @@ class QNetworkAccessManager;
class LoginPageReply; class LoginPageReply;
class LoginReply; class LoginReply;
class UserInfoReply; class GetUserInfoReply;
class GetBookingsReply; class GetBookingsReply;
class CreateBookingReply; class CreateBookingReply;
class UpdateBookingReply; class UpdateBookingReply;
@@ -39,54 +39,9 @@ public:
QNetworkAccessManager *manager() const; QNetworkAccessManager *manager() const;
struct UserInfo
{
int userId;
QString email;
QString longUsername;
QString text;
QString username;
};
struct Booking
{
int id;
QDate date;
QTime time;
QTime timespan;
QString type;
QString text;
};
struct TimeAssignment
{
int id;
QDate date;
QTime time;
QTime timespan;
QString text;
QString project;
QString subproject;
QString workpackage;
};
struct Project
{
QString label;
QString value;
};
struct PresenceStatus
{
int userId;
QString firstName;
QString lastName;
QString presence;
};
std::unique_ptr<LoginPageReply> doLoginPage(); std::unique_ptr<LoginPageReply> doLoginPage();
std::unique_ptr<LoginReply> doLogin(const QString &username, const QString &password); std::unique_ptr<LoginReply> doLogin(const QString &username, const QString &password);
std::unique_ptr<UserInfoReply> doUserInfo(); std::unique_ptr<GetUserInfoReply> doUserInfo();
std::unique_ptr<GetBookingsReply> doGetBookings(int userId, const QDate &start, const QDate &end); std::unique_ptr<GetBookingsReply> doGetBookings(int userId, const QDate &start, const QDate &end);
std::unique_ptr<CreateBookingReply> doCreateBooking(int userId, const QDate &date, const QTime &time, const QTime &timespan, std::unique_ptr<CreateBookingReply> doCreateBooking(int userId, const QDate &date, const QTime &time, const QTime &timespan,

View File

@@ -39,8 +39,8 @@ SOURCES += mainwindow.cpp \
replies/loginreply.cpp \ replies/loginreply.cpp \
replies/updatebookingreply.cpp \ replies/updatebookingreply.cpp \
replies/updatetimeassignmentreply.cpp \ replies/updatetimeassignmentreply.cpp \
replies/userinforeply.cpp \ replies/zeiterfassungreply.cpp \
replies/zeiterfassungreply.cpp replies/getuserinforeply.cpp
HEADERS += cpp14polyfills.h \ HEADERS += cpp14polyfills.h \
mainwindow.h \ mainwindow.h \
@@ -73,8 +73,8 @@ HEADERS += cpp14polyfills.h \
replies/loginreply.h \ replies/loginreply.h \
replies/updatebookingreply.h \ replies/updatebookingreply.h \
replies/updatetimeassignmentreply.h \ replies/updatetimeassignmentreply.h \
replies/userinforeply.h \ replies/zeiterfassungreply.h \
replies/zeiterfassungreply.h replies/getuserinforeply.h
FORMS += mainwindow.ui \ FORMS += mainwindow.ui \
dialogs/updatedialog.ui \ dialogs/updatedialog.ui \