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( const [content, setContent, saveState] = useContentState(
initialContent, initialContent,
isInGuestMode ? SaveStates.Guest : SaveStates.Ok, isInGuestMode ? SaveStates.Guest : SaveStates.Ok,
useMemo(() => debounceAsync(onContentChange), useMemo(() => debounceAsync(onContentChange), [onContentChange]),
[onContentChange],
),
) )
const [allies, setAllies] = useState(() => const [allies, setAllies] = useState(() =>

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

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

@ -93,14 +93,15 @@
{% endfor %} {% endfor %}
<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" required value="{{ email }}">
<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 value="{{ password }}">
<a href="{{ path('/register') }}" class="inscr">Vous n'avez pas de compte ?</a> <a href="{{ path('/register') }}" class="inscr">Vous n'avez pas de compte ?</a>
<br><br> <br><br>
<div id = "buttons"> <div id = "buttons">
<input class = "button" type="submit" value="Se connecter"> <input class = "button" type="submit" value="Se connecter">
</div> </div>
</div>
</form> </form>
</div> </div>
</body> </body>

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

Loading…
Cancel
Save