diff --git a/src/cpp/HTTPInterface/DecodeTransactionPage.cpp b/src/cpp/HTTPInterface/DecodeTransactionPage.cpp
index 4597672ca..c01d83a9f 100644
--- a/src/cpp/HTTPInterface/DecodeTransactionPage.cpp
+++ b/src/cpp/HTTPInterface/DecodeTransactionPage.cpp
@@ -222,8 +222,7 @@ void DecodeTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request,
auto creation = transactionBody.creation();
TransactionCreation creationObject("", creation);
- auto receiver = creation.receiveramount();
-
+ auto receiver = creation.receiver();
char hex[65]; memset(hex, 0, 65);
sodium_bin2hex(hex, 65, (const unsigned char*)receiver.pubkey().data(), receiver.pubkey().size());
@@ -238,36 +237,36 @@ void DecodeTransactionPage::handleRequest(Poco::Net::HTTPServerRequest& request,
responseStream << "\n";
responseStream << "\t\t
Creation
\n";
responseStream << "\t\t";
-#line 121 "D:\\code\\gradido\\gradido_login_server_grpc\\src\\cpsp\\decodeTransaction.cpsp"
+#line 120 "D:\\code\\gradido\\gradido_login_server_grpc\\src\\cpsp\\decodeTransaction.cpsp"
if(!adminUser || user.isNull() || !user->getModel()) { responseStream << "\n";
responseStream << "\t\tpubkey: ";
-#line 122 "D:\\code\\gradido\\gradido_login_server_grpc\\src\\cpsp\\decodeTransaction.cpsp"
+#line 121 "D:\\code\\gradido\\gradido_login_server_grpc\\src\\cpsp\\decodeTransaction.cpsp"
responseStream << ( hex );
responseStream << "
\n";
responseStream << "\t\t";
-#line 123 "D:\\code\\gradido\\gradido_login_server_grpc\\src\\cpsp\\decodeTransaction.cpsp"
+#line 122 "D:\\code\\gradido\\gradido_login_server_grpc\\src\\cpsp\\decodeTransaction.cpsp"
} else { responseStream << "\n";
responseStream << "\t\tuser:
\n";
responseStream << "\t\t";
-#line 125 "D:\\code\\gradido\\gradido_login_server_grpc\\src\\cpsp\\decodeTransaction.cpsp"
+#line 124 "D:\\code\\gradido\\gradido_login_server_grpc\\src\\cpsp\\decodeTransaction.cpsp"
responseStream << ( user->getModel()->toHTMLString() );
responseStream << "
\n";
responseStream << "\t\t";
-#line 126 "D:\\code\\gradido\\gradido_login_server_grpc\\src\\cpsp\\decodeTransaction.cpsp"
+#line 125 "D:\\code\\gradido\\gradido_login_server_grpc\\src\\cpsp\\decodeTransaction.cpsp"
} responseStream << "\n";
responseStream << "\t\tamount: ";
-#line 127 "D:\\code\\gradido\\gradido_login_server_grpc\\src\\cpsp\\decodeTransaction.cpsp"
+#line 126 "D:\\code\\gradido\\gradido_login_server_grpc\\src\\cpsp\\decodeTransaction.cpsp"
responseStream << ( TransactionBase::amountToString(receiver.amount()) );
responseStream << " GDD
\n";
responseStream << "\t\ttarget date: ";
-#line 128 "D:\\code\\gradido\\gradido_login_server_grpc\\src\\cpsp\\decodeTransaction.cpsp"
+#line 127 "D:\\code\\gradido\\gradido_login_server_grpc\\src\\cpsp\\decodeTransaction.cpsp"
responseStream << ( creationObject.getTargetDateString() );
responseStream << "
\n";
responseStream << "\t\t";
-#line 129 "D:\\code\\gradido\\gradido_login_server_grpc\\src\\cpsp\\decodeTransaction.cpsp"
+#line 128 "D:\\code\\gradido\\gradido_login_server_grpc\\src\\cpsp\\decodeTransaction.cpsp"
} responseStream << "\n";
responseStream << "\t";
-#line 130 "D:\\code\\gradido\\gradido_login_server_grpc\\src\\cpsp\\decodeTransaction.cpsp"
+#line 129 "D:\\code\\gradido\\gradido_login_server_grpc\\src\\cpsp\\decodeTransaction.cpsp"
} responseStream << "\n";
responseStream << "\n";
// begin include footer.cpsp
diff --git a/src/cpp/HTTPInterface/LoginPage.cpp b/src/cpp/HTTPInterface/LoginPage.cpp
index 7e71c9187..b264eda16 100644
--- a/src/cpp/HTTPInterface/LoginPage.cpp
+++ b/src/cpp/HTTPInterface/LoginPage.cpp
@@ -105,7 +105,7 @@ void LoginPage::handleRequest(Poco::Net::HTTPServerRequest& request, Poco::Net::
} else {
langCatalog = mSession->getLanguageCatalog();
}
- UserStates user_state;
+ UserState user_state;
try {
user_state = mSession->loadUser(email, password);
} catch (Poco::Exception& ex) {
diff --git a/src/cpp/SingletonManager/EmailManager.cpp b/src/cpp/SingletonManager/EmailManager.cpp
index 847887316..5760c8ee2 100644
--- a/src/cpp/SingletonManager/EmailManager.cpp
+++ b/src/cpp/SingletonManager/EmailManager.cpp
@@ -60,7 +60,7 @@ void EmailManager::addEmail(model::Email* email) {
std::string log_message = "Email should be sended to: ";
auto email_user = email->getUser();
if (email_user && email_user->getModel()) {
- log_message += email_user->getModel()->getNameWithEmail();
+ log_message += email_user->getModel()->getNameWithEmailHtml();
}
else {
log_message += "";
@@ -138,7 +138,7 @@ int EmailManager::ThreadFunction()
std::string log_message = "Email sended to: ";
auto email_user = email->getUser();
if (user_model) {
- log_message += email_user->getModel()->getNameWithEmail();
+ log_message += email_user->getModel()->getNameWithEmailHtml();
}
else {
log_message += "";
diff --git a/src/cpp/controller/UserBackup.cpp b/src/cpp/controller/UserBackup.cpp
index 88bc3f682..9899fc58a 100644
--- a/src/cpp/controller/UserBackup.cpp
+++ b/src/cpp/controller/UserBackup.cpp
@@ -54,6 +54,7 @@ namespace controller {
return mKeyPair;
}
mKeyPair = createGradidoKeyPair();
+ return mKeyPair;
}
KeyPairEd25519* UserBackup::createGradidoKeyPair()
diff --git a/src/cpp/model/Session.cpp b/src/cpp/model/Session.cpp
index 217414aec..fdf6afe8c 100644
--- a/src/cpp/model/Session.cpp
+++ b/src/cpp/model/Session.cpp
@@ -685,11 +685,17 @@ bool Session::startProcessingTransaction(const std::string& proto_message_base64
}
}
+ Languages lang = LANG_DE;
+ if (!mNewUser.isNull()) {
+ lang = LanguageManager::languageFromString(mNewUser->getModel()->getLanguageKey());
+ }
+
Poco::AutoPtr processorTask(
new ProcessingTransaction(
proto_message_base64,
- DRMakeStringHash(mSessionUser->getEmail()),
- mSessionUser->getLanguage())
+ DRMakeStringHash(mSessionUser->getEmail().data()),
+ lang
+ )
);
if (autoSign && (ServerConfig::g_AllowUnsecureFlags & ServerConfig::UNSECURE_AUTO_SIGN_TRANSACTIONS) == ServerConfig::UNSECURE_AUTO_SIGN_TRANSACTIONS) {
if (processorTask->run() != 0) {
diff --git a/src/cpp/tasks/ProcessingTransaction.cpp b/src/cpp/tasks/ProcessingTransaction.cpp
index 3cf9905a8..33d259738 100644
--- a/src/cpp/tasks/ProcessingTransaction.cpp
+++ b/src/cpp/tasks/ProcessingTransaction.cpp
@@ -9,9 +9,9 @@
#include "../lib/DataTypeConverter.h"
#include "../lib/JsonRequest.h"
-ProcessingTransaction::ProcessingTransaction(const std::string& proto_message_base64, DHASH userEmailHash, Languages lang)
+ProcessingTransaction::ProcessingTransaction(const std::string& proto_message_base64, DHASH userEmailHash, Languages lang, Poco::DateTime transactionCreated/* = Poco::DateTime()*/)
: mType(TRANSACTION_NONE), mProtoMessageBase64(proto_message_base64), mTransactionSpecific(nullptr), mUserEmailHash(userEmailHash),
- mLang(lang)
+ mLang(lang), mTransactionCreated(transactionCreated)
{
mHashMutex.lock();
mHash = calculateHash(proto_message_base64);
@@ -118,7 +118,7 @@ int ProcessingTransaction::run()
if (mTransactionSpecific->prepare()) {
getErrors(mTransactionSpecific);
addError(new Error("ProcessingTransaction", "error preparing"));
- reportErrorToCommunityServer(catalog->gettext("format error"), catalog->gettext("format of specific transaction not known, wrong proto version?"), std::to_string(mTransactionBody.created().seconds()));
+ reportErrorToCommunityServer(catalog->gettext("format error"), catalog->gettext("format of specific transaction not known, wrong proto version?"), Poco::DateTimeFormatter::format(mTransactionCreated, "%s"));
unlock();
return -3;
}
diff --git a/src/cpp/tasks/ProcessingTransaction.h b/src/cpp/tasks/ProcessingTransaction.h
index 916e54691..ee694857a 100644
--- a/src/cpp/tasks/ProcessingTransaction.h
+++ b/src/cpp/tasks/ProcessingTransaction.h
@@ -33,7 +33,7 @@ class ProcessingTransaction : public UniLib::controller::CPUTask, public Notific
friend SigningTransaction;
public:
//! \param lang for error messages in user language
- ProcessingTransaction(const std::string& proto_message_base64, DHASH userEmailHash, Languages lang);
+ ProcessingTransaction(const std::string& proto_message_base64, DHASH userEmailHash, Languages lang, Poco::DateTime transactionCreated = Poco::DateTime());
virtual ~ProcessingTransaction();
int run();
@@ -70,6 +70,7 @@ protected:
DHASH mUserEmailHash;
Languages mLang;
Poco::Mutex mHashMutex;
+ Poco::DateTime mTransactionCreated;
private:
};
diff --git a/src/cpsp/decodeTransaction.cpsp b/src/cpsp/decodeTransaction.cpsp
index 89369ce8e..1416e8471 100644
--- a/src/cpsp/decodeTransaction.cpsp
+++ b/src/cpsp/decodeTransaction.cpsp
@@ -103,8 +103,7 @@
auto creation = transactionBody.creation();
TransactionCreation creationObject("", creation);
- auto receiver = creation.receiveramount();
-
+ auto receiver = creation.receiver();
char hex[65]; memset(hex, 0, 65);
sodium_bin2hex(hex, 65, (const unsigned char*)receiver.pubkey().data(), receiver.pubkey().size());
diff --git a/src/cpsp/login.cpsp b/src/cpsp/login.cpsp
index 0f2a4d281..b2b091fef 100644
--- a/src/cpsp/login.cpsp
+++ b/src/cpsp/login.cpsp
@@ -81,7 +81,7 @@
} else {
langCatalog = mSession->getLanguageCatalog();
}
- UserStates user_state;
+ UserState user_state;
try {
user_state = mSession->loadUser(email, password);
} catch (Poco::Exception& ex) {
diff --git a/src/proto b/src/proto
index 72e8fe7b7..ff412f735 160000
--- a/src/proto
+++ b/src/proto
@@ -1 +1 @@
-Subproject commit 72e8fe7b73a1aaf2d057d2fef59ade9268830008
+Subproject commit ff412f735667b30233c0ce00d461f209ac7dde7c