From beb869460bbc4ca276beaacbba40d3f079a7a886 Mon Sep 17 00:00:00 2001 From: Dario Date: Mon, 29 Jun 2020 14:23:55 +0200 Subject: [PATCH] Finish updating CheckTransactionPage with new layout from christine --- .../HTTPInterface/CheckTransactionPage.cpp | 642 +++++++++--------- src/cpp/model/TransactionTransfer.cpp | 21 +- src/cpsp/checkTransaction.cpsp | 213 +++--- 3 files changed, 406 insertions(+), 470 deletions(-) diff --git a/src/cpp/HTTPInterface/CheckTransactionPage.cpp b/src/cpp/HTTPInterface/CheckTransactionPage.cpp index 8ccc9b899..f4c9b43dd 100644 --- a/src/cpp/HTTPInterface/CheckTransactionPage.cpp +++ b/src/cpp/HTTPInterface/CheckTransactionPage.cpp @@ -9,6 +9,7 @@ #include "../SingletonManager/SessionManager.h" #include "../SingletonManager/SingletonTaskObserver.h" +#include "../SingletonManager/EmailManager.h" #include "../model/TransactionCreation.h" #include "../model/TransactionTransfer.h" @@ -17,13 +18,10 @@ enum PageState { PAGE_TRANSACTION_CREATION, PAGE_TRANSACTION_TRANSFER, - PAGE_NO_TRANSACTIONS + PAGE_NO_TRANSACTIONS, + PAGE_USER_DATA_CORRUPTED }; -#line 1 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_navi.cpsp" - -#include "../ServerConfig.h" -#include "../model/TransactionBase.h" CheckTransactionPage::CheckTransactionPage(Session* arg): @@ -40,26 +38,48 @@ void CheckTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request, if (_compressResponse) response.set("Content-Encoding", "gzip"); Poco::Net::HTMLForm form(request, request.stream()); -#line 22 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 24 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" const char* pageName = gettext("Überprüfe Transaktion"); - auto accountUser = mSession->getUser(); - auto userBalance = accountUser->getBalance(); + auto account_user = mSession->getNewUser(); + auto user_model = account_user->getModel(); + auto em = EmailManager::getInstance(); + auto userBalance = account_user->getBalance(); std::string memo = ""; bool hasErrors = false; bool enableLogout = true; + 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; + } + if(!form.empty()) { auto ok = form.get("ok", ""); auto abort = form.get("abort", ""); if(abort != "") { mSession->finalizeTransaction(false, true); } else if(ok != "") { - if(!accountUser->hasCryptoKey()) { + if(!account_user->hasPassword()) { auto pwd = form.get("sign-password", ""); - if(!mSession->isPwdValid(pwd)) { + 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) { @@ -68,7 +88,7 @@ void CheckTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request, } } - PageState state = PAGE_NO_TRANSACTIONS; + size_t notReadyTransactions = 0; size_t sumTransactions = mSession->getProcessingTransactionCount(); if(sumTransactions == 0) { @@ -94,7 +114,7 @@ void CheckTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request, if(sumTransactions > 0) { enableLogout = false; } - if(!processingTransaction.isNull()) { + if(PAGE_NO_TRANSACTIONS == state && !processingTransaction.isNull()) { auto transactionType = processingTransaction->getType(); switch(transactionType) { case TRANSACTION_CREATION: state = PAGE_TRANSACTION_CREATION; break; @@ -108,442 +128,406 @@ void CheckTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::DeflatingOutputStream _gzipStream(_responseStream, Poco::DeflatingStreamBuf::STREAM_GZIP, 1); std::ostream& responseStream = _compressResponse ? _gzipStream : _responseStream; responseStream << "\n"; - // begin include header_navi.cpsp - responseStream << "\n"; + // begin include header_navi_chr.cpsp responseStream << "\n"; responseStream << "\n"; + responseStream << "\n"; responseStream << "\n"; - responseStream << "\n"; - responseStream << "\n"; - responseStream << "Gradido Login Server: "; -#line 10 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_navi.cpsp" + 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\\src\\cpsp\\header_navi_chr.cpsp" responseStream << ( pageName ); responseStream << "\n"; - responseStream << "\n"; - responseStream << "\n"; + responseStream << " \n"; + responseStream << "favicon.ico\" type=\"image/x-icon\" rel=\"shortcut icon\" />\n"; + responseStream << " \n"; + responseStream << " \n"; responseStream << "\n"; - responseStream << "\n"; - responseStream << "
\n"; - responseStream << "\t

Login Server in Entwicklung

\n"; - responseStream << "\t

Alpha "; -#line 17 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_navi.cpsp" - responseStream << ( ServerConfig::g_versionString ); - responseStream << "

\n"; - responseStream << "
\n"; - responseStream << "\n"; - responseStream << "
\n"; - responseStream << " \n"; - responseStream << " \n"; - responseStream << "
\n"; - responseStream << "
\n"; - responseStream << "
\n"; - responseStream << "
\n"; + responseStream << "
\n"; + responseStream << "
\n"; + responseStream << "
\n"; + responseStream << "
\n"; - responseStream << "
"; - // end include header_navi.cpsp + responseStream << "\n"; + responseStream << " \n"; + responseStream << "
"; + // end include header_navi_chr.cpsp responseStream << "\n"; responseStream << "
\n"; responseStream << "\t\n"; responseStream << "\t"; -#line 88 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 112 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" if(sumTransactions > 0 && sumTransactions - notReadyTransactions != 1) { responseStream << "\n"; responseStream << "\t\t"; -#line 89 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 113 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" if(notReadyTransactions > 0) { responseStream << " \n"; responseStream << "\t\t\t"; -#line 90 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 114 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( sumTransactions - notReadyTransactions ); responseStream << " "; -#line 90 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 114 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( gettext("von") ); responseStream << " "; -#line 90 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 114 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( sumTransactions ); responseStream << " "; -#line 90 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 114 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( gettext("Transaktionen sind bereit zum bestätigen") ); responseStream << "\n"; responseStream << "\t\t"; -#line 91 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 115 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" } else { responseStream << "\n"; responseStream << "\t\t\t"; -#line 92 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 116 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( sumTransactions ); responseStream << " "; -#line 92 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 116 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( gettext("Transaktionen warten darauf bestätigt zu werden.") ); responseStream << "\n"; responseStream << "\t\t"; -#line 93 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 117 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" } responseStream << "\n"; responseStream << "\t"; -#line 94 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 118 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" } responseStream << "\n"; responseStream << "\t"; -#line 95 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 119 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" if(state == PAGE_NO_TRANSACTIONS) { responseStream << "\n"; responseStream << "\t\t"; -#line 96 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 120 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" if(sumTransactions == 0) { responseStream << "\n"; responseStream << "\t\t\t"; -#line 97 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 121 "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 98 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 122 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" } else { responseStream << "\n"; responseStream << "\t\t\t"; -#line 99 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 123 "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 100 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 124 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" } responseStream << "\n"; responseStream << " "; -#line 101 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 125 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" } responseStream << "\n"; responseStream << "\t\n"; responseStream << "
\n"; -#line 104 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" - if(state != PAGE_NO_TRANSACTIONS) { responseStream << "\n"; - responseStream << "
\n"; - responseStream << "\t
\n"; - responseStream << "\t

"; -#line 107 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" + responseStream << "

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

"; +#line 130 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( gettext("Transaktion Unterzeichnen") ); responseStream << "

\n"; - responseStream << "\t
\n"; - responseStream << "\t\t
\n"; - responseStream << "\t\t
\n"; - responseStream << "\t\t\t
\n"; - responseStream << "\t\t\t"; -#line 112 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" + responseStream << "\t\t
\n"; + responseStream << "\t\t"; +#line 132 "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

"; -#line 116 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" + auto transferTransaction = processingTransaction->getTransferTransaction(); + memo = transferTransaction->getMemo(); + responseStream << "\n"; + responseStream << "\t\t\t

"; +#line 136 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( gettext("Überweisung") ); responseStream << "

\n"; - responseStream << "\t\t\t
\n"; - responseStream << "\t\t\t\t\n"; - responseStream << "\t\t\t\t \n"; - responseStream << "\t\t\t\t\t\n"; - responseStream << "\t\t\t\t \n"; - responseStream << "\t\t\t\t \n"; - responseStream << "\t\t\t\t "; -#line 123 "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\n"; + responseStream << "\n"; + responseStream << "\t\t\t \n"; + responseStream << "\t\t\t "; +#line 142 "F:\\Gradido\\gradido_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 143 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" + if((i+1) % 2 == 0) { responseStream << "\n"; + responseStream << "\t\t\t\t\t\t
\n"; + responseStream << "\t\t\t\t\t"; +#line 145 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" + } else { responseStream << "\n"; + responseStream << "\t\t\t\t\t\t
\n"; + responseStream << "\t\t\t\t\t"; +#line 147 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" + } responseStream << "\n"; responseStream << "\t\t\t\t\t\t"; -#line 125 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 148 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( transferTransaction->getKontoNameCell(i) ); responseStream << "\n"; responseStream << "\t\t\t\t\t\t"; -#line 126 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 149 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( transferTransaction->getAmountCell(i) ); responseStream << "\n"; - responseStream << "\t\t\t\t\t
\n"; - responseStream << "\t\t\t\t\t"; -#line 128 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" - } responseStream << "\n"; - responseStream << "\t\t\t\t \n"; - responseStream << "\t\t\t\t
"; -#line 120 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" + responseStream << "\t\t\t
\n"; + responseStream << "\t\t\t
\n"; + responseStream << "\t\t\t\t"; +#line 139 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( gettext("Konto") ); - responseStream << "
"; -#line 120 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" + responseStream << "\n"; + responseStream << "\t\t\t\t"; +#line 140 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( gettext("Gradido") ); - responseStream << "
\n"; - responseStream << "\t\t\t
\n"; - responseStream << "\t\t\t \n"; + responseStream << "\t\t\t\t\t
\n"; responseStream << "\t\t\t "; -#line 133 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" - } else if(state == PAGE_TRANSACTION_CREATION) { +#line 151 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" + } responseStream << "\n"; + responseStream << "\t\t\t
\n"; + responseStream << "\t\t\t "; +#line 153 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" + } else if(PAGE_TRANSACTION_CREATION == state) { auto creationTransaction = processingTransaction->getCreationTransaction(); auto transactionUser = creationTransaction->getUser(); memo = creationTransaction->getMemo(); - responseStream << "\n"; - responseStream << "\t\t\t

"; -#line 138 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" + responseStream << "\n"; + responseStream << "\t\t\t\t

"; +#line 158 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( gettext("Schöpfung") ); responseStream << "

\n"; - responseStream << "\t\t\t
\n"; - responseStream << "\t\t\t\t\n"; - responseStream << "\t\t\t\t \n"; - responseStream << "\t\t\t\t\t\n"; - responseStream << "\t\t\t\t \n"; - responseStream << "\t\t\t\t \n"; - responseStream << "\t\t\t\t\t\n"; - responseStream << "\t\t\t\t\t\t"; -#line 146 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" + responseStream << "\n"; + responseStream << "\t\t\t\t \n"; + responseStream << "\t\t\t\t
\n"; + responseStream << "\t\t\t\t\t"; +#line 166 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" if(transactionUser) { responseStream << "\n"; - responseStream << "\t\t\t\t\t\t\t
\n"; - responseStream << "\t\t\t\t\t\t"; -#line 148 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" - } else { responseStream << "\n"; - responseStream << "\t\t\t\t\t\t\t\n"; - responseStream << "\t\t\t\t\t\t"; -#line 150 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" - } responseStream << "\n"; - responseStream << "\t\t\t\t\t\t\n"; - responseStream << "\t\t\t\t\t\t\n"; - responseStream << "\t\t\t\t\t\n"; - responseStream << "\t\t\t\t \n"; - responseStream << "\t\t\t\t
"; -#line 142 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" + responseStream << "\t\t\t\t
\n"; + responseStream << "\t\t\t\t
\n"; + responseStream << "\t\t\t\t\t"; +#line 161 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( gettext("Konto") ); - responseStream << "
"; -#line 142 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" + responseStream << "\n"; + responseStream << "\t\t\t\t\t"; +#line 162 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( gettext("Zieldatum") ); - responseStream << ""; -#line 142 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" + responseStream << "\n"; + responseStream << "\t\t\t\t\t"; +#line 163 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( gettext("Gradido") ); - responseStream << "
"; -#line 147 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" + responseStream << "\t\t\t\t\t\t>"; +#line 167 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( transactionUser->getFirstName() ); responseStream << " "; -#line 147 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 167 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( transactionUser->getLastName() ); responseStream << " <"; -#line 147 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 167 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" responseStream << ( transactionUser->getEmail() ); - responseStream << ">0x"; -#line 149 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" - responseStream << ( creationTransaction->getPublicHex() ); - responseStream << ""; -#line 151 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" - responseStream << ( creationTransaction->getTargetDateString() ); - responseStream << ""; -#line 152 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" - responseStream << ( creationTransaction->getAmountString() ); - responseStream << " GDD
\n"; - responseStream << "\t\t\t
\n"; - responseStream << "\t\t\t "; -#line 157 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" - } responseStream << "\n"; - responseStream << "\t\t\t
\n"; - responseStream << "\t\t\t\t\n"; - responseStream << "\t\t\t\t \n"; - responseStream << "\t\t\t\t \n"; - responseStream << "\t\t\t\t
"; -#line 160 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" - responseStream << ( gettext("Aktives Konto") ); - responseStream << "
"; -#line 161 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" - responseStream << ( accountUser->getFirstName() ); - responseStream << " "; -#line 161 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" - responseStream << ( accountUser->getLastName() ); - responseStream << " <"; -#line 161 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" - responseStream << ( accountUser->getEmail() ); - responseStream << ">
\n"; - responseStream << "\t\t\t
\n"; - responseStream << "\t\t\t
\n"; - responseStream << "\t\t\t\t\n"; - responseStream << "\t\t\t\t \n"; - responseStream << "\t\t\t\t \n"; - responseStream << "\t\t\t\t\t \n"; - responseStream << "\t\t\t\t
"; -#line 166 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" - responseStream << ( gettext("Verwendungszweck") ); - responseStream << "
"; + responseStream << ">\n"; + responseStream << "\t\t\t\t\t"; #line 168 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" - responseStream << ( memo ); - responseStream << "
\n"; + } else { responseStream << "\n"; + responseStream << "\t\t\t\t\t\t0x"; +#line 169 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" + responseStream << ( creationTransaction->getPublicHex() ); + responseStream << "\n"; + responseStream << "\t\t\t\t\t"; +#line 170 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" + } responseStream << "\n"; + responseStream << "\t\t\t\t\t"; +#line 171 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" + responseStream << ( creationTransaction->getTargetDateString() ); + responseStream << "\n"; + responseStream << "\t\t\t\t\t"; +#line 172 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" + responseStream << ( creationTransaction->getAmountString() ); + responseStream << " GDD\n"; + responseStream << "\t\t\t\t
\n"; + responseStream << "\t\t\t\t
\n"; + responseStream << "\t\t\t "; +#line 175 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" + } else if(PAGE_USER_DATA_CORRUPTED == state) { responseStream << "\n"; + responseStream << "\t\t\t\t

"; +#line 176 "F:\\Gradido\\gradido_login_server\\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" + responseStream << (gettext("Support") ); + responseStream << "

\n"; + responseStream << "\t\t\t "; +#line 177 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" + } responseStream << "\n"; + responseStream << "\t\t\t
\n"; + responseStream << "\t\t\t
\n"; + responseStream << "\t\t\t\tAktives Konto\n"; + responseStream << "\t\t\t
\n"; + responseStream << "\t\t\t
\n"; + responseStream << "\t\t\t\t"; +#line 183 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" + responseStream << ( user_model->getNameWithEmailHtml() ); + responseStream << "\n"; + responseStream << "\t\t\t
\n"; + responseStream << "\t\t\t
\n"; + responseStream << "\t\t\t
\n"; + responseStream << "\t\t\t
\n"; + responseStream << "\t\t\t\tVerwendungszweck\n"; + responseStream << "\t\t\t
\n"; + responseStream << "\t\t\t
\n"; + responseStream << "\t\t\t\t"; +#line 191 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" + responseStream << ( memo ); + responseStream << "\n"; responseStream << "\t\t\t
\n"; responseStream << "\t\t\t
\n"; - responseStream << "\t\t
\n"; responseStream << "\t\t\t
\n"; - responseStream << "\t\t\t
\n"; - responseStream << "\t\t\t\t
\n"; - responseStream << "\t\t\t\t "; -#line 176 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" - if(!accountUser->hasCryptoKey()) { responseStream << "\n"; + responseStream << "\t\t\t\t"; +#line 195 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" + if(!account_user->hasPassword()) { responseStream << "\n"; responseStream << "\t\t\t\t
\n"; responseStream << "\t\t\t\t\t \n"; responseStream << "\t\t\t\t\t \n"; responseStream << "\t\t\t\t
\n"; responseStream << "\t\t\t\t"; -#line 181 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" +#line 200 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" } responseStream << "\n"; - responseStream << "\t\t\t\t \n"; - responseStream << "\t\t\t\t \n"; + responseStream << "\t\t\t\t"; +#line 206 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" + } responseStream << "\n"; + responseStream << "\t\t\t\t\n"; - responseStream << "\t\t\t\t
\n"; - responseStream << "\t\t\t
\n"; + responseStream << "\t\t\t\t\n"; responseStream << "\t\t\t
\n"; responseStream << "\t\t
\n"; - responseStream << "\t
\n"; responseStream << "\t
\n"; responseStream << "
\n"; -#line 197 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\checkTransaction.cpsp" - } // begin include footer_ripple.cpsp - responseStream << "\t\t\t
\n"; - responseStream << "\t\t
\n"; - responseStream << " \n"; - responseStream << " \n"; - responseStream << "
\n"; - responseStream << "
\n"; - responseStream << "
\n"; - responseStream << " \n"; - responseStream << "
\n"; - responseStream << "
\n"; - responseStream << " Copyright © 2020 Gradido\n"; - responseStream << "
\n"; - responseStream << "
\n"; - responseStream << "
\n"; - responseStream << " \n"; - responseStream << "
\n"; - responseStream << " \n"; + // begin include footer_chr.cpsp + responseStream << "
\n"; responseStream << " \n"; - responseStream << "
\n"; + responseStream << "
\n"; + responseStream << " \n"; + responseStream << "
\n"; + responseStream << "
\n"; + responseStream << " Copyright © 2020 Gradido\n"; + responseStream << "
\n"; + responseStream << "
\n"; responseStream << " "; -#line 23 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\footer_ripple.cpsp" +#line 13 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\footer_chr.cpsp" responseStream << ( mTimeProfiler.string() ); responseStream << "\n"; responseStream << "
\n"; - responseStream << " \n"; - responseStream << " \n"; - responseStream << " \n"; - responseStream << " \n"; - responseStream << " \n"; - responseStream << " \n"; - responseStream << " \n"; - responseStream << " \n"; - responseStream << " \n"; - responseStream << " \n"; - responseStream << " \n"; - responseStream << " \n"; - responseStream << " \n"; - responseStream << " \n"; - responseStream << " \n"; - responseStream << "\n"; - responseStream << " "; - // end include footer_ripple.cpsp + responseStream << "
\n"; + responseStream << "

Community Server in Entwicklung

\n"; + responseStream << "

Alpha "; +#line 17 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\footer_chr.cpsp" + responseStream << ( ServerConfig::g_versionString ); + responseStream << "

\n"; + responseStream << "
\n"; + responseStream << "
\n"; + responseStream << "\n"; + responseStream << "\n"; + responseStream << ""; + // end include footer_chr.cpsp if (_compressResponse) _gzipStream.close(); } diff --git a/src/cpp/model/TransactionTransfer.cpp b/src/cpp/model/TransactionTransfer.cpp index 7d2f91073..d90933530 100644 --- a/src/cpp/model/TransactionTransfer.cpp +++ b/src/cpp/model/TransactionTransfer.cpp @@ -4,35 +4,44 @@ const std::string TransactionTransfer::mInvalidIndexMessage("invalid index"); TransactionTransfer::KontoTableEntry::KontoTableEntry(model::table::User* user, google::protobuf::int64 amount, bool negativeAmount/* = false*/) { + //Normaler User <info@software-labor.de> if (!user) return; composeAmountCellString(amount, negativeAmount); - kontoNameCell = ""; + /*kontoNameCell = ""; kontoNameCell += user->getFirstName(); kontoNameCell += " "; kontoNameCell += user->getLastName(); kontoNameCell += " <"; kontoNameCell += user->getEmail(); - kontoNameCell += ">"; + kontoNameCell += ">";*/ + kontoNameCell = ""; + kontoNameCell += user->getNameWithEmailHtml(); + kontoNameCell += ""; } TransactionTransfer::KontoTableEntry::KontoTableEntry(const std::string& pubkeyHex, google::protobuf::int64 amount, bool negativeAmount/* = false*/) { composeAmountCellString(amount, negativeAmount); - kontoNameCell = "0x" + pubkeyHex + ""; + //kontoNameCell = "0x" + pubkeyHex + ""; + kontoNameCell = "" + pubkeyHex + ""; } void TransactionTransfer::KontoTableEntry::composeAmountCellString(google::protobuf::int64 amount, bool negativeAmount) { + //-10 GDD + //10 GDD + amountCell = "-"; + amountCell += "alert-color\">-"; } else { - amountCell = ""; + amountCell += "success-color\">"; } amountCell += amountToString(amount); - amountCell += " GDD"; + //amountCell += " GDD"; + amountCell += " GDD"; } // ******************************************************************************************************************************** diff --git a/src/cpsp/checkTransaction.cpsp b/src/cpsp/checkTransaction.cpsp index 97215942a..1dd6ff296 100644 --- a/src/cpsp/checkTransaction.cpsp +++ b/src/cpsp/checkTransaction.cpsp @@ -7,6 +7,7 @@ <%! #include "../SingletonManager/SessionManager.h" #include "../SingletonManager/SingletonTaskObserver.h" +#include "../SingletonManager/EmailManager.h" #include "../model/TransactionCreation.h" #include "../model/TransactionTransfer.h" @@ -15,29 +16,52 @@ enum PageState { PAGE_TRANSACTION_CREATION, PAGE_TRANSACTION_TRANSFER, - PAGE_NO_TRANSACTIONS + PAGE_NO_TRANSACTIONS, + PAGE_USER_DATA_CORRUPTED }; %> <%% const char* pageName = gettext("Überprüfe Transaktion"); - auto accountUser = mSession->getUser(); - auto userBalance = accountUser->getBalance(); + auto account_user = mSession->getNewUser(); + auto user_model = account_user->getModel(); + auto em = EmailManager::getInstance(); + auto userBalance = account_user->getBalance(); std::string memo = ""; bool hasErrors = false; bool enableLogout = true; + 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; + } + if(!form.empty()) { auto ok = form.get("ok", ""); auto abort = form.get("abort", ""); if(abort != "") { mSession->finalizeTransaction(false, true); } else if(ok != "") { - if(!accountUser->hasCryptoKey()) { + if(!account_user->hasPassword()) { auto pwd = form.get("sign-password", ""); - if(!mSession->isPwdValid(pwd)) { + 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) { @@ -46,7 +70,7 @@ enum PageState { } } - PageState state = PAGE_NO_TRANSACTIONS; + size_t notReadyTransactions = 0; size_t sumTransactions = mSession->getProcessingTransactionCount(); if(sumTransactions == 0) { @@ -72,7 +96,7 @@ enum PageState { if(sumTransactions > 0) { enableLogout = false; } - if(!processingTransaction.isNull()) { + if(PAGE_NO_TRANSACTIONS == state && !processingTransaction.isNull()) { auto transactionType = processingTransaction->getType(); switch(transactionType) { case TRANSACTION_CREATION: state = PAGE_TRANSACTION_CREATION; break; @@ -104,11 +128,11 @@ enum PageState {

<%= gettext("Transaktion Unterzeichnen") %>

+
<% if(state == PAGE_TRANSACTION_TRANSFER) { auto transferTransaction = processingTransaction->getTransferTransaction(); memo = transferTransaction->getMemo(); %> -

<%= gettext("Überweisung") %>

@@ -116,24 +140,47 @@ enum PageState { <%= gettext("Gradido") %>
<% for(int i = 0; i < transferTransaction->getKontoTableSize(); i++) { %> - <%= transferTransaction->getKontoNameCellChr(i) %> - <%= transferTransaction->getAmountCellChr(i) %> + <% if((i+1) % 2 == 0) { %> +
+ <% } else { %> +
+ <% } %> + <%= transferTransaction->getKontoNameCell(i) %> + <%= transferTransaction->getAmountCell(i) %> +
<% } %> -
- Normaler User <info@software-labor.de> - -10 GDD -
-
- dario frodo <dariofrodo@gmx.de> - 10 GDD -
+ <% } else if(PAGE_TRANSACTION_CREATION == state) { + auto creationTransaction = processingTransaction->getCreationTransaction(); + auto transactionUser = creationTransaction->getUser(); + memo = creationTransaction->getMemo(); + %> +

<%= gettext("Schöpfung") %>

+
+
+ <%= gettext("Konto") %> + <%= gettext("Zieldatum") %> + <%= gettext("Gradido") %> +
+
+ <% if(transactionUser) { %> + ><%= transactionUser->getFirstName() %> <%= transactionUser->getLastName() %> <<%= transactionUser->getEmail() %>> + <% } else { %> + 0x<%= creationTransaction->getPublicHex() %> + <% } %> + <%= creationTransaction->getTargetDateString() %> + <%= creationTransaction->getAmountString() %> GDD +
+
+ <% } else if(PAGE_USER_DATA_CORRUPTED == state) { %> +

<%= gettext("Es gibt ein Problem mit deinen gespeicherten Daten, bitte wende dich an den")%><%=gettext("Support") %>

+ <% } %>
Aktives Konto
- Normaler User <info@software-labor.de> + <%= user_model->getNameWithEmailHtml() %>
@@ -141,132 +188,28 @@ enum PageState { Verwendungszweck
-   + <%= memo %>
- - -
-
-
-
- -
- - <% if(sumTransactions > 0 && sumTransactions - notReadyTransactions != 1) { %> - <% if(notReadyTransactions > 0) { %> - <%= sumTransactions - notReadyTransactions %> <%= gettext("von") %> <%= sumTransactions %> <%= gettext("Transaktionen sind bereit zum bestätigen") %> - <% } else { %> - <%= sumTransactions %> <%= gettext("Transaktionen warten darauf bestätigt zu werden.") %> - <% } %> - <% } %> - <% if(state == PAGE_NO_TRANSACTIONS) { %> - <% if(sumTransactions == 0) { %> - <%= gettext("Es gibt zurzeit keine Transaktionen zum bestätigen") %> - <% } else { %> - <%= gettext("Transaktion(en) werden noch vorbereitet, bitte lade die Seite in wenigen Augenblicken erneut.") %> - <% } %> - <% } %> - -
-<% if(state != PAGE_NO_TRANSACTIONS) { %> -
-
-

<%= gettext("Transaktion Unterzeichnen") %>

-
-
-
-
- <% if(state == PAGE_TRANSACTION_TRANSFER) { - auto transferTransaction = processingTransaction->getTransferTransaction(); - memo = transferTransaction->getMemo(); - %> -

<%= gettext("Überweisung") %>

-
- - - - - - <% for(int i = 0; i < transferTransaction->getKontoTableSize(); i++) { %> - - <%= transferTransaction->getKontoNameCell(i) %> - <%= transferTransaction->getAmountCell(i) %> - - <% } %> - -
<%= gettext("Konto") %><%= gettext("Gradido") %>
-
- - <% } else if(state == PAGE_TRANSACTION_CREATION) { - auto creationTransaction = processingTransaction->getCreationTransaction(); - auto transactionUser = creationTransaction->getUser(); - memo = creationTransaction->getMemo(); - %> -

<%= gettext("Schöpfung") %>

-
- - - - - - - <% if(transactionUser) { %> - - <% } else { %> - - <% } %> - - - - -
<%= gettext("Konto") %><%= gettext("Zieldatum") %><%= gettext("Gradido") %>
<%= transactionUser->getFirstName() %> <%= transactionUser->getLastName() %> <<%= transactionUser->getEmail() %>>0x<%= creationTransaction->getPublicHex() %><%= creationTransaction->getTargetDateString() %><%= creationTransaction->getAmountString() %> GDD
-
- <% } %> -
- - - -
<%= gettext("Aktives Konto") %>
<%= accountUser->getFirstName() %> <%= accountUser->getLastName() %> <<%= accountUser->getEmail() %>>
-
-
- - - - -
<%= gettext("Verwendungszweck") %>
<%= memo %>
-
-
-
-
-
-
- <% if(!accountUser->hasCryptoKey()) {%> + <% if(!account_user->hasPassword()) {%>
">
<% } %> - - + <% } %> + -
-
+
-
-<% } %><%@ include file="footer_chr.cpsp" %> \ No newline at end of file +<%@ include file="footer_chr.cpsp" %> \ No newline at end of file