diff --git a/src/cpp/HTTPInterface/CheckTransactionPage.cpp b/src/cpp/HTTPInterface/CheckTransactionPage.cpp index 0dc3231cc..f8e250d6c 100644 --- a/src/cpp/HTTPInterface/CheckTransactionPage.cpp +++ b/src/cpp/HTTPInterface/CheckTransactionPage.cpp @@ -5,7 +5,7 @@ #include "Poco/DeflatingStream.h" -#line 7 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 7 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\checkTransaction.cpsp" #include "../SingletonManager/SessionManager.h" #include "../SingletonManager/SingletonTaskObserver.h" @@ -38,7 +38,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\\src\\cpsp\\checkTransaction.cpsp" +#line 24 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\checkTransaction.cpsp" const char* pageName = gettext("Überprüfe Transaktion"); auto account_user = mSession->getNewUser(); @@ -56,11 +56,16 @@ void CheckTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request, hasErrors = true; } + bool transaction_finalize_run = false; + bool transaction_finalize_result = false; + if(!form.empty()) { auto ok = form.get("ok", ""); auto abort = form.get("abort", ""); + auto back = form.get("back", ""); if(abort != "") { - mSession->finalizeTransaction(false, true); + transaction_finalize_result = mSession->finalizeTransaction(false, true); + transaction_finalize_run = true; } else if(ok != "") { if(!account_user->hasPassword()) { auto pwd = form.get("sign-password", ""); @@ -83,15 +88,26 @@ void CheckTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request, } } if(!hasErrors) { - mSession->finalizeTransaction(true, false); + 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) { + if(sumTransactions == 0 && !transaction_finalize_run) { /*auto observer = SingletonTaskObserver::getInstance(); auto emailHash = DRMakeStringHash(mSession->getUser()->getEmail()); int breakCount = 0; @@ -136,23 +152,23 @@ void CheckTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request, responseStream << " \n"; responseStream << " \n"; responseStream << "
"; -#line 130 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 157 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( gettext("Transaktion Unterzeichnen") ); responseStream << "
\n"; responseStream << "\t\t"; -#line 136 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 163 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( gettext("Überweisung") ); responseStream << "
\n"; responseStream << "\t\t\t"; -#line 158 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 185 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( gettext("Schöpfung") ); responseStream << "
\n"; responseStream << "\t\t\t\t"; -#line 176 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 203 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( gettext("Es gibt ein Problem mit deinen gespeicherten Daten, bitte wende dich an den")); responseStream << "getAdminReceiver()); responseStream << "?subject=Corrupt User Data&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 176 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 203 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\checkTransaction.cpsp" responseStream << (gettext("Support") ); responseStream << "
\n"; responseStream << "\t\t\t "; -#line 177 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 204 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\checkTransaction.cpsp" } responseStream << "\n"; responseStream << "\t\t\tCommunity Server in Entwicklung
\n"; responseStream << "Alpha "; -#line 17 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\footer_chr.cpsp" +#line 17 "F:\\Gradido\\gradido_login_server_production\\src\\cpsp\\footer_chr.cpsp" responseStream << ( ServerConfig::g_versionString ); responseStream << "
\n"; responseStream << "