mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
redirect to last extern referer
This commit is contained in:
parent
162963637e
commit
d8e3728201
@ -8,6 +8,7 @@
|
||||
#line 7 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
|
||||
#include "../SingletonManager/SessionManager.h"
|
||||
#include "../SingletonManager/SingletonTaskObserver.h"
|
||||
#include "../model/TransactionCreation.h"
|
||||
#include "../model/TransactionTransfer.h"
|
||||
|
||||
@ -39,7 +40,7 @@ void CheckTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request,
|
||||
if (_compressResponse) response.set("Content-Encoding", "gzip");
|
||||
|
||||
Poco::Net::HTMLForm form(request, request.stream());
|
||||
#line 21 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 22 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
|
||||
const char* pageName = gettext("Überprüfe Transaktion");
|
||||
auto accountUser = mSession->getUser();
|
||||
@ -71,8 +72,21 @@ void CheckTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request,
|
||||
size_t notReadyTransactions = 0;
|
||||
size_t sumTransactions = mSession->getProcessingTransactionCount();
|
||||
if(sumTransactions == 0) {
|
||||
Poco::Thread::sleep(1000);
|
||||
response.redirect(ServerConfig::g_php_serverPath + "state-balances/overview");
|
||||
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 lastExternReferer = mSession->getLastReferer();
|
||||
if(lastExternReferer != "") {
|
||||
printf("last extern referer: %s\n", lastExternReferer.data());
|
||||
response.redirect(lastExternReferer);
|
||||
} else {
|
||||
response.redirect(ServerConfig::g_php_serverPath + "state-balances/overview");
|
||||
}
|
||||
return;
|
||||
}
|
||||
auto processingTransaction = mSession->getNextReadyTransaction(¬ReadyTransactions);
|
||||
@ -229,71 +243,71 @@ void CheckTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request,
|
||||
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 73 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 87 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
if(sumTransactions > 0 && sumTransactions - notReadyTransactions != 1) { responseStream << "\n";
|
||||
responseStream << "\t\t";
|
||||
#line 74 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 88 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
if(notReadyTransactions > 0) { responseStream << " \n";
|
||||
responseStream << "\t\t\t";
|
||||
#line 75 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 89 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
responseStream << ( sumTransactions - notReadyTransactions );
|
||||
responseStream << " ";
|
||||
#line 75 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 89 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
responseStream << ( gettext("von") );
|
||||
responseStream << " ";
|
||||
#line 75 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 89 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
responseStream << ( sumTransactions );
|
||||
responseStream << " ";
|
||||
#line 75 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 89 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
responseStream << ( gettext("Transaktionen sind bereit zum bestätigen") );
|
||||
responseStream << "\n";
|
||||
responseStream << "\t\t";
|
||||
#line 76 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 90 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
} else { responseStream << "\n";
|
||||
responseStream << "\t\t\t";
|
||||
#line 77 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 91 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
responseStream << ( sumTransactions );
|
||||
responseStream << " ";
|
||||
#line 77 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 91 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
responseStream << ( gettext("Transaktionen warten darauf bestätigt zu werden.") );
|
||||
responseStream << "\n";
|
||||
responseStream << "\t\t";
|
||||
#line 78 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 92 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
} responseStream << "\n";
|
||||
responseStream << "\t";
|
||||
#line 79 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 93 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
} responseStream << "\n";
|
||||
responseStream << "\t";
|
||||
#line 80 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 94 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
if(state == PAGE_NO_TRANSACTIONS) { responseStream << "\n";
|
||||
responseStream << "\t\t";
|
||||
#line 81 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 95 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
if(sumTransactions == 0) { responseStream << "\n";
|
||||
responseStream << "\t\t\t";
|
||||
#line 82 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 96 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
responseStream << ( gettext("Es gibt zurzeit keine Transaktionen zum bestätigen") );
|
||||
responseStream << "\n";
|
||||
responseStream << "\t\t";
|
||||
#line 83 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 97 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
} else { responseStream << "\n";
|
||||
responseStream << "\t\t\t";
|
||||
#line 84 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 98 "F:\\Gradido\\gradido_login_server\\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 85 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 99 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
} responseStream << "\n";
|
||||
responseStream << " ";
|
||||
#line 86 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 100 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
} responseStream << "\n";
|
||||
responseStream << "\t</small>\n";
|
||||
responseStream << "</div>\n";
|
||||
#line 89 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 103 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
if(state != PAGE_NO_TRANSACTIONS) { responseStream << "\n";
|
||||
responseStream << "<div class=\"col-md-10 equel-grid\">\n";
|
||||
responseStream << "\t<div class=\"grid\">\n";
|
||||
responseStream << "\t <p class=\"grid-header\">";
|
||||
#line 92 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 106 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
responseStream << ( gettext("Transaktion Unterzeichnen") );
|
||||
responseStream << "</p>\n";
|
||||
responseStream << "\t <div class=\"grid-body\">\n";
|
||||
@ -301,96 +315,96 @@ void CheckTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request,
|
||||
responseStream << "\t\t <div class=\"row mb-3\">\n";
|
||||
responseStream << "\t\t\t<div class=\"col-md-10 mx-auto\">\n";
|
||||
responseStream << "\t\t\t";
|
||||
#line 97 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 111 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
if(state == PAGE_TRANSACTION_TRANSFER) {
|
||||
auto transferTransaction = processingTransaction->getTransferTransaction();
|
||||
memo = transferTransaction->getMemo();
|
||||
responseStream << "\n";
|
||||
responseStream << "\t\t\t <p class=\"card-title ml-n1 mb-3\">";
|
||||
#line 101 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 115 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
responseStream << ( gettext("Überweisung") );
|
||||
responseStream << "</p>\n";
|
||||
responseStream << "\t\t\t <div class=\"table-responsive mb-4\">\n";
|
||||
responseStream << "\t\t\t\t<table class=\"table info-table table-striped table-bordered\">\n";
|
||||
responseStream << "\t\t\t\t <thead>\n";
|
||||
responseStream << "\t\t\t\t\t<tr><th>";
|
||||
#line 105 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 119 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
responseStream << ( gettext("Konto") );
|
||||
responseStream << "</th><th>";
|
||||
#line 105 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 119 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
responseStream << ( gettext("Gradido") );
|
||||
responseStream << "</th></tr>\n";
|
||||
responseStream << "\t\t\t\t </thead>\n";
|
||||
responseStream << "\t\t\t\t <tbody>\n";
|
||||
responseStream << "\t\t\t\t ";
|
||||
#line 108 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 122 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
for(int i = 0; i < transferTransaction->getKontoTableSize(); i++) { responseStream << "\n";
|
||||
responseStream << "\t\t\t\t\t<tr>\n";
|
||||
responseStream << "\t\t\t\t\t\t";
|
||||
#line 110 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 124 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
responseStream << ( transferTransaction->getKontoNameCell(i) );
|
||||
responseStream << "\n";
|
||||
responseStream << "\t\t\t\t\t\t";
|
||||
#line 111 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 125 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
responseStream << ( transferTransaction->getAmountCell(i) );
|
||||
responseStream << "\n";
|
||||
responseStream << "\t\t\t\t\t</tr>\n";
|
||||
responseStream << "\t\t\t\t\t";
|
||||
#line 113 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 127 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
} responseStream << "\n";
|
||||
responseStream << "\t\t\t\t </tbody>\n";
|
||||
responseStream << "\t\t\t\t</table>\n";
|
||||
responseStream << "\t\t\t </div>\n";
|
||||
responseStream << "\t\t\t \n";
|
||||
responseStream << "\t\t\t ";
|
||||
#line 118 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 132 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
} else if(state == PAGE_TRANSACTION_CREATION) {
|
||||
auto creationTransaction = processingTransaction->getCreationTransaction();
|
||||
auto transactionUser = creationTransaction->getUser();
|
||||
memo = creationTransaction->getMemo();
|
||||
responseStream << "\n";
|
||||
responseStream << "\t\t\t <p class=\"card-title ml-n1 mb-3\">";
|
||||
#line 123 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 137 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
responseStream << ( gettext("Schöpfung") );
|
||||
responseStream << "</p>\n";
|
||||
responseStream << "\t\t\t <div class=\"table-responsive mb-4\">\n";
|
||||
responseStream << "\t\t\t\t<table class=\"table info-table table-striped table-bordered\">\n";
|
||||
responseStream << "\t\t\t\t <thead>\n";
|
||||
responseStream << "\t\t\t\t\t<tr><th>";
|
||||
#line 127 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 141 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
responseStream << ( gettext("Konto") );
|
||||
responseStream << "</th><th>";
|
||||
#line 127 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 141 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
responseStream << ( gettext("Gradido") );
|
||||
responseStream << "</th></tr>\n";
|
||||
responseStream << "\t\t\t\t </thead>\n";
|
||||
responseStream << "\t\t\t\t <tbody>\n";
|
||||
responseStream << "\t\t\t\t\t<tr>\n";
|
||||
responseStream << "\t\t\t\t\t\t";
|
||||
#line 131 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 145 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
if(transactionUser) { responseStream << "\n";
|
||||
responseStream << "\t\t\t\t\t\t\t<td>";
|
||||
#line 132 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 146 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
responseStream << ( transactionUser->getFirstName() );
|
||||
responseStream << " ";
|
||||
#line 132 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 146 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
responseStream << ( transactionUser->getLastName() );
|
||||
responseStream << " <";
|
||||
#line 132 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 146 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
responseStream << ( transactionUser->getEmail() );
|
||||
responseStream << "></td>\n";
|
||||
responseStream << "\t\t\t\t\t\t";
|
||||
#line 133 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 147 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
} else { responseStream << "\n";
|
||||
responseStream << "\t\t\t\t\t\t\t<td class=\"small\">0x";
|
||||
#line 134 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 148 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
responseStream << ( creationTransaction->getPublicHex() );
|
||||
responseStream << "</td>\n";
|
||||
responseStream << "\t\t\t\t\t\t";
|
||||
#line 135 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 149 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
} responseStream << "\n";
|
||||
responseStream << "\t\t\t\t\t\t<td class=\"grd-success-color\">";
|
||||
#line 136 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 150 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
responseStream << ( creationTransaction->getAmountString() );
|
||||
responseStream << " GDD</td>\n";
|
||||
responseStream << "\t\t\t\t\t</tr>\n";
|
||||
@ -398,22 +412,22 @@ void CheckTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request,
|
||||
responseStream << "\t\t\t\t</table>\n";
|
||||
responseStream << "\t\t\t </div>\n";
|
||||
responseStream << "\t\t\t ";
|
||||
#line 141 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 155 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
} responseStream << "\n";
|
||||
responseStream << "\t\t\t <div class=\"table-responsive mb-4\">\n";
|
||||
responseStream << "\t\t\t\t<table class=\"table info-table table-bordered table-auto-break\">\n";
|
||||
responseStream << "\t\t\t\t <thead><tr><th>";
|
||||
#line 144 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 158 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
responseStream << ( gettext("Aktives Konto") );
|
||||
responseStream << "</th></tr></thead>\n";
|
||||
responseStream << "\t\t\t\t <tbody><tr><td>";
|
||||
#line 145 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 159 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
responseStream << ( accountUser->getFirstName() );
|
||||
responseStream << " ";
|
||||
#line 145 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 159 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
responseStream << ( accountUser->getLastName() );
|
||||
responseStream << " <";
|
||||
#line 145 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 159 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
responseStream << ( accountUser->getEmail() );
|
||||
responseStream << "></td></tr></tbody>\n";
|
||||
responseStream << "\t\t\t\t</table>\n";
|
||||
@ -421,12 +435,12 @@ void CheckTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request,
|
||||
responseStream << "\t\t\t <div class=\"table-responsive mb-4\">\n";
|
||||
responseStream << "\t\t\t\t<table class=\"table info-table table-bordered table-auto-break tab-container\">\n";
|
||||
responseStream << "\t\t\t\t <thead><tr><th>";
|
||||
#line 150 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 164 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
responseStream << ( gettext("Verwendungszweck") );
|
||||
responseStream << "</th></tr></thead>\n";
|
||||
responseStream << "\t\t\t\t <tbody><tr>\n";
|
||||
responseStream << "\t\t\t\t\t <td class=\"tab-content\">";
|
||||
#line 152 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 166 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
responseStream << ( memo );
|
||||
responseStream << "</td></tr></tbody>\n";
|
||||
responseStream << "\t\t\t\t</table>\n";
|
||||
@ -437,32 +451,32 @@ void CheckTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request,
|
||||
responseStream << "\t\t\t <div class=\"row mb-3\">\n";
|
||||
responseStream << "\t\t\t\t<div class=\"col-md-10 mx-auto\">\n";
|
||||
responseStream << "\t\t\t\t ";
|
||||
#line 160 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 174 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
if(!accountUser->hasCryptoKey()) { responseStream << "\n";
|
||||
responseStream << "\t\t\t\t <div class=\"form-group\">\n";
|
||||
responseStream << "\t\t\t\t\t <label for=\"sign-password\">";
|
||||
#line 162 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 176 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
responseStream << ( gettext("Ich brauche nochmal dein Passwort") );
|
||||
responseStream << "</label>\n";
|
||||
responseStream << "\t\t\t\t\t <input type=\"password\" class=\"form-control\" id=\"sign-password\" name=\"sign-password\" placeholder=\"";
|
||||
#line 163 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 177 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
responseStream << ( gettext("Passwort") );
|
||||
responseStream << "\">\n";
|
||||
responseStream << "\t\t\t\t </div>\n";
|
||||
responseStream << "\t\t\t\t";
|
||||
#line 165 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 179 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
} responseStream << "\n";
|
||||
responseStream << "\t\t\t\t <button type=\"submit\" class=\"btn btn-sm btn-primary\" name=\"ok\" value=\"ok\">\n";
|
||||
responseStream << "\t\t\t\t\t<i class=\"mdi mdi-signature-freehand\"></i>\n";
|
||||
responseStream << "\t\t\t\t\t";
|
||||
#line 168 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 182 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
responseStream << ( gettext("Transaktion unterzeichnen") );
|
||||
responseStream << "\n";
|
||||
responseStream << "\t\t\t\t </button>\n";
|
||||
responseStream << "\t\t\t\t <button type=\"submit\" class=\"btn btn-sm btn-warning\" name=\"abort\" value=\"abort\">\n";
|
||||
responseStream << "\t\t\t\t\t<i class=\"mdi mdi-delete\"></i>\n";
|
||||
responseStream << "\t\t\t\t\t";
|
||||
#line 172 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 186 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
responseStream << ( gettext("Transaktion verwerfen") );
|
||||
responseStream << "\n";
|
||||
responseStream << "\t\t\t\t </button>\n";
|
||||
@ -473,7 +487,7 @@ void CheckTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request,
|
||||
responseStream << "\t </div>\n";
|
||||
responseStream << "\t</div>\n";
|
||||
responseStream << "</div>\n";
|
||||
#line 181 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
#line 195 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp"
|
||||
} // begin include footer_ripple.cpsp
|
||||
responseStream << "\t</div>\n";
|
||||
responseStream << " </div>\n";
|
||||
|
||||
@ -91,6 +91,7 @@ void LoginPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::
|
||||
getErrors(mSession);
|
||||
|
||||
auto uri_start = request.serverParams().getServerName();
|
||||
auto lastExternReferer = mSession->getLastReferer();
|
||||
|
||||
switch(userState) {
|
||||
case USER_EMPTY:
|
||||
@ -109,7 +110,11 @@ void LoginPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::
|
||||
return;
|
||||
case USER_NO_PRIVATE_KEY:
|
||||
case USER_COMPLETE:
|
||||
response.redirect(ServerConfig::g_php_serverPath + "/");
|
||||
if(lastExternReferer != "") {
|
||||
response.redirect(lastExternReferer);
|
||||
} else {
|
||||
response.redirect(ServerConfig::g_php_serverPath + "/");
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
@ -183,20 +188,20 @@ void LoginPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::
|
||||
responseStream << " <div class=\"row\">\n";
|
||||
responseStream << " <div class=\"col-12 logo-section\">\n";
|
||||
responseStream << " <a href=\"";
|
||||
#line 124 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||
#line 129 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||
responseStream << ( ServerConfig::g_php_serverPath );
|
||||
responseStream << "\" class=\"logo\">\n";
|
||||
responseStream << "\t\t\t<picture>\n";
|
||||
responseStream << "\t\t\t\t<source srcset=\"";
|
||||
#line 126 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||
#line 131 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||
responseStream << ( ServerConfig::g_php_serverPath );
|
||||
responseStream << "img/logo_schrift.webp\" type=\"image/webp\">\n";
|
||||
responseStream << "\t\t\t\t<source srcset=\"";
|
||||
#line 127 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||
#line 132 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||
responseStream << ( ServerConfig::g_php_serverPath );
|
||||
responseStream << "img/logo_schrift.png\" type=\"image/png\"> \n";
|
||||
responseStream << "\t\t\t\t<img src=\"";
|
||||
#line 128 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||
#line 133 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||
responseStream << ( ServerConfig::g_php_serverPath );
|
||||
responseStream << "img/logo_schrift.png\" alt=\"logo\" />\n";
|
||||
responseStream << "\t\t\t</picture>\n";
|
||||
@ -208,29 +213,29 @@ void LoginPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::
|
||||
responseStream << " <div class=\"grid\">\n";
|
||||
responseStream << "\t\t\t<div class=\"center-ul-container\">\n";
|
||||
responseStream << "\t\t\t\t";
|
||||
#line 137 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||
#line 142 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||
responseStream << ( getErrorsHtml() );
|
||||
responseStream << "\t \n";
|
||||
responseStream << "\t\t\t</div>\n";
|
||||
responseStream << " <div class=\"grid-body\">\n";
|
||||
responseStream << " <form action=\"";
|
||||
#line 140 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||
#line 145 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||
responseStream << ( ServerConfig::g_serverPath );
|
||||
responseStream << "/\" method=\"POST\">\n";
|
||||
responseStream << "\t\t\t <input type=\"hidden\" name=\"lang\" value=\"";
|
||||
#line 141 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||
#line 146 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||
responseStream << ( LanguageManager::keyForLanguage(lang) );
|
||||
responseStream << "\">\n";
|
||||
responseStream << " <div class=\"row pull-right-row\">\n";
|
||||
responseStream << " <div class=\"equel-grid pull-right\">\n";
|
||||
responseStream << " <div class=\"grid-body-small text-center\">\n";
|
||||
responseStream << " <button id=\"flag-england\" name=\"lang-btn\" value=\"en\" title=\"English\" type=\"submit\" ";
|
||||
#line 145 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||
#line 150 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||
if(lang != LANG_EN) { responseStream << "class=\"btn btn-outline-secondary flag-btn\"";
|
||||
#line 145 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||
#line 150 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||
}
|
||||
else { responseStream << "class=\"btn btn-secondary disabled flag-btn\" disabled";
|
||||
#line 146 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||
#line 151 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||
} responseStream << ">\n";
|
||||
responseStream << " <span class=\"flag-england\"></span>\n";
|
||||
responseStream << " </button>\n";
|
||||
@ -239,12 +244,12 @@ void LoginPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::
|
||||
responseStream << " <div class=\"equel-grid pull-right\">\n";
|
||||
responseStream << " <div class=\"grid-body-small text-center\">\n";
|
||||
responseStream << " <button id=\"flag-germany\" name=\"lang-btn\" value=\"de\" title=\"Deutsch\" type=\"submit\" ";
|
||||
#line 153 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||
#line 158 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||
if(lang != LANG_DE) { responseStream << "class=\"btn btn-outline-secondary flag-btn\"";
|
||||
#line 153 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||
#line 158 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||
}
|
||||
else { responseStream << "class=\"btn btn-secondary disabled flag-btn\" disabled";
|
||||
#line 154 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||
#line 159 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||
} responseStream << ">\n";
|
||||
responseStream << " <span class=\"flag-germany\"></span>\n";
|
||||
responseStream << " </button>\n";
|
||||
@ -255,39 +260,39 @@ void LoginPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::
|
||||
responseStream << " <div class=\"col-lg-7 col-md-8 col-sm-9 col-12 mx-auto form-wrapper\">\n";
|
||||
responseStream << " <div class=\"form-group input-rounded\">\n";
|
||||
responseStream << " <input type=\"text\" class=\"form-control\" name=\"login-email\" placeholder=\"";
|
||||
#line 163 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||
#line 168 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||
responseStream << ( langCatalog->gettext("E-Mail") );
|
||||
responseStream << "\" value=\"";
|
||||
#line 163 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||
#line 168 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||
responseStream << ( presetEmail );
|
||||
responseStream << "\"/>\n";
|
||||
responseStream << " </div>\n";
|
||||
responseStream << " <div class=\"form-group input-rounded\">\n";
|
||||
responseStream << " <input type=\"password\" class=\"form-control\" name=\"login-password\" placeholder=\"";
|
||||
#line 166 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||
#line 171 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||
responseStream << ( langCatalog->gettext("Password") );
|
||||
responseStream << "\" />\n";
|
||||
responseStream << " </div>\n";
|
||||
responseStream << " <button type=\"submit\" name=\"submit\" class=\"btn btn-primary btn-block\">";
|
||||
#line 168 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||
#line 173 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||
responseStream << ( langCatalog->gettext(" Login ") );
|
||||
responseStream << "</button>\n";
|
||||
responseStream << " <div class=\"signup-link\">\n";
|
||||
responseStream << " <p>";
|
||||
#line 170 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||
#line 175 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||
responseStream << ( langCatalog->gettext("You haven't any account yet? Please follow the link to create one.") );
|
||||
responseStream << "</p>\n";
|
||||
responseStream << " <a href=\"https://gradido.com\">";
|
||||
#line 171 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||
#line 176 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||
responseStream << ( langCatalog->gettext("Create New Account") );
|
||||
responseStream << "</a>\n";
|
||||
responseStream << " </div>\n";
|
||||
responseStream << "\t\t\t\t\t<div class=\"reset-pwd-link\">\n";
|
||||
responseStream << "\t\t\t\t\t\t<a href=\"";
|
||||
#line 174 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||
#line 179 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||
responseStream << ( ServerConfig::g_serverPath );
|
||||
responseStream << "/resetPassword\">";
|
||||
#line 174 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||
#line 179 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\login.cpsp"
|
||||
responseStream << ( langCatalog->gettext("Passwort vergessen") );
|
||||
responseStream << "</a>\n";
|
||||
responseStream << "\t\t\t\t\t</div>\n";
|
||||
|
||||
@ -42,12 +42,18 @@ Poco::Net::HTTPRequestHandler* PageRequestHandlerFactory::createRequestHandler(c
|
||||
std::string dateTimeString = Poco::DateTimeFormatter::format(Poco::DateTime(), "%d.%m.%y %H:%M:%S");
|
||||
mRemoveGETParameters.extract(uri, url_first_part);
|
||||
|
||||
std::string externReferer;
|
||||
|
||||
if (uri != "/favicon.ico") {
|
||||
//printf("[PageRequestHandlerFactory] uri: %s, first part: %s\n", uri.data(), url_first_part.data());
|
||||
/*auto referer = request.find("Referer");
|
||||
auto referer = request.find("Referer");
|
||||
if (referer != request.end()) {
|
||||
printf("referer: %s\n", referer->second.data());
|
||||
}*/
|
||||
//printf("referer: %s\n", referer->second.data());
|
||||
auto refererString = referer->second;
|
||||
if (refererString.find(ServerConfig::g_serverPath) == refererString.npos) {
|
||||
externReferer = refererString;
|
||||
}
|
||||
}//*/
|
||||
}
|
||||
|
||||
if (url_first_part == "/elopage_webhook_261") {
|
||||
@ -67,6 +73,7 @@ Poco::Net::HTTPRequestHandler* PageRequestHandlerFactory::createRequestHandler(c
|
||||
try {
|
||||
session_id = atoi(cookies.get("GRADIDO_LOGIN").data());
|
||||
} catch (...) {}
|
||||
|
||||
auto sm = SessionManager::getInstance();
|
||||
auto s = sm->getSession(session_id);
|
||||
|
||||
@ -99,6 +106,10 @@ Poco::Net::HTTPRequestHandler* PageRequestHandlerFactory::createRequestHandler(c
|
||||
return resetPassword;
|
||||
}
|
||||
if (s) {
|
||||
if (externReferer != "") {
|
||||
s->setLastReferer(externReferer);
|
||||
}
|
||||
|
||||
auto user = s->getUser();
|
||||
if (s->errorCount() || (!user.isNull() && user->errorCount())) {
|
||||
user->sendErrorsAsEmail();
|
||||
|
||||
88
src/cpp/JSONInterface/JsonGetUsers.cpp
Normal file
88
src/cpp/JSONInterface/JsonGetUsers.cpp
Normal file
@ -0,0 +1,88 @@
|
||||
#include "JsonGetUsers.h"
|
||||
#include "Poco/URI.h"
|
||||
|
||||
#include "../SingletonManager/SessionManager.h"
|
||||
#include "../model/table/User.h"
|
||||
|
||||
Poco::JSON::Object* JsonGetUsers::handle(Poco::Dynamic::Var params)
|
||||
{
|
||||
|
||||
int session_id = 0;
|
||||
Poco::JSON::Object* result = new Poco::JSON::Object;
|
||||
if (params.isStruct()) {
|
||||
session_id = params["session_id"];
|
||||
//std::string miau = params["miau"];
|
||||
}
|
||||
else if (params.isVector()) {
|
||||
try {
|
||||
const Poco::URI::QueryParameters queryParams = params.extract<Poco::URI::QueryParameters>();
|
||||
for (auto it = queryParams.begin(); it != queryParams.end(); it++) {
|
||||
if (it->first == "session_id") {
|
||||
session_id = stoi(it->second);
|
||||
break;
|
||||
}
|
||||
}
|
||||
//auto var = params[0];
|
||||
}
|
||||
catch (const std::invalid_argument& ia) {
|
||||
result->set("state", "error");
|
||||
result->set("msg", "error parsing query params, invalid argument: ");
|
||||
result->set("details", ia.what());
|
||||
return result;
|
||||
}
|
||||
catch (const std::out_of_range& oor) {
|
||||
result->set("state", "error");
|
||||
result->set("msg", "error parsing query params, Out of Range error: ");
|
||||
result->set("details", oor.what());
|
||||
return result;
|
||||
}
|
||||
catch (const std::logic_error & ler) {
|
||||
result->set("state", "error");
|
||||
result->set("msg", "error parsing query params, Logical error: ");
|
||||
result->set("details", ler.what());
|
||||
return result;
|
||||
}
|
||||
catch (Poco::Exception& ex) {
|
||||
//printf("[JsonGetLogin::handle] exception: %s\n", ex.displayText().data());
|
||||
result->set("state", "error");
|
||||
result->set("msg", "error parsing query params, Poco Error");
|
||||
result->set("details", ex.displayText());
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
if (session_id) {
|
||||
auto sm = SessionManager::getInstance();
|
||||
auto session = sm->getSession(session_id);
|
||||
//Session* session = nullptr;
|
||||
if (session) {
|
||||
auto user = session->getUser();
|
||||
if (!user) {
|
||||
result->set("state", "not found");
|
||||
result->set("msg", "Session didn't contain user");
|
||||
return result;
|
||||
}
|
||||
result->set("state", "success");
|
||||
result->set("clientIP", session->getClientIp().toString());
|
||||
Poco::JSON::Object usersObj;
|
||||
model::table::User newUser;
|
||||
//auto newUsers = newUser.loadFromDB("email_checked", 0, 0);
|
||||
result->set("user", user->getJson());
|
||||
result->set("Transaction.pending", session->getProcessingTransactionCount());
|
||||
//printf("pending: %d\n", session->getProcessingTransactionCount());
|
||||
return result;
|
||||
}
|
||||
else {
|
||||
result->set("state", "not found");
|
||||
result->set("msg", "Session not found");
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
else {
|
||||
result->set("state", "error");
|
||||
result->set("msg", "empty session id");
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
16
src/cpp/JSONInterface/JsonGetUsers.h
Normal file
16
src/cpp/JSONInterface/JsonGetUsers.h
Normal file
@ -0,0 +1,16 @@
|
||||
#ifndef __JSON_INTERFACE_JSON_GET_LOGIN_
|
||||
#define __JSON_INTERFACE_JSON_GET_LOGIN_
|
||||
|
||||
#include "JsonRequestHandler.h"
|
||||
|
||||
class JsonGetUsers : public JsonRequestHandler
|
||||
{
|
||||
public:
|
||||
Poco::JSON::Object* handle(Poco::Dynamic::Var params);
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
};
|
||||
|
||||
#endif // __JSON_INTERFACE_JSON_GET_LOGIN_
|
||||
@ -443,6 +443,7 @@ void SessionManager::deleteLoginCookies(Poco::Net::HTTPServerRequest& request, P
|
||||
// max age of 0 delete cookie
|
||||
keks.setMaxAge(0);
|
||||
response.addCookie(keks);
|
||||
printf("remove PHP Kekse\n");
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -41,7 +41,7 @@ void SingletonTaskObserver::addTask(const std::string& email, TaskObserverType t
|
||||
entry = new UserObserverEntry(email, id);
|
||||
mObserverEntrys.addByHash(id, entry);
|
||||
}
|
||||
if (entry->mEmail != email) {
|
||||
if (entry->mEmail != "" && entry->mEmail != email) {
|
||||
em->addError(new ParamError(funcName, "hash collision with ", email.data()));
|
||||
em->addError(new ParamError(funcName, "and ", entry->mEmail.data()));
|
||||
em->sendErrorsAsEmail();
|
||||
@ -172,6 +172,20 @@ int SingletonTaskObserver::getTaskCount(const std::string& email, TaskObserverTy
|
||||
return count;
|
||||
}
|
||||
|
||||
int SingletonTaskObserver::getTaskCount(DHASH id, TaskObserverType type)
|
||||
{
|
||||
lock("SingletonTaskObserver::getTaskCount");
|
||||
UserObserverEntry* entry = static_cast<UserObserverEntry*>(mObserverEntrys.findByHash(id));
|
||||
if (!entry) {
|
||||
unlock();
|
||||
return -1;
|
||||
}
|
||||
|
||||
int count = entry->mTasksCount[type];
|
||||
unlock();
|
||||
return count;
|
||||
}
|
||||
|
||||
std::vector<int> SingletonTaskObserver::getTasksCount(const std::string& email)
|
||||
{
|
||||
DHASH id = makeHash(email);
|
||||
|
||||
@ -44,6 +44,7 @@ public:
|
||||
|
||||
//! \return -1 if no entry for email found
|
||||
int getTaskCount(const std::string& email, TaskObserverType type);
|
||||
int getTaskCount(DHASH id, TaskObserverType type);
|
||||
std::vector<int> getTasksCount(const std::string& email);
|
||||
|
||||
static const char* TaskObserverTypeToString(TaskObserverType type);
|
||||
|
||||
@ -148,6 +148,10 @@ public:
|
||||
Languages getLanguage();
|
||||
inline const char* gettext(const char* text) { if (mLanguageCatalog.isNull()) return text; return mLanguageCatalog->gettext(text); }
|
||||
|
||||
// last referer
|
||||
inline void setLastReferer(const std::string& lastReferer) { mLastExternReferer = lastReferer; }
|
||||
inline const std::string& getLastReferer() const { return mLastExternReferer; }
|
||||
|
||||
protected:
|
||||
void updateTimeout();
|
||||
inline void setHandle(int newHandle) { mHandleId = newHandle; }
|
||||
@ -164,6 +168,7 @@ private:
|
||||
std::string mPassphrase;
|
||||
Poco::DateTime mLastActivity;
|
||||
Poco::Net::IPAddress mClientLoginIP;
|
||||
std::string mLastExternReferer;
|
||||
Poco::AutoPtr<controller::EmailVerificationCode> mEmailVerificationCodeObject;
|
||||
|
||||
|
||||
|
||||
@ -88,7 +88,7 @@ namespace model {
|
||||
template<class WhereFieldType, class Tuple>
|
||||
std::vector<Tuple> ModelBase::loadFromDB(const std::string& fieldName, const WhereFieldType& fieldValue, int expectedResults)
|
||||
{
|
||||
printf("ModelBase::loadFromDB multi\n");
|
||||
//printf("ModelBase::loadFromDB multi\n");
|
||||
std::vector<Tuple> results;
|
||||
return results;
|
||||
if (expectedResults > 0) {
|
||||
|
||||
@ -22,6 +22,8 @@ namespace model {
|
||||
USER_FIELDS_LANGUAGE
|
||||
};
|
||||
|
||||
|
||||
|
||||
class User : public ModelBase
|
||||
{
|
||||
public:
|
||||
|
||||
@ -100,7 +100,7 @@ int SigningTransaction::run() {
|
||||
|
||||
|
||||
// finalize
|
||||
printf("sigpair size: %d\n", transaction.sigmap().sigpair_size());
|
||||
//printf("sigpair size: %d\n", transaction.sigmap().sigpair_size());
|
||||
std::string finalTransactionBin = transaction.SerializeAsString();
|
||||
if (finalTransactionBin == "") {
|
||||
addError(new Error("SigningTransaction", "error serializing final transaction"));
|
||||
@ -123,7 +123,7 @@ int SigningTransaction::run() {
|
||||
Poco::JSON::Object requestJson;
|
||||
requestJson.set("method", "putTransaction");
|
||||
requestJson.set("transaction", std::string((char*)*finalBase64Bin));
|
||||
printf("\nbase64 transaction: \n%s\n\n", (char*)*finalBase64Bin);
|
||||
//printf("\nbase64 transaction: \n%s\n\n", (char*)*finalBase64Bin);
|
||||
mm->releaseMemory(finalBase64Bin);
|
||||
|
||||
|
||||
@ -188,7 +188,7 @@ int SigningTransaction::run() {
|
||||
sendErrorsAsEmail();
|
||||
return -10;
|
||||
}
|
||||
printf("state: %s\n", stateString.data());
|
||||
//printf("state: %s\n", stateString.data());
|
||||
int zahl = 1;
|
||||
}
|
||||
catch (Poco::Exception& e) {
|
||||
|
||||
@ -6,6 +6,7 @@
|
||||
<%@ page compressed="true" %>
|
||||
<%!
|
||||
#include "../SingletonManager/SessionManager.h"
|
||||
#include "../SingletonManager/SingletonTaskObserver.h"
|
||||
#include "../model/TransactionCreation.h"
|
||||
#include "../model/TransactionTransfer.h"
|
||||
|
||||
@ -49,8 +50,21 @@ enum PageState {
|
||||
size_t notReadyTransactions = 0;
|
||||
size_t sumTransactions = mSession->getProcessingTransactionCount();
|
||||
if(sumTransactions == 0) {
|
||||
Poco::Thread::sleep(1000);
|
||||
response.redirect(ServerConfig::g_php_serverPath + "state-balances/overview");
|
||||
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 lastExternReferer = mSession->getLastReferer();
|
||||
if(lastExternReferer != "") {
|
||||
printf("last extern referer: %s\n", lastExternReferer.data());
|
||||
response.redirect(lastExternReferer);
|
||||
} else {
|
||||
response.redirect(ServerConfig::g_php_serverPath + "state-balances/overview");
|
||||
}
|
||||
return;
|
||||
}
|
||||
auto processingTransaction = mSession->getNextReadyTransaction(¬ReadyTransactions);
|
||||
|
||||
@ -70,6 +70,7 @@
|
||||
getErrors(mSession);
|
||||
|
||||
auto uri_start = request.serverParams().getServerName();
|
||||
auto lastExternReferer = mSession->getLastReferer();
|
||||
|
||||
switch(userState) {
|
||||
case USER_EMPTY:
|
||||
@ -88,7 +89,11 @@
|
||||
return;
|
||||
case USER_NO_PRIVATE_KEY:
|
||||
case USER_COMPLETE:
|
||||
response.redirect(ServerConfig::g_php_serverPath + "/");
|
||||
if(lastExternReferer != "") {
|
||||
response.redirect(lastExternReferer);
|
||||
} else {
|
||||
response.redirect(ServerConfig::g_php_serverPath + "/");
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user