fix login server that it can build again (after Ulfs rebase action)

This commit is contained in:
einhornimmond 2021-03-31 17:49:02 +02:00
parent 55334799cb
commit 436499458b
14 changed files with 171 additions and 932 deletions

View File

@ -181,13 +181,13 @@ if(WIN32)
#set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g3")
#set(CMAKE_CXX_FLAGS_RELEASE "-O3")
else(WIN32)
else()
set(INSTALL_BINDIR "bin")
set(INSTALL_PLUGINDIR "bin")
target_link_libraries(Gradido_LoginServer ${CONAN_OPENSSL_CUSTOM_LIBS})
endif(WIN32)
endif()
set(BUILD_TESTING OFF)
set(gRPC_SSL_PROVIDER "package")

View File

@ -5,7 +5,7 @@
#include "Poco/DeflatingStream.h"
#line 7 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\checkTransaction.cpsp"
#line 7 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
#include "../SingletonManager/SessionManager.h"
#include "../SingletonManager/SingletonTaskObserver.h"
@ -42,7 +42,7 @@ void CheckTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request,
if (_compressResponse) response.set("Content-Encoding", "gzip");
Poco::Net::HTMLForm form(request, request.stream());
#line 24 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\checkTransaction.cpsp"
#line 28 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
const char* pageName = gettext("Überprüfe Transaktion");
auto account_user = mSession->getNewUser();
@ -64,101 +64,15 @@ void CheckTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request,
}
PageState state = PAGE_NO_TRANSACTIONS;
if(!user_model->isEmailChecked()) {
addError(new Error(gettext("E-Mail Aktivierung"), gettext("E-Mail wurde noch nicht aktiviert, du kannst leider noch keine Transaktionen ausführen!")));
hasErrors = true;
}
bool transaction_finalize_run = false;
bool transaction_finalize_result = false;
auto transactions_to_sign = pt->getTransactionsUserMustSign(account_user);
//Poco::AutoPtr<controller::PendingTask> pending_task;
Poco::AutoPtr<controller::PendingTask> pending_task;
model::gradido::Transaction* transaction = nullptr;
Poco::AutoPtr<model::gradido::TransactionBody> transaction_body;
if(!form.empty())
{
transaction = dynamic_cast<model::gradido::Transaction*>(transactions_to_sign[0].get());
transaction_body = transaction->getTransactionBody();
if(!form.empty()) {
auto ok = form.get("ok", "");
auto abort = form.get("abort", "");
auto back = form.get("back", "");
if(abort != "") {
transaction_finalize_result = mSession->finalizeTransaction(false, true);
transaction_finalize_run = true;
} else if(ok != "") {
if(!account_user->hasPassword()) {
auto pwd = form.get("sign-password", "");
auto loginResult = account_user->login(pwd);
switch(loginResult) {
case 0:
addError(new Error(gettext("Passwort"), gettext("Das Passwort stimmt nicht. Bitte verwende dein Passwort von der Registrierung")));
hasErrors = true;
break;
case -1:
case -2:
addError(new Error(gettext("Passwort"), gettext("Gespeicherte Daten sind korrupt!")));
hasErrors = true;
state = PAGE_USER_DATA_CORRUPTED;
break;
case -3:
addError(new Error(gettext("Passwort"), gettext("Passwortprüfung läuft schon, bitte versuche es in 1-2 Minuten erneut.")));
hasErrors = true;
break;
}
}
if(!hasErrors) {
transaction_finalize_result = mSession->finalizeTransaction(true, false);
transaction_finalize_run = true;
}
} else if(back == "back") {
auto lastExternReferer = mSession->getLastReferer();
//lastExternReferer = "";
if(lastExternReferer != "" && lastExternReferer.find("transaction-send-coins") == std::string::npos) {
//printf("last extern referer: %s\n", lastExternReferer.data());
response.redirect(lastExternReferer);
} else {
response.redirect(ServerConfig::g_php_serverPath + "state-balances/overview");
}
return;
}
}
size_t notReadyTransactions = 0;
size_t sumTransactions = mSession->getProcessingTransactionCount();
if(sumTransactions == 0 && !transaction_finalize_run) {
/*auto observer = SingletonTaskObserver::getInstance();
auto emailHash = DRMakeStringHash(mSession->getUser()->getEmail());
int breakCount = 0;
while(observer->getTaskCount(emailHash, TASK_OBSERVER_SIGN_TRANSACTION) > 0) {
if(breakCount > 100) break;
breakCount++;
Poco::Thread::sleep(10);
}*/
auto pending_task_id_string = form.get("pending-task-id", "");
int pending_task_id = 0;
if(DataTypeConverter::NUMBER_PARSE_OKAY == DataTypeConverter::strToInt(pending_task_id_string, pending_task_id))
{
// make sure we have the correct transaction
transaction = nullptr;
printf("transaction_body isNull: %d\n", transaction_body.isNull());
transaction_body.assign(nullptr);
for(auto it = transactions_to_sign.begin(); it != transactions_to_sign.end(); it++)
{
if((*it)->getModel()->getID() == pending_task_id) {
transaction = dynamic_cast<model::gradido::Transaction*>(it->get());
transaction_body = transaction->getTransactionBody();
printf("set new transaction and transaction_body\n");
break;
}
}
if(abort != "")
/*
auto ok = form.get("ok", "");
auto abort = form.get("abort", "");
auto skip = form.get("skip", "");
@ -170,8 +84,7 @@ void CheckTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request,
{
// load transaction from pending task manager
pending_task = pt->getPendingTask(pending_task_id);
if(!pending_task.isNull() && pending_task->getModel()->isGradidoTransaction())
*/
if(!pending_task.isNull() && pending_task->getModel()->isGradidoTransaction())
{
transaction = dynamic_cast<model::gradido::Transaction*>(pending_task.get());
if(transaction->hasSigned(account_user)) {
@ -322,39 +235,23 @@ void CheckTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request,
responseStream << " <meta charset=\"UTF-8\">\n";
responseStream << " <meta name=\"viewport\" content=\"width=device-width, initial-scale=1, shrink-to-fit=no\">\n";
responseStream << " <title>Gradido Login Server: ";
#line 7 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\header_navi_chr.cpsp"
#line 7 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\header_navi_chr.cpsp"
responseStream << ( pageName );
responseStream << "</title>\n";
responseStream << " <link href=\"";
/*
#line 8 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\header_navi_chr.cpsp"
responseStream << ( ServerConfig::g_php_serverPath );
responseStream << "favicon.ico\" type=\"image/x-icon\" rel=\"icon\" />\n";
responseStream << " <link href=\"";
#line 9 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\header_navi_chr.cpsp"
responseStream << ( ServerConfig::g_php_serverPath );
responseStream << "favicon.ico\" type=\"image/x-icon\" rel=\"shortcut icon\" />\n";
responseStream << " <link rel=\"stylesheet\" href=\"";
#line 10 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\header_navi_chr.cpsp"
responseStream << ( ServerConfig::g_php_serverPath );
responseStream << "css/main.css\" />\n";
responseStream << " <script src=\"";
#line 11 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\header_navi_chr.cpsp"
responseStream << ( ServerConfig::g_php_serverPath );
*/
#line 8 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_navi_chr.cpsp"
#line 8 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\header_navi_chr.cpsp"
responseStream << ( community_server_base_path );
responseStream << "/favicon.ico\" type=\"image/x-icon\" rel=\"icon\" />\n";
responseStream << " <link href=\"";
#line 9 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_navi_chr.cpsp"
#line 9 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\header_navi_chr.cpsp"
responseStream << ( community_server_base_path );
responseStream << "/favicon.ico\" type=\"image/x-icon\" rel=\"shortcut icon\" />\n";
responseStream << " <link rel=\"stylesheet\" href=\"";
#line 10 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_navi_chr.cpsp"
#line 10 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\header_navi_chr.cpsp"
responseStream << ( community_server_base_path );
responseStream << "/css/main.css\" />\n";
responseStream << " <script src=\"";
#line 11 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_navi_chr.cpsp"
#line 11 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\header_navi_chr.cpsp"
responseStream << ( community_server_base_path );
responseStream << "/js/basic.js\"></script>\n";
responseStream << "</head>\n";
@ -365,63 +262,34 @@ void CheckTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request,
responseStream << " </div>\n";
responseStream << " <div class=\"sidebar1 nav-menu initial\">\n";
responseStream << " <a href=\"";
/*
#line 19 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\header_navi_chr.cpsp"
responseStream << ( ServerConfig::g_php_serverPath );
responseStream << "\">\n";
responseStream << " <picture class=\"logo big visible\">\n";
responseStream << " <source srcset=\"";
#line 21 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\header_navi_chr.cpsp"
responseStream << ( ServerConfig::g_php_serverPath );
responseStream << "img/logo_schrift_half.webp\" type=\"image/webp\">\n";
responseStream << " <source srcset=\"";
#line 22 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\header_navi_chr.cpsp"
responseStream << ( ServerConfig::g_php_serverPath );
responseStream << "img/logo_schrift_half.png\" type=\"image/png\">\n";
responseStream << " <img src=\"";
#line 23 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\header_navi_chr.cpsp"
responseStream << ( ServerConfig::g_php_serverPath );
*/
#line 19 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_navi_chr.cpsp"
#line 19 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\header_navi_chr.cpsp"
responseStream << ( community_server_base_path );
responseStream << "\">\n";
responseStream << " <picture class=\"logo big visible\">\n";
responseStream << " <source srcset=\"";
#line 21 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_navi_chr.cpsp"
#line 21 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\header_navi_chr.cpsp"
responseStream << ( community_server_base_path );
responseStream << "/img/logo_schrift_half.webp\" type=\"image/webp\">\n";
responseStream << " <source srcset=\"";
#line 22 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_navi_chr.cpsp"
#line 22 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\header_navi_chr.cpsp"
responseStream << ( community_server_base_path );
responseStream << "/img/logo_schrift_half.png\" type=\"image/png\">\n";
responseStream << " <img src=\"";
#line 23 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_navi_chr.cpsp"
#line 23 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\header_navi_chr.cpsp"
responseStream << ( community_server_base_path );
responseStream << "/img/logo_schrift_half.png\" class=\"logo big visible\" alt=\"Logo\">\n";
responseStream << " </picture>\n";
responseStream << " <picture class=\"logo small\">\n";
responseStream << " <source srcset=\"";
/*
#line 26 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\header_navi_chr.cpsp"
responseStream << ( ServerConfig::g_php_serverPath );
responseStream << "img/logo_half.webp\" type=\"image/webp\">\n";
responseStream << " <source srcset=\"";
#line 27 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\header_navi_chr.cpsp"
responseStream << ( ServerConfig::g_php_serverPath );
responseStream << "img/logo_half.png\" type=\"image/png\">\n";
responseStream << " <img src=\"";
#line 28 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\header_navi_chr.cpsp"
responseStream << ( ServerConfig::g_php_serverPath );
*/
#line 26 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_navi_chr.cpsp"
#line 26 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\header_navi_chr.cpsp"
responseStream << ( community_server_base_path );
responseStream << "/img/logo_half.webp\" type=\"image/webp\">\n";
responseStream << " <source srcset=\"";
#line 27 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_navi_chr.cpsp"
#line 27 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\header_navi_chr.cpsp"
responseStream << ( community_server_base_path );
responseStream << "/img/logo_half.png\" type=\"image/png\">\n";
responseStream << " <img src=\"";
#line 28 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_navi_chr.cpsp"
#line 28 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\header_navi_chr.cpsp"
responseStream << ( community_server_base_path );
responseStream << "/img/logo_half.png\" class=\"logo small\" alt=\"Logo\">\n";
responseStream << " </picture>\n";
@ -430,39 +298,29 @@ void CheckTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request,
responseStream << " <i class=\"material-icons-outlined nav-main-button\">menu</i>\n";
responseStream << " </div>\n";
responseStream << " <div class=\"flash-messages\" onclick=\"this.classList.add('hidden')\">";
#line 34 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\header_navi_chr.cpsp"
#line 34 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\header_navi_chr.cpsp"
responseStream << ( getErrorsHtmlNewFormat() );
responseStream << "</div>\n";
responseStream << " <div class=\"nav-vertical\">\n";
responseStream << " <ul>\n";
responseStream << " <li><a href=\"";
#line 37 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\header_navi_chr.cpsp"
//responseStream << ( ServerConfig::g_php_serverPath );
#line 37 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_navi_chr.cpsp"
#line 37 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\header_navi_chr.cpsp"
responseStream << ( community_server_base_path );
responseStream << "/state-balances/overview\" class=\"\"><i class=\"material-icons-outlined nav-icon \" title=\"Kontoübersicht ( ";
#line 37 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_navi_chr.cpsp"
#line 37 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\header_navi_chr.cpsp"
responseStream << ( model::gradido::TransactionBase::amountToString(userBalance) );
// responseStream << ( TransactionBase::amountToString(userBalance) );
responseStream << " GDD )\">account_balance_wallet</i><span\n";
responseStream << " class=\"link-title\">Kontoübersicht ( ";
#line 38 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\header_navi_chr.cpsp"
responseStream << ( TransactionBase::amountToString(userBalance) );
#line 38 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\header_navi_chr.cpsp"
responseStream << ( model::gradido::TransactionBase::amountToString(userBalance) );
responseStream << " GDD )</span></a></li>\n";
responseStream << " <li><a href=\"";
#line 39 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\header_navi_chr.cpsp"
//responseStream << ( ServerConfig::g_php_serverPath );
//responseStream << "dashboard/index\" class=\"\"><i class=\"material-icons-outlined nav-icon \" title=\"Startseite\">home</i><span\n";
//responseStream << " class=\"link-title\">Startseite</span></a></li>\n";
//responseStream << " <li class=' selected'><a href=\"";
#line 41 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\header_navi_chr.cpsp"
//responseStream << ( ServerConfig::g_php_serverPath );
#line 39 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_navi_chr.cpsp"
#line 39 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\header_navi_chr.cpsp"
responseStream << ( community_server_base_path );
responseStream << "/dashboard/index\" class=\"\"><i class=\"material-icons-outlined nav-icon \" title=\"Startseite\">home</i><span\n";
responseStream << " class=\"link-title\">Startseite</span></a></li>\n";
responseStream << " <li class=' selected'><a href=\"";
#line 41 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_navi_chr.cpsp"
#line 41 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\header_navi_chr.cpsp"
responseStream << ( community_server_base_path );
responseStream << "transaction-send-coins/create\" class=\"\"><i class=\"material-icons-outlined nav-icon \"\n";
responseStream << " title=\"Überweisung\">account_balance</i><span class=\"link-title\">Überweisung</span></a></li>\n";
@ -475,267 +333,185 @@ void CheckTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request,
responseStream << " <div class=\"nav-content\">\n";
responseStream << " <ul class='nav-content-list'>\n";
responseStream << " <li><a href=\"";
#line 51 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_navi_chr.cpsp"
#line 51 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\header_navi_chr.cpsp"
responseStream << ( community_server_base_path );
responseStream << "/\" class=\"\"><span class=\"link-title\">Startseite</span></a></li>\n";
responseStream << " <li class='nav-content-separator'>-</li>\n";
responseStream << " <li class='selected'><span class=\"link-title\">";
#line 53 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\header_navi_chr.cpsp"
#line 53 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\header_navi_chr.cpsp"
responseStream << ( pageName );
responseStream << "</span></li>\n";
responseStream << " </ul>\n";
responseStream << " </div>";
// end include header_navi_chr.cpsp
responseStream << "\n";
/*
#line 126 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\checkTransaction.cpsp"
if(transaction_finalize_run) { responseStream << "\n";
responseStream << "<div class=\"col-md-10 equel-grid mb-3\">\n";
responseStream << "\t<div class=\"flash-messages\" style=\"background-color: rgba(240,240,240,0.8);\" onclick=\"this.classList.add('hidden')\">\n";
responseStream << "\t\t<ul class='grd-no-style'>\n";
responseStream << "\t\t\t";
#line 130 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\checkTransaction.cpsp"
if(transaction_finalize_result) { responseStream << " \n";
responseStream << "\t\t\t\t<li class='grd-success'>Transaktion erfolgreich</li>\n";
responseStream << "\t\t\t";
#line 132 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\checkTransaction.cpsp"
} else { responseStream << "\n";
responseStream << "\t\t\t\t<li class='grd-error'>Transaktion fehlgeschlagen</li>\n";
responseStream << "\t\t\t";
#line 134 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\checkTransaction.cpsp"
} responseStream << "\n";
responseStream << "\t\t</ul>\n";
responseStream << "\t</div>\n";
responseStream << "</div>\n";
#line 138 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\checkTransaction.cpsp"
} responseStream << "\n";
responseStream << "<div class=\"col-md-10 equel-grid mb-3\">\n";
responseStream << "\t<small class=\"text-gray d-block mt-3\">\n";
responseStream << "\t";
#line 141 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\checkTransaction.cpsp"
if(sumTransactions > 0 && sumTransactions - notReadyTransactions != 1) { responseStream << "\n";
responseStream << "\t\t";
#line 142 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\checkTransaction.cpsp"
if(notReadyTransactions > 0) { responseStream << " \n";
responseStream << "\t\t\t";
#line 143 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( sumTransactions - notReadyTransactions );
responseStream << " ";
#line 143 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( gettext("von") );
responseStream << " ";
#line 143 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( sumTransactions );
responseStream << " ";
#line 143 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( gettext("Transaktionen sind bereit zum best&auml;tigen") );
responseStream << "\n";
responseStream << "\t\t";
#line 144 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\checkTransaction.cpsp"
} else { responseStream << "\n";
responseStream << "\t\t\t";
#line 145 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( sumTransactions );
responseStream << " ";
#line 145 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( gettext("Transaktionen warten darauf best&auml;tigt zu werden.") );
responseStream << "\n";
responseStream << "\t\t";
#line 146 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\checkTransaction.cpsp"
} responseStream << "\n";
responseStream << "\t";
#line 147 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\checkTransaction.cpsp"
} responseStream << "\n";
responseStream << "\t";
#line 148 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\checkTransaction.cpsp"
if(state == PAGE_NO_TRANSACTIONS) { responseStream << "\n";
responseStream << "\t\t";
#line 149 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\checkTransaction.cpsp"
if(sumTransactions == 0) { responseStream << "\n";
responseStream << "\t\t\t";
#line 150 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( gettext("Es gibt zurzeit keine Transaktionen zum best&auml;tigen") );
responseStream << "\n";
responseStream << "\t\t";
#line 151 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\checkTransaction.cpsp"
} else { responseStream << "\n";
responseStream << "\t\t\t";
#line 152 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( gettext("Transaktion(en) werden noch vorbereitet, bitte lade die Seite in wenigen Augenblicken erneut.") );
responseStream << "\n";
responseStream << "\t\t";
#line 153 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\checkTransaction.cpsp"
} responseStream << "\n";
responseStream << " ";
#line 154 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\checkTransaction.cpsp"
*/
#line 192 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"´
#line 209 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( getErrorsHtml() );
responseStream << "\n";
responseStream << "<div class=\"col-md-10 equel-grid mb-3\">\n";
responseStream << "\t<small class=\"text-gray d-block mt-3\">\n";
responseStream << "\t";
#line 212 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 212 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
if(sumTransactions == 0) { responseStream << "\n";
responseStream << "\t\t";
#line 213 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 213 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( gettext("Es gibt zurzeit keine Transaktionen zum best&auml;tigen") );
responseStream << "\n";
responseStream << " ";
#line 214 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 214 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
} else { responseStream << "\t\n";
responseStream << "\t\t<p>";
#line 215 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 215 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( sumTransactions );
responseStream << " ";
#line 215 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 215 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( gettext("Transaktionen warten darauf best&auml;tigt zu werden.") );
responseStream << "</p>\n";
responseStream << "\t\t";
#line 216 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 216 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
if(skip_count > 0) { responseStream << "\n";
responseStream << "\t\t\t<p>";
#line 217 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 217 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( skip_count );
responseStream << " ";
#line 217 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 217 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( gettext("Transaktionen &uuml;bersprungen.") );
responseStream << "</p>\n";
responseStream << "\t\t";
#line 218 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 218 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
} responseStream << "\n";
responseStream << "\t";
#line 219 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 219 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
} responseStream << "\n";
responseStream << "\t</small>\n";
responseStream << "</div>\n";
responseStream << "<div class=\"content-container main-container\">\n";
responseStream << "\t<div class=\"action-form\">\n";
responseStream << "\t\t<p class=\"form-header\">";
#line 224 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 224 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( gettext("Transaktion Unterzeichnen") );
responseStream << "</p>\n";
responseStream << "\t\t<div class=\"form-content\">\n";
responseStream << "\t\t";
#line 226 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 226 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
if(state == PAGE_TRANSACTION_TRANSFER) {
auto transferTransaction = transaction_body->getTransferTransaction();
responseStream << "\n";
responseStream << "\t\t\t<p>";
#line 229 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 229 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( gettext("&Uuml;berweisung") );
responseStream << "</p>\n";
responseStream << "\t\t\t<div class=\"content-table\">\n";
responseStream << "\t\t\t <div class=\"content-row content-row-header\">\n";
responseStream << "\t\t\t\t<span class=\"content-cell\">";
#line 232 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 232 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( gettext("Konto") );
responseStream << "</span>\n";
responseStream << "\t\t\t\t<span class=\"content-cell\">";
#line 233 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 233 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( gettext("Gradido") );
responseStream << "</span>\n";
responseStream << "\t\t\t </div>\n";
responseStream << "\t\t\t ";
#line 235 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 235 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
for(int i = 0; i < transferTransaction->getKontoTableSize(); i++) { responseStream << "\t\t\t\t\t\n";
responseStream << "\t\t\t\t\t";
#line 236 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 236 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
if((i+1) % 2 == 0) { responseStream << "\n";
responseStream << "\t\t\t\t\t\t<div class=\"content-row content-row\">\n";
responseStream << "\t\t\t\t\t";
#line 238 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 238 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
} else { responseStream << "\n";
responseStream << "\t\t\t\t\t\t<div class=\"content-row content-row-bg\">\n";
responseStream << "\t\t\t\t\t";
#line 240 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 240 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
} responseStream << "\n";
responseStream << "\t\t\t\t\t\t";
#line 241 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 241 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( transferTransaction->getKontoNameCell(i) );
responseStream << "\n";
responseStream << "\t\t\t\t\t\t";
#line 242 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 242 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
if(((i+1) % 2) == 0 && transferTransaction->getTargetGroupAlias() != "") { responseStream << "\n";
responseStream << "\t\t\t\t\t\t (";
#line 243 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 243 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( transferTransaction->getTargetGroupAlias() );
responseStream << ")\n";
responseStream << "\t\t\t\t\t\t";
#line 244 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 244 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
} responseStream << "\n";
responseStream << "\t\t\t\t\t\t";
#line 245 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 245 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( transferTransaction->getAmountCell(i) );
responseStream << "\n";
responseStream << "\t\t\t\t\t</div>\n";
responseStream << "\t\t\t ";
#line 247 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 247 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
} responseStream << "\n";
responseStream << "\t\t\t</div>\n";
responseStream << "\t\t\t ";
#line 249 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 249 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
} else if(PAGE_TRANSACTION_CREATION == state) {
auto creationTransaction = transaction_body->getCreationTransaction();
auto transactionUser = creationTransaction->getUser();
responseStream << "\n";
responseStream << "\t\t\t\t<p>";
#line 253 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 253 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( gettext("Sch&ouml;pfung") );
responseStream << "</p>\n";
responseStream << "\t\t\t\t<div class=\"content-table\">\n";
responseStream << "\t\t\t\t <div class=\"content-row content-row-header\">\n";
responseStream << "\t\t\t\t\t<span class=\"content-cell\">";
#line 256 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 256 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( gettext("Konto") );
responseStream << "</span>\n";
responseStream << "\t\t\t\t\t<span class=\"content-cell\">";
#line 257 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 257 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( gettext("Zieldatum") );
responseStream << "</span>\n";
responseStream << "\t\t\t\t\t<span class=\"content-cell\">";
#line 258 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 258 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( gettext("Gradido") );
responseStream << "</span>\n";
responseStream << "\t\t\t\t </div>\n";
responseStream << "\t\t\t\t <div class=\"content-row content-row-bg\">\n";
responseStream << "\t\t\t\t\t";
#line 261 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 261 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
if(!transactionUser.isNull()) {
auto user_model = transactionUser->getModel();
responseStream << "\n";
auto user_model = transactionUser->getModel();
responseStream << "\n";
responseStream << "\t\t\t\t\t\t<span class=\"content-cell\">";
#line 264 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 264 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( user_model->getFirstName() );
responseStream << " ";
#line 264 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 264 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( user_model->getLastName() );
responseStream << " &lt;";
#line 264 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 264 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( user_model->getEmail() );
responseStream << "&gt;</span>\n";
responseStream << "\t\t\t\t\t";
#line 265 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 265 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
} else { responseStream << "\n";
responseStream << "\t\t\t\t\t\t<span class=\"content-cell\">0x";
#line 266 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 266 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( creationTransaction->getPublicHex() );
responseStream << "</span>\n";
responseStream << "\t\t\t\t\t";
#line 267 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 267 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
} responseStream << "\n";
responseStream << "\t\t\t\t\t<span class=\"content-cell\">";
#line 268 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 268 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( creationTransaction->getTargetDateString() );
responseStream << "</span>\n";
responseStream << "\t\t\t\t\t<span class=\"content-cell success-color\">";
#line 269 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 269 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( creationTransaction->getAmountString() );
responseStream << " GDD</span>\n";
responseStream << "\t\t\t\t </div>\n";
responseStream << "\t\t\t\t</div>\n";
responseStream << "\t\t ";
#line 272 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 272 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
} else if(PAGE_TRANSACTION_GROUP_ADD_MEMBER == state) {
auto groupMemberUpdateTransaction = transaction_body->getGroupMemberUpdate();
auto groups = controller::Group::load(groupMemberUpdateTransaction->getTargetGroupAlias());
@ -750,112 +526,112 @@ void CheckTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request,
}
responseStream << "\n";
responseStream << "\t\t\t <p>";
#line 285 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 285 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( gettext("Benutzer zu einer Gruppe hinzufügen") );
responseStream << "</p>\n";
responseStream << "\t\t\t <div class=\"content-table\">\n";
responseStream << "\t\t\t\t<p>";
#line 287 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 287 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
if(!user.isNull()) { responseStream << "\n";
responseStream << "\t\t\t\t\t<b>Benutzer:</b>&nbsp;";
#line 288 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 288 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( user->getEmailWithNames() );
responseStream << "\n";
responseStream << "\t\t\t\t";
#line 289 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 289 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
} else { responseStream << "\n";
responseStream << "\t\t\t\t\t<b>Account public key:</b>&nbsp;";
#line 290 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 290 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( groupMemberUpdateTransaction->getPublicKeyHex() );
responseStream << "\n";
responseStream << "\t\t\t\t";
#line 291 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 291 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
} responseStream << "</p>\n";
responseStream << "\t\t\t\t";
#line 292 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 292 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
if(!group_model.isNull()) { responseStream << "\n";
responseStream << "\t\t\t\t\t<p><b>";
#line 293 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 293 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( gettext("Gruppe") );
responseStream << ":</b></p>\n";
responseStream << "\t\t\t\t\t<ul>\n";
responseStream << "\t\t\t\t\t\t<li>";
#line 295 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 295 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( gettext("Name") );
responseStream << ": ";
#line 295 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 295 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( group_model->getName() );
responseStream << "</li>\n";
responseStream << "\t\t\t\t\t\t<li>";
#line 296 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 296 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( gettext("Alias") );
responseStream << ": ";
#line 296 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 296 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( group_model->getAlias() );
responseStream << "</li>\n";
responseStream << "\t\t\t\t\t\t<li>";
#line 297 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 297 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( gettext("Url") );
responseStream << ": <a href=\"";
#line 297 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 297 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( group_model->getUrl() );
responseStream << "/pages/visitor\" target=\"_blank\">";
#line 297 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 297 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( group_model->getUrl() );
responseStream << "</a></li>\n";
responseStream << "\t\t\t\t\t\t<li>";
#line 298 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 298 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( group_model->getDescription() );
responseStream << "</li>\n";
responseStream << "\t\t\t\t\t</ul>\n";
responseStream << "\t\t\t\t";
#line 300 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 300 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
} else { responseStream << "\n";
responseStream << "\t\t\t\t\t";
#line 301 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 301 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( gettext("Unbekannte Gruppe") );
responseStream << "\n";
responseStream << "\t\t\t\t";
#line 302 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 302 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
} responseStream << "\n";
responseStream << "\t\t\t\t";
#line 303 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 303 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( gettext("Es haben bereits ") );
#line 303 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 303 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( std::to_string(transaction->getSignCount()) );
#line 303 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 303 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( gettext(" unterzeichnet") );
responseStream << "\n";
responseStream << "\t\t\t </div>\n";
responseStream << "\t\t\t \n";
responseStream << "\t\t\t ";
#line 306 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 306 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
} else if(PAGE_USER_DATA_CORRUPTED == state) { responseStream << "\n";
responseStream << "\t\t\t\t<p class=\"alert-color\">";
#line 307 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 307 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( gettext("Es gibt ein Problem mit deinen gespeicherten Daten, bitte wende dich an den"));
responseStream << "<a href=\"mailto:";
#line 307 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 307 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( em->getAdminReceiver());
responseStream << "?subject=Corrupt User Data&amp;body=Hallo Dario,%0D%0A%0D%0Ameine Benutzer Daten sind korrupt.%0D%0Akannst du das prüfen?%0D%0A%0D%0AMit freundlichen Grüßen%0D%0A\">";
#line 307 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 307 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << (gettext("Support") );
responseStream << "</a></p>\n";
responseStream << "\t\t\t ";
#line 308 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 308 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
} responseStream << "\n";
responseStream << "\t\t\t ";
#line 309 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 309 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
if(PAGE_NO_TRANSACTIONS == state) { responseStream << "\n";
responseStream << "\t\t\t\t<a href=\"";
#line 310 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 310 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( ServerConfig::g_php_serverPath );
responseStream << "\">";
#line 310 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 310 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( gettext("Zur&uuml;ck") );
responseStream << "</a>\n";
responseStream << "\t\t\t ";
#line 311 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 311 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
} else { responseStream << "\n";
responseStream << "\t\t\t\t<div class=\"content-table\">\n";
responseStream << "\t\t\t\t <div class=\"content-row content-row-header\">\n";
@ -863,7 +639,7 @@ void CheckTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request,
responseStream << "\t\t\t\t </div>\n";
responseStream << "\t\t\t\t <div class=\"content-row\">\n";
responseStream << "\t\t\t\t\t<span class=\"content-cell\">";
#line 317 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 317 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( user_model->getNameWithEmailHtml() );
responseStream << "</span>\n";
responseStream << "\t\t\t\t </div>\n";
@ -874,93 +650,81 @@ void CheckTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request,
responseStream << "\t\t\t\t </div>\n";
responseStream << "\t\t\t\t <div class=\"content-row content-row-bg\">\n";
responseStream << "\t\t\t\t\t<span class=\"content-cell\">";
#line 325 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 325 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( memo );
responseStream << "</span>\n";
responseStream << "\t\t\t\t </div>\n";
responseStream << "\t\t\t\t</div>\n";
responseStream << "\t\t\t\t<form>\n";
responseStream << "\t\t\t\t\t";
#line 329 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 329 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
if(transaction) { responseStream << "\n";
responseStream << "\t\t\t\t\t\t<input type=\"hidden\" name=\"pending-task-id\" value=\"";
#line 330 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 330 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( transaction->getModel()->getID() );
responseStream << "\">\n";
responseStream << "\t\t\t\t\t";
#line 331 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 331 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
} responseStream << "\n";
responseStream << "\t\t\t\t\t<input type=\"hidden\" name=\"skip-count\" value=\"";
#line 332 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 332 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( skip_count );
responseStream << "\">\n";
responseStream << "\t\t\t\t\t";
#line 333 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 333 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
if(!account_user->hasPassword()) { responseStream << "\n";
responseStream << "\t\t\t\t\t <div class=\"form-group\">\n";
responseStream << "\t\t\t\t\t\t <label for=\"sign-password\">";
#line 335 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 335 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( gettext("Ich brauche nochmal dein Passwort") );
responseStream << "</label>\n";
responseStream << "\t\t\t\t\t\t <input type=\"password\" class=\"form-control\" id=\"sign-password\" name=\"sign-password\" placeholder=\"";
#line 336 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 336 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( gettext("Passwort") );
responseStream << "\">\n";
responseStream << "\t\t\t\t\t </div>\n";
responseStream << "\t\t\t\t\t";
#line 338 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 338 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
} responseStream << "\n";
responseStream << "\t\t\t\t\t";
#line 339 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 339 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
if(enableSign && !hasErrors) { responseStream << "\n";
responseStream << "\t\t\t\t\t\t<button type=\"submit\" class=\"form-button\" name=\"ok\" value=\"ok\">\n";
responseStream << "\t\t\t\t\t\t\t<i class=\"material-icons-outlined\">verified_user</i>\n";
responseStream << "\t\t\t\t\t\t\t";
#line 342 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 342 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( gettext("Transaktion unterzeichnen") );
responseStream << "\n";
responseStream << "\t\t\t\t\t\t</button>\n";
responseStream << "\t\t\t\t\t";
#line 344 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 344 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
} responseStream << "\n";
responseStream << "\t\t\t\t\t";
#line 345 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 345 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
if(transaction_removeable) { responseStream << "\n";
responseStream << "\t\t\t\t\t\t<button type=\"submit\" class=\"form-button button-cancel\" name=\"abort\" value=\"abort\">\n";
responseStream << "\t\t\t\t\t\t\t<i class=\"material-icons-outlined\">delete</i>\n";
responseStream << "\t\t\t\t\t\t\t";
#line 348 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 348 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( gettext("Transaktion verwerfen") );
responseStream << "\n";
responseStream << "\t\t\t\t</button>\n";
responseStream << "\t\t\t\t";
#line 240 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\checkTransaction.cpsp"
if(sumTransactions == 0) { responseStream << "\n";
responseStream << "\t\t\t\t\t<button type=\"submit\" class=\"form-button button-cancel\" name=\"back\" value=\"back\">\n";
responseStream << "\t\t\t\t\t\t<i class=\"material-icons-outlined\">back</i>\n";
responseStream << "\t\t\t\t\t\tZur&uuml;ck\n";
responseStream << "\t\t\t\t\t</button>\t\n";
responseStream << "\t\t\t\t";
#line 245 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\checkTransaction.cpsp"
responseStream << "\n";
responseStream << "\t\t\t</form>\n";
responseStream << "\t\t\t\t\t\t</button>\n";
responseStream << "\t\t\t\t\t";
#line 350 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 350 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
} else { responseStream << "\n";
responseStream << "\t\t\t\t\t\t<button type=\"submit\" class=\"form-button button-cancel\" name=\"skip\" value=\"skip\">\n";
responseStream << "\t\t\t\t\t\t\t<i class=\"material-icons-outlined\">debug-step-over</i>\n";
responseStream << "\t\t\t\t\t\t\t";
#line 353 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 353 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
responseStream << ( gettext("Transaktion &uuml;berspringen") );
responseStream << "\n";
responseStream << "\t\t\t\t\t\t</button>\n";
responseStream << "\t\t\t\t\t";
#line 355 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 355 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
} responseStream << "\n";
responseStream << "\t\t\t\t</form>\n";
responseStream << "\t\t\t";
#line 357 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
#line 357 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\checkTransaction.cpsp"
} responseStream << "\n";
responseStream << "\t\t</div>\n";
responseStream << "\t</div>\n";
@ -979,14 +743,14 @@ void CheckTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request,
responseStream << " </div>\n";
responseStream << " <div class=\"bottomleft\">\n";
responseStream << " ";
#line 13 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\footer_chr.cpsp"
#line 13 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\footer_chr.cpsp"
responseStream << ( mTimeProfiler.string() );
responseStream << "\n";
responseStream << " </div>\n";
responseStream << " <div class=\"bottomright\">\n";
responseStream << " <p>Community Server in Entwicklung</p>\n";
responseStream << " <p>Alpha ";
#line 17 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\footer_chr.cpsp"
#line 17 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\footer_chr.cpsp"
responseStream << ( ServerConfig::g_versionString );
responseStream << "</p>\n";
responseStream << " </div>\n";

View File

@ -5,7 +5,7 @@
#include "Poco/DeflatingStream.h"
#line 7 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
#line 7 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\decodeTransaction.cpsp"
#include "sodium.h"
#include "../proto/gradido/GradidoTransaction.pb.h"
@ -14,7 +14,7 @@
#include "../model/gradido/TransactionBase.h"
#include "../model/gradido/TransactionCreation.h"
#include "../lib/DataTypeConverter.h"
#line 1 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_old.cpsp"
#line 1 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\header_old.cpsp"
#include "../ServerConfig.h"
@ -33,7 +33,7 @@ void DecodeTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request,
if (_compressResponse) response.set("Content-Encoding", "gzip");
Poco::Net::HTMLForm form(request, request.stream());
#line 16 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
#line 16 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\decodeTransaction.cpsp"
const char* pageName = "Decode Transaction";
proto::gradido::TransactionBody transactionBody;
@ -117,12 +117,12 @@ void DecodeTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request,
responseStream << "<meta charset=\"UTF-8\">\n";
responseStream << "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n";
responseStream << "<title>Gradido Login Server: ";
#line 9 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_old.cpsp"
#line 9 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\header_old.cpsp"
responseStream << ( pageName );
responseStream << "</title>\n";
responseStream << "<!--<link rel=\"stylesheet\" type=\"text/css\" href=\"css/styles.min.css\">-->\n";
responseStream << "<link rel=\"stylesheet\" type=\"text/css\" href=\"";
#line 11 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_old.cpsp"
#line 11 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\header_old.cpsp"
responseStream << ( ServerConfig::g_php_serverPath );
responseStream << "/css/styles.css\">\n";
responseStream << "<style type=\"text/css\" >\n";
@ -167,7 +167,7 @@ void DecodeTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request,
responseStream << "<div class=\"versionstring dev-info\">\n";
responseStream << "\t<p class=\"grd_small\">Login Server in Entwicklung</p>\n";
responseStream << "\t<p class=\"grd_small\">Alpha ";
#line 53 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_old.cpsp"
#line 53 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\header_old.cpsp"
responseStream << ( ServerConfig::g_versionString );
responseStream << "</p>\n";
responseStream << "</div>\n";
@ -176,35 +176,35 @@ void DecodeTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request,
responseStream << "<div class=\"grd_container\">\n";
responseStream << "\t<h1>Transaktion dekodieren</h1>\n";
responseStream << "\t";
#line 90 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
#line 90 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\decodeTransaction.cpsp"
responseStream << ( getErrorsHtml() );
responseStream << "\n";
responseStream << "\t<form method=\"POST\">\n";
responseStream << "\t\t<fieldset class=\"grd_container_small\">\n";
responseStream << "\t\t\t<legend>Transaktion dekodieren</legend>\n";
responseStream << "\t\t\t<textarea style=\"width:100%;height:100px\" name=\"transaction\">";
#line 94 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
#line 94 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\decodeTransaction.cpsp"
responseStream << ( !form.empty() ? form.get("transaction", "") : "" );
responseStream << "</textarea>\n";
responseStream << "\t\t</fieldset>\n";
responseStream << "\t\t<input class=\"grd-form-bn grd-form-bn-succeed\" type=\"submit\" name=\"submit\" value=\"Dekodieren\">\n";
responseStream << "\t</form>\n";
responseStream << "\t";
#line 98 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
#line 98 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\decodeTransaction.cpsp"
if(decoded) { responseStream << "\n";
responseStream << "\t\t<p><b>Verwendungszweck:</b></p>\n";
responseStream << "\t\t<p>";
#line 100 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
#line 100 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\decodeTransaction.cpsp"
responseStream << ( transactionBody.memo() );
responseStream << "</p>\n";
responseStream << "\t\t";
#line 101 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
#line 101 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\decodeTransaction.cpsp"
if(transactionBody.has_transfer()) {
auto transfer = transactionBody.transfer();
char hex[65]; memset(hex, 0, 65);
responseStream << "\n";
responseStream << "\t\t\t";
#line 105 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
#line 105 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\decodeTransaction.cpsp"
if(transfer.has_local()) {
auto local_transfer = transfer.local();
auto sender_pubkey = local_transfer.sender().pubkey();
@ -213,34 +213,33 @@ void DecodeTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request,
responseStream << "\n";
responseStream << "\t\t\t\t<h3>Local Transfer</h3>\n";
responseStream << "\t\t\t\t<b>From: </b>";
#line 112 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
#line 112 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\decodeTransaction.cpsp"
responseStream << ( hex );
responseStream << "\n";
responseStream << "\t\t\t\t";
#line 113 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
#line 113 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\decodeTransaction.cpsp"
sodium_bin2hex(hex, 65, (const unsigned char*)receiver_pubkey.data(), receiver_pubkey.size()); responseStream << "\n";
responseStream << "\t\t\t\t<b>To: </b>";
#line 114 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
#line 114 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\decodeTransaction.cpsp"
responseStream << ( hex );
responseStream << "\n";
responseStream << "\t\t\t\t<b>Amount: </b>";
#line 115 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
#line 115 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\decodeTransaction.cpsp"
responseStream << ( model::gradido::TransactionBase::amountToString(local_transfer.sender().amount()) );
responseStream << "\n";
responseStream << "\t\t\t";
#line 116 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
#line 116 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\decodeTransaction.cpsp"
} else { responseStream << "\n";
responseStream << "\t\t\t\t<h3>- Not implemented yet (Group Transfer) -</h3>\n";
responseStream << "\t\t\t";
#line 118 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
#line 118 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\decodeTransaction.cpsp"
} responseStream << "\n";
responseStream << "\t\t";
#line 120 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
#line 120 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\decodeTransaction.cpsp"
} else if(transactionBody.has_creation()) {
auto creation = transactionBody.creation();
// model::gradido::TransactionCreation creationObject("", creation);
TransactionCreation creationObject("", creation);
model::gradido::TransactionCreation creationObject("", creation);
//TransactionCreation creationObject("", creation);
auto receiver = creation.receiver();
char hex[65]; memset(hex, 0, 65);
sodium_bin2hex(hex, 65, (const unsigned char*)receiver.pubkey().data(), receiver.pubkey().size());
@ -256,33 +255,33 @@ void DecodeTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request,
responseStream << "\n";
responseStream << "\t\t<h3>Creation</h3>\n";
responseStream << "\t\t";
#line 139 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
#line 138 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\decodeTransaction.cpsp"
if(!adminUser || user.isNull() || !user->getModel()) { responseStream << "\n";
responseStream << "\t\t<p>pubkey: ";
#line 140 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
#line 139 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\decodeTransaction.cpsp"
responseStream << ( hex );
responseStream << "</p>\n";
responseStream << "\t\t";
#line 141 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
#line 140 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\decodeTransaction.cpsp"
} else { responseStream << "\n";
responseStream << "\t\t<p>user: </p>\n";
responseStream << "\t\t<p>";
#line 143 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
#line 142 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\decodeTransaction.cpsp"
responseStream << ( user->getModel()->toHTMLString() );
responseStream << "</p>\n";
responseStream << "\t\t";
#line 144 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
#line 143 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\decodeTransaction.cpsp"
} responseStream << "\n";
responseStream << "\t\t<p>amount: ";
#line 145 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
#line 144 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\decodeTransaction.cpsp"
responseStream << ( model::gradido::TransactionBase::amountToString(receiver.amount()) );
responseStream << " GDD</p>\n";
responseStream << "\t\t<p>target date: ";
#line 146 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
#line 145 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\decodeTransaction.cpsp"
responseStream << ( creationObject.getTargetDateString() );
responseStream << "</p>\n";
responseStream << "\t\t";
#line 147 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
#line 146 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\decodeTransaction.cpsp"
} else if(transactionBody.has_group_member_update()) {
auto group_member_update = transactionBody.group_member_update();
auto paired_transaction_id = group_member_update.paired_transaction_id();
@ -290,26 +289,26 @@ void DecodeTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request,
responseStream << "\n";
responseStream << "\t\t\t<h3>Group Member Update</h3>\n";
responseStream << "\t\t\t<p><b>Target group alias: </b>";
#line 153 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
#line 152 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\decodeTransaction.cpsp"
responseStream << ( group_member_update.target_group() );
responseStream << "</p>\n";
responseStream << "\t\t\t<p><b>Paired transaction id: </b>";
#line 154 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
#line 153 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\decodeTransaction.cpsp"
responseStream << ( paired_transaction_string );
responseStream << "</p>\n";
responseStream << "\t\t\t<p><b>Member Update Type: </b>";
#line 155 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
#line 154 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\decodeTransaction.cpsp"
responseStream << ( proto::gradido::GroupMemberUpdate_MemberUpdateType_Name(group_member_update.member_update_type()) );
responseStream << "</p>\n";
responseStream << "\t\t\t<p><b>User Public Key Hex: </b>";
#line 156 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
#line 155 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\decodeTransaction.cpsp"
responseStream << ( DataTypeConverter::pubkeyToHex((const unsigned char*)group_member_update.user_pubkey().data()) );
responseStream << "</p>\n";
responseStream << "\t\t";
#line 157 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
#line 156 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\decodeTransaction.cpsp"
} responseStream << "\n";
responseStream << "\t";
#line 158 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp"
#line 157 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\decodeTransaction.cpsp"
} responseStream << "\n";
responseStream << "</div>\n";
// begin include footer.cpsp
@ -319,14 +318,14 @@ void DecodeTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request,
responseStream << " </div>\n";
responseStream << " <div class=\"bottomleft\">\n";
responseStream << " ";
#line 6 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\footer.cpsp"
#line 6 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\footer.cpsp"
responseStream << ( mTimeProfiler.string() );
responseStream << "\n";
responseStream << " </div>\n";
responseStream << " <div class=\"bottomright\">\n";
responseStream << " <p>Login Server in Entwicklung</p>\n";
responseStream << " <p>Alpha ";
#line 10 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\footer.cpsp"
#line 10 "F:\\Gradido\\gradido_stage2\\login_server\\src\\cpsp\\footer.cpsp"
responseStream << ( ServerConfig::g_versionString );
responseStream << "</p>\n";
responseStream << " </div>\n";

View File

@ -65,12 +65,6 @@ Poco::Net::HTTPRequestHandler* JsonRequestHandlerFactory::createRequestHandler(c
s = sm->getSession(session_id);
}
auto client_host = request.clientAddress().host();
//auto client_ip = request.clientAddress();
// X-Real-IP forwarded ip from nginx config
auto client_host_string = request.get("X-Real-IP", client_host.toString());
client_host = Poco::Net::IPAddress(client_host_string);
if (url_first_part == "/login") {
return new JsonGetLogin;
}

View File

@ -1,6 +1,5 @@
#include "PendingTask.h"
#include "../tasks/GradidoGroupAddMemberTask.h"
#include "../model/gradido/Transaction.h"
#include "../tasks/HederaTask.h"

View File

@ -24,7 +24,6 @@ namespace controller {
static std::vector<Poco::AutoPtr<PendingTask>> load(int userId);
static std::vector<Poco::AutoPtr<PendingTask>> loadAll();
inline bool deleteFromDB() { return mDBModel->deleteFromDB(); }
inline Poco::AutoPtr<model::table::PendingTask> getModel() { return _getModel<model::table::PendingTask>(); }
inline const model::table::PendingTask* getModel() const { return _getModel<model::table::PendingTask>(); }

View File

@ -197,126 +197,6 @@ bool Session::adminCreateUser(const std::string& first_name, const std::string&
return true;
}
//
bool Session::createUser(const std::string& first_name, const std::string& last_name, const std::string& email, const std::string& password)
{
Profiler usedTime;
auto sm = SessionManager::getInstance();
if (!sm->isValid(first_name, VALIDATE_NAME)) {
addError(new Error(gettext("Vorname"), gettext("Bitte gebe einen Namen an. Mindestens 3 Zeichen, keines folgender Zeichen <>&;")), false);
return false;
}
if (!sm->isValid(last_name, VALIDATE_NAME)) {
addError(new Error(gettext("Nachname"), gettext("Bitte gebe einen Namen an. Mindestens 3 Zeichen, keines folgender Zeichen <>&;")), false);
return false;
}
if (!sm->isValid(email, VALIDATE_EMAIL)) {
addError(new Error(gettext("E-Mail"), gettext("Bitte gebe eine g&uuml;ltige E-Mail Adresse an.")), false);
return false;
}
if (!sm->checkPwdValidation(password, this)) {
return false;
}
/*if (passphrase.size() > 0 && !sm->isValid(passphrase, VALIDATE_PASSPHRASE)) {
addError(new Error("Merkspruch", "Der Merkspruch ist nicht g&uuml;ltig, er besteht aus 24 W&ouml;rtern, mit Komma getrennt."));
return false;
}
if (passphrase.size() == 0) {
//mPassphrase = User::generateNewPassphrase(&ServerConfig::g_Mnemonic_WordLists[ServerConfig::MNEMONIC_BIP0039_SORTED_ORDER]);
mPassphrase = User::generateNewPassphrase(&ServerConfig::g_Mnemonic_WordLists[ServerConfig::MNEMONIC_GRADIDO_BOOK_GERMAN_RANDOM_ORDER]);
}
else {
//mPassphrase = passphrase;
}*/
// check if user with that email already exist
auto dbConnection = ConnectionManager::getInstance()->getConnection(CONNECTION_MYSQL_LOGIN_SERVER);
Poco::Data::Statement select(dbConnection);
select << "SELECT email from users where email = ?;", useRef(email);
try {
if (select.execute() > 0) {
addError(new Error(gettext("E-Mail"), gettext("F&uuml;r diese E-Mail Adresse gibt es bereits einen Account")), false);
return false;
}
}
catch (Poco::Exception& exc) {
printf("mysql exception: %s\n", exc.displayText().data());
}
mSessionUser = new User(email.data(), first_name.data(), last_name.data());
mNewUser = controller::User::create(email, first_name, last_name);
updateTimeout();
// Prepare E-Mail
//UniLib::controller::TaskPtr prepareEmail(new PrepareEmailTask(ServerConfig::g_CPUScheduler));
//prepareEmail->scheduleTask(prepareEmail);
// create user crypto key
UniLib::controller::TaskPtr cryptoKeyTask(new UserCreateCryptoKey(mSessionUser, mNewUser, password, ServerConfig::g_CryptoCPUScheduler));
cryptoKeyTask->setFinishCommand(new SessionStateUpdateCommand(SESSION_STATE_CRYPTO_KEY_GENERATED, this));
cryptoKeyTask->scheduleTask(cryptoKeyTask);
// depends on crypto key, write user record into db
UniLib::controller::TaskPtr writeUserIntoDB(new UserWriteIntoDB(mSessionUser, ServerConfig::g_CPUScheduler, 1));
writeUserIntoDB->setParentTaskPtrInArray(cryptoKeyTask, 0);
writeUserIntoDB->setFinishCommand(new SessionStateUpdateCommand(SESSION_STATE_USER_WRITTEN, this));
writeUserIntoDB->scheduleTask(writeUserIntoDB);
std::unique_lock<std::shared_mutex> _lock(mSharedMutex);
mEmailVerificationCodeObject = controller::EmailVerificationCode::create(model::table::EMAIL_OPT_IN_REGISTER);
UniLib::controller::TaskPtr writeEmailVerification(new WriteEmailVerification(mSessionUser, mEmailVerificationCodeObject, ServerConfig::g_CPUScheduler, 1));
writeEmailVerification->setParentTaskPtrInArray(writeUserIntoDB, 0);
writeEmailVerification->setFinishCommand(new SessionStateUpdateCommand(SESSION_STATE_EMAIL_VERIFICATION_WRITTEN, this));
writeEmailVerification->scheduleTask(writeEmailVerification);
/*printf("LastName: %s\n", last_name.data());
for (int i = 0; i < last_name.size(); i++) {
char c = last_name.data()[i];
//printf("%d ", c);
}
//printf("\n\n");
*/
// depends on writeUser because need user_id, write email verification into db
/*auto message = new Poco::Net::MailMessage;
Poco::Net::MediaType mt("text", "plain");
mt.setParameter("charset", "utf-8");
message->setContentType(mt);
message->addRecipient(Poco::Net::MailRecipient(Poco::Net::MailRecipient::PRIMARY_RECIPIENT, email));
message->setSubject(gettext("Gradido: E-Mail Verification"));
std::stringstream ss;
ss << "Hallo " << first_name << " " << last_name << "," << std::endl << std::endl;
ss << "Du oder jemand anderes hat sich soeben mit dieser E-Mail Adresse bei Gradido registriert. " << std::endl;
ss << "Wenn du es warst, klicke bitte auf den Link: " << ServerConfig::g_serverPath << "/checkEmail/" << mEmailVerificationCode << std::endl;
//ss << "oder kopiere den Code: " << mEmailVerificationCode << " selbst dort hinein." << std::endl;
ss << "oder kopiere den obigen Link in Dein Browserfenster." << std::endl;
ss << std::endl;
ss << "Mit freundlichen " << u8"Grüßen" << std::endl;
ss << "Dario, Gradido Server Admin" << std::endl;
message->addContent(new Poco::Net::StringPartSource(ss.str()));
*/
//UniLib::controller::TaskPtr sendEmail(new SendEmailTask(message, ServerConfig::g_CPUScheduler, 1));
//Email(AutoPtr<controller::EmailVerificationCode> emailVerification, AutoPtr<controller::User> user, EmailType type);
UniLib::controller::TaskPtr sendEmail(new SendEmailTask(new model::Email(mEmailVerificationCodeObject, mNewUser, model::EMAIL_USER_VERIFICATION_CODE), ServerConfig::g_CPUScheduler, 1));
//sendEmail->setParentTaskPtrInArray(prepareEmail, 0);
sendEmail->setParentTaskPtrInArray(writeEmailVerification, 0);
sendEmail->setFinishCommand(new SessionStateUpdateCommand(SESSION_STATE_EMAIL_VERIFICATION_SEND, this));
sendEmail->scheduleTask(sendEmail);
// write user into db
// generate and write email verification into db
// send email
//printf("[Session::createUser] time: %s\n", usedTime.string().data());
return true;
}
bool Session::createUserDirect(const std::string& first_name, const std::string& last_name, const std::string& email, const std::string& password, const std::string &baseUrl)
@ -622,11 +502,11 @@ bool Session::startProcessingTransaction(const std::string& proto_message_base64
if (!mNewUser.isNull()) {
lang = LanguageManager::languageFromString(mNewUser->getModel()->getLanguageKey());
}
auto user_model = mNewUser->getModel();
Poco::AutoPtr<ProcessingTransaction> processorTask(
new ProcessingTransaction(
proto_message_base64,
DRMakeStringHash(mSessionUser->getEmail().data()),
DRMakeStringHash(user_model->getEmail().data()),
lang
)
);
@ -756,7 +636,7 @@ UserState Session::loadUser(const std::string& email, const std::string& passwor
// load user for email only once from db
mNewUser->load(email);
//printf("load new user from db with email: %s\n", email.data());
mSessionUser = new User(mNewUser);
//mSessionUser = new User(mNewUser);
//mSessionUser = new User(email.data());
//printf("user loaded from email\n");

View File

@ -1,71 +0,0 @@
#include "TransactionCreation.h"
#include "Poco/DateTimeFormatter.h"
#include <sodium.h>
//TransactionCreation::TransactionCreation(const std::string& memo, const model::messages::gradido::TransactionCreation& protoCreation)
TransactionCreation::TransactionCreation(const std::string& memo, const proto::gradido::GradidoCreation& protoCreation)
: TransactionBase(memo), mProtoCreation(protoCreation)
{
memset(mReceiverPublicHex, 0, 65);
}
TransactionCreation::~TransactionCreation()
{
}
int TransactionCreation::prepare()
{
const static char functionName[] = { "TransactionCreation::prepare" };
if (!mProtoCreation.has_receiver()) {
addError(new Error(functionName, "hasn't receiver amount"));
return -1;
}
auto receiver_amount = mProtoCreation.receiver();
if (receiverAmount.amount() <= 0) {
addError(new Error(functionName, "amount must be > 0"));
return -4;
}
if (receiverAmount.amount() > 10000000) {
addError(new Error(functionName, "amount must be <= 1000 GDD"));
return -5;
}
auto receiverPublic = receiverAmount.ed25519_receiver_pubkey();
if (receiverPublic.size() != 32) {
addError(new Error(functionName, "receiver public invalid (size not 32)"));
return -2;
}
mReceiverUser = controller::User::create();
//mReceiverUser = new User((const unsigned char*)receiverPublic.data());
mReceiverUser->load((const unsigned char*)receiverPublic.data());
getErrors(mReceiverUser->getModel());
if (mReceiverUser->getUserState() == USER_EMPTY) {
sodium_bin2hex(mReceiverPublicHex, 65, (const unsigned char*)receiverPublic.data(), receiverPublic.size());
mReceiverUser.assign(nullptr);
}
else {
memcpy(mReceiverPublicHex, mReceiverUser->getModel()->getPublicKeyHex().data(), 64);
// uncomment because not correctly working
/*if (!mReceiverUser->validateIdentHash(mProtoCreation.ident_hash())) {
addError(new Error(functionName, "ident hash isn't the same"));
addError(new ParamError(functionName, "hash calculated from email: ", mReceiverUser->getEmail()));
addError(new ParamError(functionName, "hash: ", std::to_string(mProtoCreation.ident_hash())));
return -3;
}*/
}
//
return 0;
}
std::string TransactionCreation::getTargetDateString()
{
// proto format is seconds, poco timestamp format is microseconds
Poco::Timestamp pocoStamp(mProtoCreation.target_date().seconds() * 1000*1000);
//Poco::DateTime(pocoStamp);
return Poco::DateTimeFormatter::format(pocoStamp, "%d. %b %y");
}

View File

@ -1,180 +0,0 @@
#include "TransactionTransfer.h"
const std::string TransactionTransfer::mInvalidIndexMessage("invalid index");
TransactionTransfer::KontoTableEntry::KontoTableEntry(model::table::User* user, google::protobuf::int64 amount, bool negativeAmount/* = false*/)
{
//<span class="content-cell">Normaler&nbsp;User&nbsp;&lt;info@software-labor.de&gt;</span>
if (!user) return;
composeAmountCellString(amount, negativeAmount);
/*kontoNameCell = "<td>";
kontoNameCell += user->getFirstName();
kontoNameCell += "&nbsp;";
kontoNameCell += user->getLastName();
kontoNameCell += "&nbsp;&lt;";
kontoNameCell += user->getEmail();
kontoNameCell += "&gt;</td>";*/
kontoNameCell = "<span class=\"content-cell\">";
kontoNameCell += user->getNameWithEmailHtml();
kontoNameCell += "</span>";
}
TransactionTransfer::KontoTableEntry::KontoTableEntry(const std::string& pubkeyHex, google::protobuf::int64 amount, bool negativeAmount/* = false*/)
{
composeAmountCellString(amount, negativeAmount);
//kontoNameCell = "<td class=\"small\">0x" + pubkeyHex + "</td>";
kontoNameCell = "<span class = \"content-cell\">" + pubkeyHex + "</span>";
}
void TransactionTransfer::KontoTableEntry::composeAmountCellString(google::protobuf::int64 amount, bool negativeAmount)
{
//<span class="content-cell alert-color">-10 GDD</span>
//<span class="content-cell success-color">10 GDD</span>
amountCell = "<span class=\"content-cell ";
if (negativeAmount) {
amountCell += "alert-color\">-";
}
else {
amountCell += "success-color\">";
}
amountCell += amountToString(amount);
//amountCell += " GDD</td>";
amountCell += " GDD</span>";
}
// ********************************************************************************************************************************
//TransactionTransfer::TransactionTransfer(const std::string& memo, const model::messages::gradido::Transfer& protoTransfer)
TransactionTransfer::TransactionTransfer(const std::string& memo, const proto::gradido::GradidoTransfer& protoTransfer)
: TransactionBase(memo), mProtoTransfer(protoTransfer)
{
}
TransactionTransfer::~TransactionTransfer()
{
mKontoTable.clear();
}
int TransactionTransfer::prepare()
{
lock();
const static char functionName[] = { "TransactionTransfer::prepare" };
mKontoTable.reserve(2);
//auto receiverAmount = mProtoTransfer.receiveramount();
//auto senderAmount
char pubkeyHexTemp[65];
/*
if (mProtoTransfer.has_local())
{
auto local_transfer = mProtoTransfer.local();
auto sender = local_transfer.sender();
auto sender_pubkey = sender.pubkey();
auto receiver_pubkey = local_transfer.receiver();
auto amount = sender.amount();
auto sender_user = controller::User::create();
auto receiver_user = controller::User::create();
if (!sender_user->load((const unsigned char*)sender_pubkey.data())) {
sodium_bin2hex(pubkeyHexTemp, 65, (const unsigned char*)sender_pubkey.data(), sender_pubkey.size());
mKontoTable.push_back(KontoTableEntry(pubkeyHexTemp, -amount, true));
}
else {
mKontoTable.push_back(KontoTableEntry(sender_user->getModel(), -amount, true));
}
if (!receiver_user->load((const unsigned char*)receiver_pubkey.data())) {
sodium_bin2hex(pubkeyHexTemp, 65, (const unsigned char*)receiver_pubkey.data(), receiver_pubkey.size());
mKontoTable.push_back(KontoTableEntry(pubkeyHexTemp, amount, true));
}
else {
mKontoTable.push_back(KontoTableEntry(sender_user->getModel(), amount, true));
}
}
*/
for (int i = 0; i < mProtoTransfer.senderamounts_size(); i++) {
auto senderAmount = mProtoTransfer.senderamounts(i);
auto pubkey = senderAmount.ed25519_sender_pubkey();
senderSum += senderAmount.amount();
if (pubkey.size() != 32) {
addError(new ParamError(functionName, "invalid public key for sender ", i));
unlock();
return -3;
}
//User user((const unsigned char*)pubkey.data());
auto user = controller::User::create();
if (!user->load((const unsigned char*)pubkey.data())) {
sodium_bin2hex(pubkeyHexTemp, 65, (const unsigned char*)pubkey.data(), pubkey.size());
mKontoTable.push_back(KontoTableEntry(pubkeyHexTemp, senderAmount.amount(), true));
}
else {
mKontoTable.push_back(KontoTableEntry(sender_user->getModel(), -amount, true));
}
if (!receiver_user->load((const unsigned char*)receiver_pubkey.data())) {
sodium_bin2hex(pubkeyHexTemp, 65, (const unsigned char*)receiver_pubkey.data(), receiver_pubkey.size());
mKontoTable.push_back(KontoTableEntry(pubkeyHexTemp, amount, true));
}
else {
mKontoTable.push_back(KontoTableEntry(sender_user->getModel(), amount, true));
}
}
if (senderSum != receiverSum) {
addError(new Error(functionName, "sender amounts sum != receiver amounts sum"));
unlock();
return -5;
}
if (senderSum < 0) {
addError(new Error(functionName, "negative amount not supported"));
unlock();
return -6;
}
/*
mReceiverUser = new User(receiverPublic.data());
getErrors(mReceiverUser);
if (mReceiverUser->getUserState() == USER_EMPTY) {
sodium_bin2hex(mReceiverPublicHex, 65, (const unsigned char*)receiverPublic.data(), receiverPublic.size());
delete mReceiverUser;
mReceiverUser = nullptr;
}
else {
memcpy(mReceiverPublicHex, mReceiverUser->getPublicKeyHex().data(), 64);
}
//*/
unlock();
return 0;
}
const std::string& TransactionTransfer::getKontoNameCell(int index)
{
lock();
if (index >= mKontoTable.size()) {
unlock();
return mInvalidIndexMessage;
}
unlock();
return mKontoTable[index].kontoNameCell;
}
const std::string& TransactionTransfer::getAmountCell(int index)
{
lock();
if (index >= mKontoTable.size()) {
unlock();
return mInvalidIndexMessage;
}
unlock();
return mKontoTable[index].amountCell;
}

View File

@ -84,8 +84,6 @@ namespace model {
int mTaskTypeId;
int mChildPendingTaskId;
int mParentPendingTaskId;
std::shared_mutex mSharedMutex;
};
}

View File

@ -315,7 +315,7 @@ int SigningTransaction::run() {
addError(new ParamError("SigningTransaction", "connect error to php server", e.displayText().data()));
addError(new ParamError("SigningTransaction", "url", ServerConfig::g_php_serverHost.data()));
addError(new ParamError("SigningTransaction", "choose_ssl", choose_ssl));
if (mSendErrorsToAdminEmail) sendErrorsAsEmail(););
if (mSendErrorsToAdminEmail) sendErrorsAsEmail();
return -8;
}

View File

@ -20,7 +20,7 @@
class SigningTransaction : public UniLib::controller::CPUTask, public NotificationList
{
public:
SigningTransaction(Poco::AutoPtr<ProcessingTransaction> processingeTransaction, Poco::AutoPtr<controller::User> newUser);
SigningTransaction(Poco::AutoPtr<ProcessingTransaction> processingeTransaction, Poco::AutoPtr<controller::User> newUser, bool sendErrorsToAdmin = true);
virtual ~SigningTransaction();
int run();

View File

@ -46,15 +46,8 @@ enum PageState {
}
PageState state = PAGE_NO_TRANSACTIONS;
if(!user_model->isEmailChecked()) {
addError(new Error(gettext("E-Mail Aktivierung"), gettext("E-Mail wurde noch nicht aktiviert, du kannst leider noch keine Transaktionen ausführen!")));
hasErrors = true;
}
bool transaction_finalize_run = false;
bool transaction_finalize_result = false;
auto transactions_to_sign = pt->getTransactionsUserMustSign(account_user);
Poco::AutoPtr<controller::PendingTask> pending_task;
model::gradido::Transaction* transaction = nullptr;
@ -62,85 +55,6 @@ enum PageState {
if(!form.empty())
{
transaction = dynamic_cast<model::gradido::Transaction*>(transactions_to_sign[0].get());
transaction_body = transaction->getTransactionBody();
if(!form.empty()) {
auto ok = form.get("ok", "");
auto abort = form.get("abort", "");
auto back = form.get("back", "");
if(abort != "") {
transaction_finalize_result = mSession->finalizeTransaction(false, true);
transaction_finalize_run = true;
} else if(ok != "") {
if(!account_user->hasPassword()) {
auto pwd = form.get("sign-password", "");
auto loginResult = account_user->login(pwd);
switch(loginResult) {
case 0:
addError(new Error(gettext("Passwort"), gettext("Das Passwort stimmt nicht. Bitte verwende dein Passwort von der Registrierung")));
hasErrors = true;
break;
case -1:
case -2:
addError(new Error(gettext("Passwort"), gettext("Gespeicherte Daten sind korrupt!")));
hasErrors = true;
state = PAGE_USER_DATA_CORRUPTED;
break;
case -3:
addError(new Error(gettext("Passwort"), gettext("Passwortprüfung läuft schon, bitte versuche es in 1-2 Minuten erneut.")));
hasErrors = true;
break;
}
}
if(!hasErrors) {
transaction_finalize_result = mSession->finalizeTransaction(true, false);
transaction_finalize_run = true;
}
} else if(back == "back") {
auto lastExternReferer = mSession->getLastReferer();
//lastExternReferer = "";
if(lastExternReferer != "" && lastExternReferer.find("transaction-send-coins") == std::string::npos) {
//printf("last extern referer: %s\n", lastExternReferer.data());
response.redirect(lastExternReferer);
} else {
response.redirect(ServerConfig::g_php_serverPath + "state-balances/overview");
}
return;
}
}
size_t notReadyTransactions = 0;
size_t sumTransactions = mSession->getProcessingTransactionCount();
if(sumTransactions == 0 && !transaction_finalize_run) {
/*auto observer = SingletonTaskObserver::getInstance();
auto emailHash = DRMakeStringHash(mSession->getUser()->getEmail());
int breakCount = 0;
while(observer->getTaskCount(emailHash, TASK_OBSERVER_SIGN_TRANSACTION) > 0) {
if(breakCount > 100) break;
breakCount++;
Poco::Thread::sleep(10);
}*/
auto pending_task_id_string = form.get("pending-task-id", "");
int pending_task_id = 0;
if(DataTypeConverter::NUMBER_PARSE_OKAY == DataTypeConverter::strToInt(pending_task_id_string, pending_task_id))
{
// make sure we have the correct transaction
transaction = nullptr;
printf("transaction_body isNull: %d\n", transaction_body.isNull());
transaction_body.assign(nullptr);
for(auto it = transactions_to_sign.begin(); it != transactions_to_sign.end(); it++)
{
if((*it)->getModel()->getID() == pending_task_id) {
transaction = dynamic_cast<model::gradido::Transaction*>(it->get());
transaction_body = transaction->getTransactionBody();
printf("set new transaction and transaction_body\n");
break;
}
}
if(abort != "")
/*
auto ok = form.get("ok", "");
auto abort = form.get("abort", "");
auto skip = form.get("skip", "");
@ -153,7 +67,6 @@ enum PageState {
// load transaction from pending task manager
pending_task = pt->getPendingTask(pending_task_id);
if(!pending_task.isNull() && pending_task->getModel()->isGradidoTransaction())
*/
{
transaction = dynamic_cast<model::gradido::Transaction*>(pending_task.get());
if(transaction->hasSigned(account_user)) {
@ -293,20 +206,7 @@ enum PageState {
%><%@ include file="header_navi_chr.cpsp" %>
<% if(transaction_finalize_run) { %>
<div class="col-md-10 equel-grid mb-3">
<div class="flash-messages" style="background-color: rgba(240,240,240,0.8);" onclick="this.classList.add('hidden')">
<ul class='grd-no-style'>
<% if(transaction_finalize_result) { %>
<li class='grd-success'>Transaktion erfolgreich</li>
<% } else { %>
<li class='grd-error'>Transaktion fehlgeschlagen</li>
<% } %>
</ul>
</div>
</div>
<% } %>
<!-- <%= getErrorsHtml() %> -->
<%= getErrorsHtml() %>
<div class="col-md-10 equel-grid mb-3">
<small class="text-gray d-block mt-3">
<% if(sumTransactions == 0) { %>
@ -406,49 +306,6 @@ enum PageState {
<% } else if(PAGE_USER_DATA_CORRUPTED == state) { %>
<p class="alert-color"><%= gettext("Es gibt ein Problem mit deinen gespeicherten Daten, bitte wende dich an den")%><a href="mailto:<%= em->getAdminReceiver()%>?subject=Corrupt User Data&amp;body=Hallo Dario,%0D%0A%0D%0Ameine Benutzer Daten sind korrupt.%0D%0Akannst du das prüfen?%0D%0A%0D%0AMit freundlichen Grüßen%0D%0A"><%=gettext("Support") %></a></p>
<% } %>
<!--
<div class="content-table">
<div class="content-row content-row-header">
<span class="content-cell">Aktives Konto</span>
</div>
<div class="content-row">
<span class="content-cell"><%= user_model->getNameWithEmailHtml() %></span>
</div>
</div>
<div class="content-table">
<div class="content-row content-row-header">
<span class="content-cell">Verwendungszweck</span>
</div>
<div class="content-row content-row-bg">
<span class="content-cell"><%= memo %></span>
</div>
</div>
<form>
<input type="hidden" name="pending-task-id" value="<%= transaction->getModel()->getID() %>">
<% if(!account_user->hasPassword()) {%>
<div class="form-group">
<label for="sign-password"><%= gettext("Ich brauche nochmal dein Passwort") %></label>
<input type="password" class="form-control" id="sign-password" name="sign-password" placeholder="<%= gettext("Passwort") %>">
</div>
<% } %>
<% if(PAGE_USER_DATA_CORRUPTED != state && user_model->isEmailChecked()) { %>
<button type="submit" class="form-button" name="ok" value="ok">
<i class="material-icons-outlined">verified_user</i>
<%= gettext("Transaktion unterzeichnen") %>
</button>
<% } %>
<button type="submit" class="form-button button-cancel" name="abort" value="abort">
<i class="material-icons-outlined">delete</i>
<%= gettext("Transaktion verwerfen") %>
</button>
<% if(sumTransactions == 0) { %>
<button type="submit" class="form-button button-cancel" name="back" value="back">
<i class="material-icons-outlined">back</i>
Zur&uuml;ck
</button>
<% } %>
</form>
-->
<% if(PAGE_NO_TRANSACTIONS == state) { %>
<a href="<%= ServerConfig::g_php_serverPath %>"><%= gettext("Zur&uuml;ck") %></a>
<% } else { %>

View File

@ -119,8 +119,8 @@
<% } else if(transactionBody.has_creation()) {
auto creation = transactionBody.creation();
//model::gradido::TransactionCreation creationObject("", creation);
TransactionCreation creationObject("", creation);
model::gradido::TransactionCreation creationObject("", creation);
//TransactionCreation creationObject("", creation);
auto receiver = creation.receiver();
char hex[65]; memset(hex, 0, 65);
sodium_bin2hex(hex, 65, (const unsigned char*)receiver.pubkey().data(), receiver.pubkey().size());