blob: 1acff0006dcfbcc2a2de59b24acee4edc4e5263c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
% if (my $user = current_user()) {
<div class="row">
<div class="col s12">
<div class="card grey darken-4">
<div class="card-content white-text">
<span class="card-title">Hallo, <%= $user->{name} %>!</span>
<p>
Du bist bereits angemeldet. Falls du mehrere Accounts hast
und auf einen anderen wechseln möchtest, musst du dich
vorher <a href="/x/logout">abmelden</a>.
</p>
</div>
</div>
</div>
</div>
% }
% 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 'credentials') {
<span class="card-title">Ungültige Logindaten</span>
<p>Falscher Account oder falsches Passwort.</p>
% }
% else {
<span class="card-title">Unbekannter Fehler</span>
<p>Das sollte nicht passieren™</p>
% }
</div>
</div>
</div>
</div>
% }
<div class="row">
%= form_for '/x/login' => (class => 'col s12', method => 'POST') => begin
%= csrf_field
<div class="row">
<div class="input-field col s12">
<i class="material-icons prefix">account_circle</i>
%= text_field 'user', id => 'user', class => 'validate'
<label for="user">Account</label>
</div>
<div class="input-field col s12">
<i class="material-icons prefix">lock</i>
%= password_field 'password', id => 'password', class => 'validate'
<label for="password">Passwort</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">
Anmelden
<i class="material-icons right">send</i>
</button>
</div>
<div class="col s3 m3 l3">
</div>
</div>
%= end
</div>
|