gradido/src/cpsp/updateUserPassword.cpsp

108 lines
3.1 KiB
Plaintext

<%@ page class="UpdateUserPasswordPage" %>
<%@ page baseClass="SessionHTTPRequestHandler" %>
<%@ page ctorArg="Session*" %>
<%@ header include="SessionHTTPRequestHandler.h" %>
<%@ page compressed="true" %>
<%!
#include "../SingletonManager/SessionManager.h"
#include "Poco/Net/HTTPCookie.h"
#include "../ServerConfig.h"
%>
<%%
auto user = mSession->getUser();
auto sm = SessionManager::getInstance();
auto uri_start = ServerConfig::g_serverPath;
// remove old cookies if exist
sm->deleteLoginCookies(request, response, mSession);
// save login cookie, because maybe we've get an new session
response.addCookie(mSession->getLoginCookie());
if(!form.empty()) {
auto pwd = form.get("register-password", "");
if(pwd != "") {
if(pwd != form.get("register-password2", "")) {
mSession->addError(new Error("Passwort", "Passw&ouml;rter sind nicht identisch."));
} else if(SessionManager::getInstance()->checkPwdValidation(pwd, mSession)) {
if(user->setNewPassword(form.get("register-password"))) {
//std::string referUri = request.get("Referer", uri_start + "/");
//printf("[updateUserPasswordPage] redirect to referUri: %s\n", referUri.data());
mSession->updateEmailVerification(mSession->getEmailVerificationCode());
mSession->getErrors(user);
response.redirect(uri_start + "/passphrase");
return;
}
}
}
}
getErrors(mSession);
getErrors(user);
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Gradido Login Server: Passwort bestimmen</title>
<!--<link rel="stylesheet" type="text/css" href="css/styles.min.css">-->
<link rel="stylesheet" type="text/css" href="https://gradido2.dario-rekowski.de/css/styles.css">
<style type="text/css" >
.grd_container
{
max-width:820px;
margin-left:auto;
margin-right:auto;
}
input:not([type='radio']) {
width:200px;
}
label:not(.grd_radio_label) {
width:80px;
display:inline-block;
}
.grd_container_small
{
max-width:500px;
}
.grd_text {
max-width:550px;
margin-bottom: 5px;
}
.grd-time-used {
position: fixed;
bottom:0;
left:0;
color:grey;
font-size: smaller;
}
</style>
</head>
<body>
<div class="grd_container">
<h1>Passwort bestimmen</h1>
<%= getErrorsHtml() %>
<form method="POST">
<fieldset class="grd_container_small">
<div class="grd_text">
Bitte denke dir ein sicheres Passwort aus, das mindestens 8 Zeichen lang ist, ein Klein- und einen Gro&szlig;buchstaben enth&auml;lt,
eine Zahl und eines der folgenden Sonderzeichen: @$!%*?&+-
</div>
<p class="grd_small">
<label for="register-password">Passwort</label>
<input id="register-password" type="password" name="register-password"/>
</p>
<p class="grd_small">
<label for="register-password2">Passwort Best&auml;tigung</label>
<input id="register-password2" type="password" name="register-password2"/>
</p>
</fieldset>
<input class="grd_bn_succeed" type="submit" name="submit" value="&Auml;nderung(en) speichern">
</form>
</div>
<div class="grd-time-used">
<%= mTimeProfiler.string() %>
</div>
</body>
</html>