#include "AdminTopicPage.h" #include "Poco/Net/HTTPServerRequest.h" #include "Poco/Net/HTTPServerResponse.h" #include "Poco/Net/HTMLForm.h" #include "Poco/DeflatingStream.h" #line 7 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\adminTopic.cpsp" #include "../controller/HederaAccount.h" #include "../controller/HederaTopic.h" #include "../controller/Group.h" #include "../SingletonManager/SessionManager.h" #include "../ServerConfig.h" #include "../lib/DataTypeConverter.h" #include "Poco/Timespan.h" #line 1 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_large.cpsp" #include "../ServerConfig.h" AdminTopicPage::AdminTopicPage(Session* arg): SessionHTTPRequestHandler(arg) { } void AdminTopicPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::HTTPServerResponse& response) { response.setChunkedTransferEncoding(true); response.setContentType("text/html"); bool _compressResponse(request.hasToken("Accept-Encoding", "gzip")); if (_compressResponse) response.set("Content-Encoding", "gzip"); Poco::Net::HTMLForm form(request, request.stream()); #line 16 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\adminTopic.cpsp" const char* pageName = "Topic"; auto user = mSession->getNewUser(); auto sm = SessionManager::getInstance(); std::string name = ""; int auto_renew_account = 0; int auto_renew_period = 604800; // 7 Tage int group_id = 0; if(!form.empty()) { name = form.get("topic-name", ""); auto auto_renew_account_string = form.get("topic-auto-renew-account", "0"); auto auto_renew_period_string = form.get("topic-auto-renew-period", "604800"); auto group_id_string = form.get("topic-group", "-1"); if(name != "" && !sm->isValid(name, VALIDATE_NAME)) { addError(new Error("Topic", "Name not valid, at least 3 Character")); } if(!sm->isValid(auto_renew_account_string, VALIDATE_ONLY_INTEGER)) { addError(new Error("Topic", "auto renew account id not an integer")); } else { if(DataTypeConverter::strToInt(auto_renew_account_string, auto_renew_account) != DataTypeConverter::NUMBER_PARSE_OKAY) { addError(new Error("Int convert error", "Error converting auto renew account id to int")); } } if(!sm->isValid(auto_renew_period_string, VALIDATE_ONLY_INTEGER)) { addError(new Error("Topic", "auto renew period not an integer")); } else { if(DataTypeConverter::strToInt(auto_renew_period_string, auto_renew_period) != DataTypeConverter::NUMBER_PARSE_OKAY) { addError(new Error("Int convert error", "Error converting auto renew period to int")); } } if(!sm->isValid(group_id_string, VALIDATE_ONLY_INTEGER)) { addError(new Error("Topic", "group_id not an integer")); } else { if(DataTypeConverter::strToInt(group_id_string, group_id) != DataTypeConverter::NUMBER_PARSE_OKAY) { addError(new Error("Int convert error", "Error converting group_id to int")); } } } auto hedera_accounts = controller::HederaAccount::load("user_id", user->getModel()->getID()); //std::vector> hedera_accounts; auto groups = controller::Group::listAll(); std::map group_indices; int count = 0; for(auto it = groups.begin(); it != groups.end(); it++) { group_indices.insert(std::pair((*it)->getModel()->getID(), count)); count++; } auto hedera_topics = controller::HederaTopic::listAll(); //std::vector> hedera_topics; #line 3 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_large.cpsp" bool withMaterialIcons = false; std::ostream& _responseStream = response.send(); Poco::DeflatingOutputStream _gzipStream(_responseStream, Poco::DeflatingStreamBuf::STREAM_GZIP, 1); std::ostream& responseStream = _compressResponse ? _gzipStream : _responseStream; responseStream << "\n"; // begin include header_large.cpsp responseStream << "\n"; responseStream << "\n"; responseStream << "\n"; responseStream << "\n"; responseStream << "\n"; responseStream << "\n"; responseStream << "Gradido Login Server: "; #line 11 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_large.cpsp" responseStream << ( pageName ); responseStream << "\n"; responseStream << "\n"; #line 13 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_large.cpsp" if(withMaterialIcons) { responseStream << "\n"; responseStream << "\n"; #line 15 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_large.cpsp" } responseStream << "\n"; responseStream << "\n"; responseStream << "\n"; responseStream << "
\n"; responseStream << "\t\t
\n"; responseStream << "\t\t\t
\n"; responseStream << "\t\t\t\t\n"; responseStream << "\t\t\t
\n"; responseStream << "\t\t
\n"; responseStream << "\t\t
"; // end include header_large.cpsp responseStream << "\n"; responseStream << "\n"; #line 87 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\adminTopic.cpsp" responseStream << ( getErrorsHtml() ); responseStream << "\n"; responseStream << "
\n"; responseStream << "\t

Topic Admin Page

\n"; responseStream << "
\n"; responseStream << "
\n"; responseStream << "\t
\n"; responseStream << "\t\t
\n"; responseStream << "\t\t\t

Hedera Topics

\n"; responseStream << "\t\t
\t\n"; responseStream << "\t\t
\n"; responseStream << "\t\t\t
\n"; responseStream << "\t\t\t\t
Topic ID
\t\t\t\n"; responseStream << "\t\t\t\t
Name
\n"; responseStream << "\t\t\t\t
Network Type
\n"; responseStream << "\t\t\t\t
Auto Renew Account Balance
\n"; responseStream << "\t\t\t\t
Auto Renew Period
\n"; responseStream << "\t\t\t\t
Group ID
\n"; responseStream << "\t\t\t\t
Current Timeout
\n"; responseStream << "\t\t\t\t
Sequence Number
\n"; responseStream << "\t\t\t\t
Last Updated
\n"; responseStream << "\t\t\t\t
Aktionen
\n"; responseStream << "\t\t\t
\n"; responseStream << "\t\t\t"; #line 109 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\adminTopic.cpsp" for(auto it = hedera_topics.begin(); it != hedera_topics.end(); it++) { auto hedera_topic_model = (*it)->getModel(); auto updateUrl = ServerConfig::g_serverPath + "/topic?action=getTopicInfos&topic_id=" + std::to_string(hedera_topic_model->getID()); auto auto_renew_account = (*it)->getAutoRenewAccount(); auto renew_account_model = auto_renew_account->getModel(); std::string timeout_color = "success-color"; if(hedera_topic_model->getCurrentTimeout() < Poco::DateTime()) { timeout_color = "alert-color"; } else if(hedera_topic_model->getCurrentTimeout() - Poco::DateTime() > Poco::Timespan(2,0,0,0,0)) { timeout_color = "orange-color"; } responseStream << "\n"; responseStream << "\t\t\t\t
\n"; responseStream << "\t\t\t\t\t
"; #line 122 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\adminTopic.cpsp" responseStream << ( (*it)->getTopicHederaId()->getModel()->toString() ); responseStream << "
\n"; responseStream << "\t\t\t\t\t
"; #line 123 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\adminTopic.cpsp" responseStream << ( hedera_topic_model->getName() ); responseStream << "
\n"; responseStream << "\t\t\t\t\t
"; #line 124 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\adminTopic.cpsp" responseStream << ( model::table::HederaAccount::hederaNetworkTypeToString(renew_account_model->getNetworkType()) ); responseStream << "
\n"; responseStream << "\t\t\t\t\t
"; #line 125 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\adminTopic.cpsp" responseStream << ( renew_account_model->getBalanceString() ); responseStream << "
\n"; responseStream << "\t\t\t\t\t
"; #line 126 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\adminTopic.cpsp" responseStream << ( hedera_topic_model->getAutoRenewPeriodString() ); responseStream << "
\n"; responseStream << "\t\t\t\t\t
"; #line 127 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\adminTopic.cpsp" responseStream << ( hedera_topic_model->getGroupId() ); responseStream << "
\n"; responseStream << "\t\t\t\t\t
"; #line 128 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\adminTopic.cpsp" responseStream << ( hedera_topic_model->getCurrentTimeoutString() ); responseStream << "
\n"; responseStream << "\t\t\t\t\t
"; #line 129 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\adminTopic.cpsp" responseStream << ( hedera_topic_model->getSequenceNumber() ); responseStream << "
\n"; responseStream << "\t\t\t\t\t
"; #line 130 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\adminTopic.cpsp" responseStream << ( hedera_topic_model->getUpdatedString() ); responseStream << "
\n"; responseStream << "\t\t\t\t\t
\n"; responseStream << "\t\t\t\t\t\t\n"; responseStream << "\t\t\t\t\t
\n"; responseStream << "\t\t\t\t
\n"; responseStream << "\t\t\t"; #line 137 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\adminTopic.cpsp" } responseStream << "\n"; responseStream << "\t\t
\n"; responseStream << "\t
\n"; responseStream << "\t
\n"; responseStream << "\t

Ein neues Topic anlegen

\n"; responseStream << "\t
\n"; responseStream << "\t
\n"; responseStream << "\t\t
\n"; responseStream << "\t\t\t\n"; responseStream << "\t\t\t\n"; responseStream << "\t\t\t\n"; responseStream << "\t\t\t\n"; responseStream << "\t\t\t\n"; responseStream << "\t\t\t
\n"; responseStream << "\t\t\t\n"; responseStream << "\t\t\t\n"; responseStream << "\t\t\t\n"; responseStream << "\t\t\t\n"; responseStream << "\t\t\n"; responseStream << "\t
\n"; responseStream << "
\n"; // begin include footer.cpsp responseStream << "
\n"; responseStream << "

Copyright © Gradido 2020

\n"; responseStream << "
\n"; responseStream << "
\n"; responseStream << "
\n"; responseStream << " "; #line 6 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\footer.cpsp" responseStream << ( mTimeProfiler.string() ); responseStream << "\n"; responseStream << "
\n"; responseStream << "
\n"; responseStream << "

Login Server in Entwicklung

\n"; responseStream << "

Alpha "; #line 10 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\footer.cpsp" responseStream << ( ServerConfig::g_versionString ); responseStream << "

\n"; responseStream << "
\n"; responseStream << "
\n"; responseStream << "\n"; responseStream << "\n"; responseStream << ""; // end include footer.cpsp responseStream << "\n"; responseStream << "\n"; responseStream << ""; if (_compressResponse) _gzipStream.close(); }