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

Výpis stromu kategorií ...

#include <controllercategoriestree.h>

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

Veřejné metody

 ControllerCategoriesTree (HobrasoftHttpd::HttpConnection *parent)
Veřejné metody dědí se z Httpd::AbstractController
 AbstractController (HobrasoftHttpd::HttpConnection *parent)
 Konstruktor.
virtual void service (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response)
 Obsluha požadavku.
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 serviceList (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response) Q_DECL_OVERRIDE
 Pošle chybovou odpověď
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.
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 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 serviceIdDelete (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response, const QString &id)
 Pošle odpověď na požadavek konkrétního ID metodou DELETE - obvykle objekt smaže.
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.

Privátní metody

QVariantList subtree (const QString &id, int depth)

Privátní atributy

int m_maxdepth

Další zděděné členy

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

Detailní popis

Výpis stromu kategorií

Je-li zadané id, vypíše všechny kategorie, které mají jak rodiče toto id. Není-li zadané id, vypíše všechny kategorie od vrcholku stromu. Zadaná kategorie (rodičovská) ve výpisu není!

Parametry
maxdept- do jaké hloubky se má jít (default 128). Při maxdepth 0 se vypíše pouze první kategorie ve stromu, žádná podkategorie.

Implementuje metody:

  • get

Struktura jednoho záznamu:

{
"category": "1", // Primární klíč - identifikátor kategorie
"parent_category": "0", // Rodičovská kategorie
"description": "Projekty Hobrasoft", // Popis kategorie
"price": 700, // Cena, která by se měla nastavit pro každý nový ticket v této kategorii
"categories": { {....podkategorie } ]
}

Definice je uvedena na řádku 48 v souboru controllercategoriestree.h.

Dokumentace konstruktoru a destruktoru

◆ ControllerCategoriesTree()

ControllerCategoriesTree::ControllerCategoriesTree ( HobrasoftHttpd::HttpConnection * parent)

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

15 : AbstractController(parent) {
16 m_maxdepth = 128;
17}
AbstractController(HobrasoftHttpd::HttpConnection *parent)
Konstruktor.

Dokumentace členských funkcí

◆ serviceIdGet()

void ControllerCategoriesTree::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 25 v souboru controllercategoriestree.cpp.

25 {
26 if (request->parameter("maxdepth") != "") {
27 m_maxdepth = request->parameter("maxdepth").toInt();
28 }
29 serviceOK(request, response, subtree(id, 0));
30}
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.

◆ serviceList()

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

Pošle chybovou odpověď

Parametry
code- chybový kód (například 404)
error- chybový textový kód
reason- vysvětlení chyby

Posílá odpověď zformátovanou takto:

Content-Type: application/json
Cache-Control: no-cache,public
404 not-found
{ "error" : "not-found", "reason" : "Not found" }

*/ virtual void serviceError (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response, int code, const QString& error, const QString& reason);

/**

Pošle chybovou odpověď

Parametry
code- chybový kód (například 404)
error- chybový textový kód, píše se do HTTP statutu
reason- vysvětlení chyby

Posílá odpověď zformátovanou takto:

Content-Type: application/json
Cache-Control: no-cache,public
404 text v parametru error
{ ..... }

*/ virtual void serviceError (HobrasoftHttpd::HttpRequest *request, HobrasoftHttpd::HttpResponse *response, int code, const QString& error, const QVariantMap& data);

/**

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 20 v souboru controllercategoriestree.cpp.

20 {
21 return serviceIdGet(request, response, QString());
22}
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.

◆ subtree()

QVariantList ControllerCategoriesTree::subtree ( const QString & id,
int depth )
private

Definice je uvedena na řádku 33 v souboru controllercategoriestree.cpp.

33 {
34 if (depth > m_maxdepth) { return QVariantList(); }
35 depth += 1;
36 QList<Dbt::Categories> list = db()->subcategories(id);
37 QVariantList tree;
38 for (int i=0; i<list.size(); i++) {
39 QVariantMap x = list[i].toMap();
40 x["categories"] = subtree(list[i].category, depth);
41 tree << x;
42 }
43 return tree;
44}

Dokumentace datových členů

◆ m_maxdepth

int Httpd::ControllerCategoriesTree::m_maxdepth
private

Definice je uvedena na řádku 63 v souboru controllercategoriestree.h.


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