email and username persisted and RGPD checkbox
continuous-integration/drone/push Build is passing Details

pull/92/head
samuel 1 year ago
parent 0640b9e46e
commit 9f8a5f5fc4

@ -31,20 +31,24 @@ class AuthController {
*/ */
public function register(array $request, MutableSessionHandle $session): HttpResponse { public function register(array $request, MutableSessionHandle $session): HttpResponse {
$fails = []; $fails = [];
$request = HttpRequest::from($request, $fails, [ $goodfield = [];
HttpRequest::from($request, $fails, [
"username" => [Validators::name(), Validators::lenBetween(2, 32)], "username" => [Validators::name(), Validators::lenBetween(2, 32)],
"password" => [Validators::lenBetween(6, 256)], "password" => [Validators::lenBetween(6, 256)],
"confirmpassword" => [Validators::lenBetween(6, 256)], "confirmpassword" => [Validators::lenBetween(6, 256)],
"email" => [Validators::email(), Validators::lenBetween(5, 256)], "email" => [Validators::email(), Validators::lenBetween(5, 256)],
]); ]);
if (!empty($fails)) { if (!empty($fails)) {
return ViewHttpResponse::twig("display_register.html.twig", ['fails' => $fails]); if (!(in_array($request['username'], $fails)) or !(in_array($request['email'], $fails))) {
return ViewHttpResponse::twig("display_register.html.twig", ['fails' => $fails,'username' => $request['username'],'email' => $request['email']]);
}
} }
$account = $this->model->register($request['username'], $request["password"], $request['confirmpassword'], $request['email'], $fails); $account = $this->model->register($request['username'], $request["password"], $request['confirmpassword'], $request['email'], $fails);
if (!empty($fails)) { if (!empty($fails)) {
return ViewHttpResponse::twig("display_register.html.twig", ['fails' => $fails]); return ViewHttpResponse::twig("display_register.html.twig", ['fails' => $fails]);
} }
$session->setAccount($account); $session->setAccount($account);
$target_url = $session->getInitialTarget(); $target_url = $session->getInitialTarget();

@ -62,6 +62,10 @@
text-align: right; text-align: right;
} }
.consentement{
font-size: small;
}
#buttons{ #buttons{
display: flex; display: flex;
justify-content: center; justify-content: center;
@ -95,15 +99,18 @@
{% endfor %} {% endfor %}
<label for="username">Nom d'utilisateur :</label> <label for="username">Nom d'utilisateur :</label>
<input type="text" id="username" name="username" required> <input type="text" id="username" name="username" value="{{ username }}"required>
<label for="password">Mot de passe :</label> <label for="password">Mot de passe :</label>
<input type="password" id="password" name="password" required> <input type="password" id="password" name="password" required>
<label for="confirmpassword">Confirmer le mot de passe :</label> <label for="confirmpassword">Confirmer le mot de passe :</label>
<input type="password" id="confirmpassword" name="confirmpassword" required> <input type="password" id="confirmpassword" name="confirmpassword" required>
<label for="email">Email :</label> <label for="email">Email :</label>
<input type="text" id="email" name="email" required> <input type="text" id="email" name="email" value="{{ email }}"required><br><br>
<label class="consentement">
<input type="checkbox" name="consentement" required>
En cochant cette case, j'accepte que mes données personnelles, tel que mon adresse e-mail, soient collectées et traitées conformément à la politique de confidentialité de Sportify.
</label><br>
<a href="{{ path('/login') }}" class="inscr">Vous avez déjà un compte ?</a> <a href="{{ path('/login') }}" class="inscr">Vous avez déjà un compte ?</a>
</div> </div>
<div id = "buttons"> <div id = "buttons">
<input class = "button" type="submit" value="Créer votre compte"> <input class = "button" type="submit" value="Créer votre compte">

Loading…
Cancel
Save