<%@ page class="AdminUserPasswordResetPage" %> <%@ page form="true" %> <%@ page baseClass="SessionHTTPRequestHandler" %> <%@ page ctorArg="Session*" %> <%@ header include="HTTPInterface/SessionHTTPRequestHandler.h" %> <%! // includes #include "controller/User.h" #include "controller/EmailVerificationCode.h" #include "controller/UserBackup.h" enum PageState { PAGE_ASK_EMAIL, PAGE_SHOW_EMAIL }; %><%% // code PageState state = PAGE_ASK_EMAIL; Poco::AutoPtr user = controller::User::create(); Poco::AutoPtr code; Poco::AutoPtr userBackup; bool validUser = false; std::string pageName = "Admin User Passwort Reset"; if(!form.empty()) { auto email = form.get("user-email", ""); if("" != email) { if(1 != user->load(email)) { addError(new Error("Benutzer Email", "Konnte keinen passenden Benutzer finden!")); } else { validUser = true; } } } if(validUser) { auto userId = user->getModel()->getID(); code = controller::EmailVerificationCode::load(userId, model::table::EMAIL_OPT_IN_RESET_PASSWORD); if(code.isNull()) { code = controller::EmailVerificationCode::create(userId, model::table::EMAIL_OPT_IN_RESET_PASSWORD); if(!code->getModel()->insertIntoDB(false)) { addError(new Error("E-Mail Verification Code", "Fehler beim speichern!")); getErrors(code->getModel()); } } auto backups = controller::UserBackup::load(userId); auto userPubkey = user->getModel()->getPublicKey(); for(auto it = backups.begin(); it != backups.end(); it++) { auto keys = (*it)->getKeyPair(); if(keys->isTheSame(userPubkey)) { userBackup = *it; break; } } if(userBackup.isNull()) { addError(new Error("User Backup", "Kein passendes User Backup gefunden!")); } if(!userBackup.isNull() && !code.isNull()) { state = PAGE_SHOW_EMAIL; } } %><%@ include file="include/header_old.cpsp" %>
<%= getErrorsHtml() %>

Admin User Passwort Reset

Ein Benutzer hat ein Passwort Reset angefordert, hat aber seine Passphrase nicht.

<% if(PAGE_ASK_EMAIL == state) { %>

"/>

<% } %> <% if(validUser) { auto userModel = user->getModel(); %>

Benutzer gefunden

  • <%= userModel->getFirstName() %> <%= userModel->getLastName() %>
  • <%= userModel->getEmail() %>
  • Public Key: <%= userModel->getPublicKeyHex() %>
  • E-Mail überprüft: <%= std::to_string(userModel->isEmailChecked()) %>
  • Private Key verschlüsselt: <%= std::to_string(userModel->hasPrivateKeyEncrypted()) %>
  • Passwort gesetzt: <%= std::to_string(userModel->getPasswordHashed() != 0) %>
<% } %> <% if(PAGE_SHOW_EMAIL == state) { %>
E-Mail

An: <%= user->getEmailWithNames() %>

Liebe(r) <%= user->getModel()->getFirstName() %>,

hier findest du deine Passphrase mit dessen Hilfe du dir ein neues Passwort einstellen kannst.
Bitte schreibe sie dir auf und packe sie gut weg.

<%= controller::UserBackup::formatPassphrase(userBackup->getPassphrase(ServerConfig::Mnemonic_Types::MNEMONIC_GRADIDO_BOOK_GERMAN_RANDOM_ORDER)) %>
 


Unter diesem Link kannst du dir mit Hilfe der Passphrase ein neues Passwort setzen:
<%= code->getLink() %>
 

Liebe Grüße
Dario, Softwareentwickler bei Gradido
<% } %>
<%@ include file="include/footer.cpsp" %>