Timesheets-Server
Timesheets server
Načítám...
Vyhledávám...
Nebylo nic nalezeno
Dokumentace třídy Httpd::ControllerOverview

Vrací podklady pro tištěný pracovní výkaz. ...

#include <controlleroverview.h>

Diagram dědičnosti pro třídu Httpd::ControllerOverview:
Httpd::AbstractController

Veřejné metody

 ControllerOverview (HobrasoftHttpd::HttpConnection *parent)
 
- Veřejné metody dědí se z Httpd::AbstractController
 AbstractController (HobrasoftHttpd::HttpConnection *parent)
 Konstruktor.
 
void setCheckId (bool x)
 Nastavuje kontrolu položky ID v datech při PUT a POST.
 
void setAuthorizer (RequestAuthorizer *authorizer)
 
AuthenticatedUserauthenticatedUser () const
 
bool checkId () const
 Vrací stav kontroly položky ID v datech při PUT a POST.
 
Db::Databasedb ()
 

Chráněné metody

void service (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response) Q_DECL_OVERRIDE
 Obsluha požadavku.
 
void serviceList (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response) Q_DECL_OVERRIDE
 Měl by poslat v odpovědi kompletní seznam všech objektů ve třídě a ukončit se.
 
void serviceIdGet (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response, const QString &id) Q_DECL_OVERRIDE
 Pošle odpověď na požadavek konkrétního ID metodou GET.
 
void serviceIdDelete (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response, const QString &id) Q_DECL_OVERRIDE
 Pošle odpověď na požadavek konkrétního ID metodou DELETE - obvykle objekt smaže.
 
- Chráněné metody dědí se z Httpd::AbstractController
virtual bool exists (const QString &id)
 Kontrola existence zadaného ID.
 
virtual bool exists (HobrasoftHttpd::HttpRequest *request, const QString &id)
 Kontrola existence zadaného ID.
 
virtual void serviceOK (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response, const QVariant &data=QVariant())
 Pošle odpověď 200 OK.
 
virtual void serviceError (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response, int code, const QString &error, const QVariantMap &data)
 Pošle chybovou odpověď
 
virtual void serviceEvents (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response)
 Pošle v odpovědi kompletní seznam všech objektů ve třídě a následně
 
virtual void serviceIdEvents (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response, const QString &id)
 Pošle v odpovědi proud událostí spojených se všemi objekty ve třídě
 
virtual void serviceIdPut (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response, const QVariantMap &data)
 Pošle odpověď na požadavek konkrétního ID metodou PUT - obvykle vloží nový objekt nebo přepíše existující objekt.
 
virtual void serviceIdPost (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response, const QVariantMap &data)
 Pošle odpověď na požadavek konkrétního ID metodou PUT - obvykle vloží nový objekt nebo přepíše existující objekt.
 
virtual void serviceEvent (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response, const QVariant &data)
 Pošle do otevřeného proudu událostí jednu událost.
 
virtual bool isAuthorized (Security::Permissions::Permission)
 
HobrasoftHttpd::HttpRequest * request () const
 Vrací ukazatel na aktuální request.
 
HobrasoftHttpd::HttpConnection * connection () const
 Vrací ukazatel na aktuální connection.
 

Další zděděné členy

- Statické chráněné metody dědí se z Httpd::AbstractController
static QVariantMap putKey (const QVariant &key)
 

Detailní popis

Vrací podklady pro tištěný pracovní výkaz.

GET /overview/<categoryid>

Parametry
statuses- seznam statutů, které se mají ve výkazu objevit, například: statuses=NEW,INVOICE

Nerozbalený JSON vypadá takto:

{
// informace o vybrané kategorii
category: {
category: "10",
description: "Fotomon vývoj - fotomon",
parent_category: "2",
price: 700
},
// informace po jednotlivých dnech, "group by date, user"
days: {
records: [...]
sum: { duration: 1235, price: 2344 }
},
// informace po jednotlivých ticketech, "group by ticket, user"
tickets: {
records: [...], // group by ticket, user
sum: [...} // group by ticket
}
}

Rozbalený JSON:

{
"category": {
"category": "10",
"description": "Fotomon vývoj - fotomon",
"parent_category": "2",
"price": 700
},
"days": {
"records": [
{
"date": "2020-04-07T00:00:00.000",
"description": "Fotomon server – rozšíření pro fotomoncontrol",
"duration": 0,
"hour_price": 0,
"price": 3,
"ticket": 37,
"user": 2,
"user_name": "700"
}, ...
],
"sum": {
"duration": 152132,
"price": 0
}
},
"tickets": {
"records": [
{
"description": "Bayes vyhodnocení závady elektrárny",
"duration": 0,
"hour_price": 700,
"price": 0.083333336,
"ticket": 45,
"user": 2,
"user_name": "Petr Bravenec"
}, ...
],
"sum": [
{
"description": "Ticketing",
"duration": 146.33333,
"price": 102433.32977294922,
"ticket": 36
},...
]
}
}

Definice je uvedena na řádku 108 v souboru controlleroverview.h.

Dokumentace konstruktoru a destruktoru

◆ ControllerOverview()

ControllerOverview::ControllerOverview ( HobrasoftHttpd::HttpConnection * parent)

Definice je uvedena na řádku 15 v souboru controlleroverview.cpp.

15 : AbstractController(parent) {
16}
AbstractController(HobrasoftHttpd::HttpConnection *parent)
Konstruktor.

Dokumentace členských funkcí

◆ service()

void ControllerOverview::service ( HobrasoftHttpd::HttpRequest * request,
HobrasoftHttpd::HttpResponse * response )
protectedvirtual

Obsluha požadavku.

Reimplementuje stejnojmenný prvek z Httpd::AbstractController.

Definice je uvedena na řádku 25 v souboru controlleroverview.cpp.

25 {
26 QString path = request->path();
27 QString method = request->method();
28
29 if (method == "GET" && path.endsWith("/overview/categories")) {
30 QStringList statuses = request->parameter("statuses").split(",");
31 serviceOK(request, response, toList(db()->categoriesOverview(statuses)));
32 return;
33 }
34
36}
virtual void service(HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response)
Obsluha požadavku.
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.

◆ serviceIdDelete()

void ControllerOverview::serviceIdDelete ( HobrasoftHttpd::HttpRequest * request,
HobrasoftHttpd::HttpResponse * response,
const QString & id )
protectedvirtual

Pošle odpověď na požadavek konkrétního ID metodou DELETE - obvykle objekt smaže.

Defaultní implementace posílá chybu 501 Not Implemented

Reimplementuje stejnojmenný prvek z Httpd::AbstractController.

Definice je uvedena na řádku 58 v souboru controlleroverview.cpp.

58 {
59 db()->remove(Dbt::OverviewList(id));
60 serviceOK(request, response);
61}

◆ serviceIdGet()

void ControllerOverview::serviceIdGet ( HobrasoftHttpd::HttpRequest * request,
HobrasoftHttpd::HttpResponse * response,
const QString & id )
protectedvirtual

Pošle odpověď na požadavek konkrétního ID metodou GET.

Defaultní implementace posílá chybu 501 Not Implemented

Reimplementuje stejnojmenný prvek z Httpd::AbstractController.

Definice je uvedena na řádku 39 v souboru controlleroverview.cpp.

39 {
40 QStringList statuses = request->parameter("statuses").split(",");
41 auto list = db()->categories(id);
42 if (list.isEmpty()) {
43 serviceError(request, response, 404, "not-found", "Not found");
44 return;
45 }
46
47 auto overview = db()->overview(id, statuses);
48
49 if (overview.isEmpty()) {
50 serviceError(request, response, 404, "not-found", "Not found");
51 return;
52 }
53
54 serviceOK(request, response, overview.first().toMap());
55}
virtual void serviceError(HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response, int code, const QString &error, const QVariantMap &data)
Pošle chybovou odpověď

◆ serviceList()

void ControllerOverview::serviceList ( HobrasoftHttpd::HttpRequest * request,
HobrasoftHttpd::HttpResponse * response )
protectedvirtual

Měl by poslat v odpovědi kompletní seznam všech objektů ve třídě a ukončit se.

Defaultní implementace posílá chybu 501 Not Implemented

Reimplementuje stejnojmenný prvek z Httpd::AbstractController.

Definice je uvedena na řádku 19 v souboru controlleroverview.cpp.

19 {
20 serviceOK(request, response, toList(db()->overviewList()));
21}

Dokumentace pro tuto třídu byla vygenerována z následujících souborů: