Timesheets-Server
Timesheets server
Načítám...
Vyhledávám...
Nebylo nic nalezeno
controllerattendancechecklist.cpp
1#include "controllerattendancechecklist.h"
2#include "httprequest.h"
3#include "db.h"
4#include <QDate>
5
6using namespace Httpd;
7
8ControllerAttendanceChecklist::ControllerAttendanceChecklist(HobrasoftHttpd::HttpConnection *parent)
9 : AbstractController(parent) {}
10
11
12void ControllerAttendanceChecklist::serviceList(HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response) {
13 int employee = request->parameter("employee").toInt();
14 QString smonth = request->parameter("month");
15 QDate month = QDate::fromString(smonth, "yyyy-MM-dd");
16
17 if (employee == 0) {
18 serviceOK(request, response, toList(db()->attendanceChecklist(month)));
19 return;
20 }
21
22 if (!db()->canAccessAttendance(employee).can_read) {
23 serviceError(request, response, 403, tr("Permission denied"), tr("Cannot access this employee"));
24 return;
25 }
26
27 serviceOK(request, response, toList(db()->attendanceChecklist(employee, month)));
28}
29
Virtuální třída pro vyřizování unifikovaných Http požadavků na server API.
virtual void serviceOK(HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response, const QVariant &data=QVariant())
Pošle odpověď 200 OK.
HobrasoftHttpd::HttpRequest * request() const
Vrací ukazatel na aktuální request.
void serviceList(HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response) Q_DECL_OVERRIDE
Pošle chybovou odpověď
Jmenný prostor pro obsluhu konkrétních HTTP požadavků aplikace.