keep fields values on login/register fail
continuous-integration/drone/push Build is passing Details

pull/107/head
maxime 1 year ago
parent 4f293ae5dd
commit 21b8cad60f

@ -146,9 +146,7 @@ function EditorView({
const [content, setContent, saveState] = useContentState(
initialContent,
isInGuestMode ? SaveStates.Guest : SaveStates.Ok,
useMemo(() => debounceAsync(onContentChange),
[onContentChange],
),
useMemo(() => debounceAsync(onContentChange), [onContentChange]),
)
const [allies, setAllies] = useState(() =>

@ -24,7 +24,6 @@ use IQBall\Core\Model\TeamModel;
use IQBall\Core\Http\HttpResponse;
use IQBall\Core\Http\HttpCodes;
$basePath = get_base_path() . "/api";
function getTacticController(): APITacticController {
@ -74,8 +73,6 @@ function getRoutes(): AltoRouter {
$router->map("POST", "/admin/delete-teams", Action::noAuth(fn() => getAPITeamController()->deleteTeamSelected()));
$router->map("POST", "/admin/team/[i:id]/update", Action::noAuth(fn(int $id) => getAPITeamController()->updateTeam($id)));
return $router;
}

@ -27,13 +27,13 @@ class AuthController {
/**
* registers given account
* @param mixed[] $request
* @param mixed[] $requestData
* @param MutableSessionHandle $session
* @return HttpResponse
*/
public function register(array $request, MutableSessionHandle $session): HttpResponse {
public function register(array $requestData, MutableSessionHandle $session): HttpResponse {
$fails = [];
$request = HttpRequest::from($request, $fails, [
$request = HttpRequest::from($requestData, $fails, [
"username" => [DefaultValidators::name(), DefaultValidators::lenBetween(2, 32)],
"password" => [DefaultValidators::password()],
"confirmpassword" => [DefaultValidators::password()],
@ -41,9 +41,7 @@ class AuthController {
]);
if (!empty($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']]);
}
return ViewHttpResponse::twig("display_register.html.twig", ['fails' => $fails, 'username' => $requestData['username'], 'email' => $requestData['email'], 'password' => $requestData['password'], 'confirmpassword' => $requestData['confirmpassword'], 'accept' => true]);
}
if ($request["password"] != $request['confirmpassword']) {
@ -57,7 +55,7 @@ class AuthController {
}
if (!empty($fails)) {
return ViewHttpResponse::twig("display_register.html.twig", ['fails' => $fails]);
return ViewHttpResponse::twig("display_register.html.twig", ['fails' => $fails, 'password' => $requestData['password'], 'confirmpassword' => $requestData['confirmpassword'], 'accept' => true]);
}
$session->setAccount($account);
@ -84,7 +82,7 @@ class AuthController {
$fails = [];
$account = $this->model->login($request['email'], $request['password'], $fails);
if (!empty($fails)) {
return ViewHttpResponse::twig("display_login.html.twig", ['fails' => $fails]);
return ViewHttpResponse::twig("display_login.html.twig", ['fails' => $fails, 'password' => $request['password'], 'email' => $request['email']]);
}
$session->setAccount($account);

@ -93,14 +93,15 @@
{% endfor %}
<label for="email">Email :</label>
<input type="text" id="email" name="email" required>
<input type="text" id="email" name="email" required value="{{ email }}">
<label for="password">Mot de passe :</label>
<input type="password" id="password" name="password" required>
<input type="password" id="password" name="password" required value="{{ password }}">
<a href="{{ path('/register') }}" class="inscr">Vous n'avez pas de compte ?</a>
<br><br>
<div id = "buttons">
<input class = "button" type="submit" value="Se connecter">
</div>
</div>
</form>
</div>
</body>

@ -101,13 +101,13 @@
<label for="username">Nom d'utilisateur :</label>
<input type="text" id="username" name="username" value="{{ username }}"required>
<label for="password">Mot de passe :</label>
<input type="password" id="password" name="password" required>
<input type="password" id="password" name="password" required value="{{ password }}">
<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 value="{{ confirmpassword }}">
<label for="email">Email :</label>
<input type="text" id="email" name="email" value="{{ email }}"required><br><br>
<label class="consentement">
<input type="checkbox" name="consentement" required>
<input type="checkbox" name="consentement" required checked="{{ accepted }}">
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>

Loading…
Cancel
Save