mirror of
https://github.com/YACReader/yacreader
synced 2025-06-04 01:28:55 -04:00
Reimplement LibrariesControllerV2 for serving JSON.
This commit is contained in:
parent
555adc80bb
commit
da5a4def96
@ -1,7 +1,6 @@
|
|||||||
#include "librariescontroller_v2.h"
|
#include "librariescontroller_v2.h"
|
||||||
#include "db_helper.h" //get libraries
|
#include "db_helper.h" //get libraries
|
||||||
#include "yacreader_libraries.h"
|
#include "yacreader_libraries.h"
|
||||||
#include "yacreader_http_session.h"
|
|
||||||
|
|
||||||
#include "template.h"
|
#include "template.h"
|
||||||
#include "../static.h"
|
#include "../static.h"
|
||||||
@ -13,30 +12,28 @@ LibrariesControllerV2::LibrariesControllerV2() {}
|
|||||||
void LibrariesControllerV2::service(HttpRequest& request, HttpResponse& response)
|
void LibrariesControllerV2::service(HttpRequest& request, HttpResponse& response)
|
||||||
{
|
{
|
||||||
HttpSession session=Static::sessionStore->getSession(request,response,false);
|
HttpSession session=Static::sessionStore->getSession(request,response,false);
|
||||||
YACReaderHttpSession *ySession = Static::yacreaderSessionStore->getYACReaderSessionHttpSession(session.getId());
|
|
||||||
|
|
||||||
response.setHeader("Content-Type", "text/html; charset=utf-8");
|
response.setHeader("Content-Type", "application/json");
|
||||||
response.setHeader("Connection","close");
|
response.setHeader("Connection","close");
|
||||||
|
|
||||||
ySession->clearNavigationPath();
|
|
||||||
|
|
||||||
Template t=Static::templateLoader->getTemplate("libraries_"+ySession->getDeviceType(),request.getHeader("Accept-Language"));
|
|
||||||
t.enableWarnings();
|
|
||||||
|
|
||||||
YACReaderLibraries libraries = DBHelper::getLibraries();
|
YACReaderLibraries libraries = DBHelper::getLibraries();
|
||||||
QList<QString> names = DBHelper::getLibrariesNames();
|
QList<QString> names = DBHelper::getLibrariesNames();
|
||||||
|
|
||||||
t.loop("library",names.length());
|
QJsonArray librariesJson;
|
||||||
|
|
||||||
int currentId = 0;
|
int currentId = 0;
|
||||||
int i = 0;
|
|
||||||
foreach (QString name,names) {
|
foreach (QString name,names) {
|
||||||
currentId = libraries.getId(name);
|
currentId = libraries.getId(name);
|
||||||
t.setVariable(QString("library%1.name").arg(i),QString::number(currentId));
|
QJsonObject library;
|
||||||
t.setVariable(QString("library%1.label").arg(i),name);
|
|
||||||
i++;
|
library["name"] = name;
|
||||||
|
library["id"] = currentId;
|
||||||
|
|
||||||
|
librariesJson.append(library);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QJsonDocument output(librariesJson);
|
||||||
|
|
||||||
response.setStatus(200,"OK");
|
response.setStatus(200,"OK");
|
||||||
response.write(t.toUtf8(),true);
|
response.write(output.toJson(),true);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user