diff options
author | Daniel Friesel <derf@finalrewind.org> | 2019-04-06 11:20:10 +0200 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2019-04-06 11:20:10 +0200 |
commit | 1405eb6ea3fe95fcb9c205c6c4c250433d48819c (patch) | |
tree | 4845cce466ea882369242290855fc5de0c0ebb3d /templates/change_password.html.ep | |
parent | 6630cdcd9e943a9a8c2cce49b6b5e59bd6ef6710 (diff) |
Add password change form
Diffstat (limited to 'templates/change_password.html.ep')
-rw-r--r-- | templates/change_password.html.ep | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/templates/change_password.html.ep b/templates/change_password.html.ep new file mode 100644 index 0000000..bae28d9 --- /dev/null +++ b/templates/change_password.html.ep @@ -0,0 +1,69 @@ +% if (my $invalid = stash('invalid')) { + <div class="row"> + <div class="col s12"> + <div class="card red darken-4"> + <div class="card-content white-text"> + % if ($invalid eq 'csrf') { + <span class="card-title">Ungültiger CSRF-Token</span> + <p>Sind Cookies aktiviert? Ansonsten könnte es sich um einen + Fall von <a + href="https://de.wikipedia.org/wiki/Cross-Site-Request-Forgery">CSRF</a> + handeln.</p> + % } + % elsif ($invalid eq 'password_notequal') { + <span class="card-title">Passwort ungültig</span> + <p>Die angegebenen neuen Passwörter sind nicht identisch.</p> + % } + % elsif ($invalid eq 'password_short') { + <span class="card-title">Passwort zu kurz</span> + <p>Das neue Passwort muss mindestens acht Zeichen lang sein.</p> + % } + % elsif ($invalid eq 'password') { + <span class="card-title">Ungültiges Passwort</span> + <p>Das aktuelle Passwort wurde nicht korrekt eingegeben.</p> + % } + % else { + <span class="card-title">Unbekannter Fehler</span> + <p>„<%= $invalid %>“</p> + % } + </div> + </div> + </div> + </div> +% } + +<h1>Passwort ändern</h1> +%= form_for '/change_password' => (method => 'POST') => begin + %= csrf_field + <div class="row"> + <div class="input-field col s12"> + <i class="material-icons prefix">lock</i> + %= password_field 'oldpw', id => 'oldpassword', class => 'validate', required => undef, autocomplete => 'current-password' + <label for="oldpassword">Aktuelles Passwort</label> + </div> + </div> + <div class="row"> + <div class="input-field col l6 m12 s12"> + <i class="material-icons prefix">lock</i> + %= password_field 'newpw', id => 'password', class => 'validate', required => undef, minlength => 8, autocomplete => 'new-password' + <label for="password">Neues Passwort</label> + </div> + <div class="input-field col l6 m12 s12"> + <i class="material-icons prefix">lock</i> + %= password_field 'newpw2', id => 'password2', class => 'validate', required => undef, minlength => 8, autocomplete => 'new-password' + <label for="password2">Passwort wiederholen</label> + </div> + </div> + <div class="row"> + <div class="col s3 m3 l3"> + </div> + <div class="col s6 m6 l6 center-align"> + <button class="btn waves-effect waves-light" type="submit" name="action" value="login"> + Ändern + <i class="material-icons right">send</i> + </button> + </div> + <div class="col s3 m3 l3"> + </div> + </div> +%= end |