diff --git a/src/cpp/HTTPInterface/DecodeTransactionPage.cpp b/src/cpp/HTTPInterface/DecodeTransactionPage.cpp index 73cdebee6..fdfbe4f2e 100644 --- a/src/cpp/HTTPInterface/DecodeTransactionPage.cpp +++ b/src/cpp/HTTPInterface/DecodeTransactionPage.cpp @@ -5,15 +5,23 @@ #include "Poco/DeflatingStream.h" -#line 6 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp" +#line 7 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp" #include "sodium.h" #include "../proto/gradido/TransactionBody.pb.h" +#include "../controller/User.h" +#include "../model/TransactionBase.h" #line 1 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\header_old.cpsp" #include "../ServerConfig.h" +DecodeTransactionPage::DecodeTransactionPage(Session* arg): + SessionHTTPRequestHandler(arg) +{ +} + + void DecodeTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::HTTPServerResponse& response) { response.setChunkedTransferEncoding(true); @@ -22,11 +30,19 @@ void DecodeTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request, if (_compressResponse) response.set("Content-Encoding", "gzip"); Poco::Net::HTMLForm form(request, request.stream()); -#line 10 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp" +#line 13 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp" const char* pageName = "Decode Transaction"; model::messages::gradido::TransactionBody transactionBody; bool decoded = false; + bool adminUser = false; + if(mSession && mSession->getNewUser()) { + auto user = mSession->getNewUser(); + auto model = user->getModel(); + if(model && model->getRole() == model::table::ROLE_ADMIN) { + adminUser = true; + } + } if(!form.empty()) { auto base64 = form.get("transaction", ""); if(base64 != "") { @@ -123,96 +139,121 @@ void DecodeTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request, responseStream << ( ServerConfig::g_versionString ); responseStream << "
\n"; responseStream << "\n"; - responseStream << ""; // end include header_old.cpsp responseStream << "\n"; responseStream << "Verwendungszweck:
\n"; responseStream << "\t\t"; -#line 57 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp" +#line 68 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp" responseStream << ( transactionBody.memo() ); responseStream << "
\n"; responseStream << "\t\t"; -#line 58 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp" +#line 69 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp" if(transactionBody.has_transfer()) { auto transfer = transactionBody.transfer(); responseStream << "\n"; responseStream << "\t\tpubkey: "; -#line 68 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp" +#line 79 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp" responseStream << ( hex ); responseStream << "
\n"; responseStream << "\t\t\tamount: "; -#line 69 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp" - responseStream << ( sender.amount() ); - responseStream << "
\n"; +#line 80 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp" + responseStream << ( TransactionBase::amountToString(sender.amount()) ); + responseStream << " GDD\n"; responseStream << "\t\t"; -#line 70 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp" +#line 81 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp" } responseStream << "\n"; responseStream << "\t\tReceiver\n"; responseStream << "\t\t"; -#line 72 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp" +#line 83 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp" for(int i = 0; i < transfer.receiveramounts_size(); i++) { auto receiver = transfer.receiveramounts(i); char hex[65]; memset(hex, 0, 65); sodium_bin2hex(hex, 65, (const unsigned char*)receiver.ed25519_receiver_pubkey().data(), receiver.ed25519_receiver_pubkey().size()); responseStream << "\n"; responseStream << "\t\t\tpubkey: "; -#line 77 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp" +#line 88 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp" responseStream << ( hex ); responseStream << "
\n"; responseStream << "\t\t\tamount: "; -#line 78 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp" - responseStream << ( receiver.amount() ); - responseStream << "
\n"; +#line 89 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp" + responseStream << ( TransactionBase::amountToString(receiver.amount()) ); + responseStream << " GDD\n"; responseStream << "\t\t"; -#line 79 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp" +#line 90 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp" } responseStream << "\n"; responseStream << "\t\t"; -#line 80 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp" - } else if(transactionBody.has_creation()) { responseStream << "\n"; +#line 91 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp" + } else if(transactionBody.has_creation()) { + auto creation = transactionBody.creation(); + auto receiver = creation.receiveramount(); + char hex[65]; memset(hex, 0, 65); + sodium_bin2hex(hex, 65, (const unsigned char*)receiver.ed25519_receiver_pubkey().data(), receiver.ed25519_receiver_pubkey().size()); + + Poco::AutoPtrpubkey: "; +#line 108 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp" + responseStream << ( hex ); + responseStream << "
\n"; + responseStream << "\t\t"; +#line 109 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp" + } else { responseStream << "\n"; + responseStream << "\t\tuser:
\n"; + responseStream << "\t\t"; +#line 111 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp" + responseStream << ( user->getModel()->toHTMLString() ); + responseStream << "
\n"; + responseStream << "\t\t"; +#line 112 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp" + } responseStream << "\n"; + responseStream << "\t\tamount: "; +#line 113 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp" + responseStream << ( TransactionBase::amountToString(receiver.amount()) ); + responseStream << " GDD
\n"; + responseStream << "\t\t"; +#line 114 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp" } responseStream << "\n"; responseStream << "\t"; -#line 83 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp" +#line 115 "F:\\Gradido\\gradido_login_server\\src\\cpsp\\decodeTransaction.cpsp" } responseStream << "\n"; responseStream << "pubkey: <%= hex %>
-amount: <%= sender.amount() %>
+amount: <%= TransactionBase::amountToString(sender.amount()) %> GDD
<% } %> Receiver <% for(int i = 0; i < transfer.receiveramounts_size(); i++) { @@ -75,13 +86,31 @@ sodium_bin2hex(hex, 65, (const unsigned char*)receiver.ed25519_receiver_pubkey().data(), receiver.ed25519_receiver_pubkey().size()); %>pubkey: <%= hex %>
-amount: <%= receiver.amount() %>
+amount: <%= TransactionBase::amountToString(receiver.amount()) %> GDD
<% } %> <% } else if(transactionBody.has_creation()) { auto creation = transactionBody.creation(); + auto receiver = creation.receiveramount(); + char hex[65]; memset(hex, 0, 65); + sodium_bin2hex(hex, 65, (const unsigned char*)receiver.ed25519_receiver_pubkey().data(), receiver.ed25519_receiver_pubkey().size()); + + Poco::AutoPtrpubkey: <%= creation. + <% if(!adminUser || user.isNull() || !user->getModel()) { %> +
pubkey: <%= hex %>
+ <% } else { %> +user:
+<%= user->getModel()->toHTMLString() %>
+ <% } %> +amount: <%= TransactionBase::amountToString(receiver.amount()) %> GDD
<% } %> <% } %>