summaryrefslogtreecommitdiff
path: root/templates/login.html.ep
blob: cf4364f63135fe042dde60d451ffb2b61177780b (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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
% 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
						%= form_for 'logout' => begin
							%= csrf_field
							<button class="btn waves-effect waves-light" type="submit" name="action" value="logout">
								Abmelden
							</button>
						%= end
					</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 (oder noch nicht freigeschalteter) Account oder falsches Passwort.</p>
					% }
					% else {
						<span class="card-title">Unbekannter Fehler</span>
						<p>Das sollte nicht passieren™</p>
					% }
				</div>
			</div>
		</div>
	</div>
% }
% if (my $from = stash('from')) {
	<div class="row">
		<div class="col s12">
			% if ($from eq 'register') {
				<div class="card grey darken-4">
					<div class="card-content white-text">
						<span class="card-title">Bitte warten</span>
						<p>Ein Verifizierungslink wurde an die von dir angegebene
						Mail-Adresse geschickt. Sobald du diesen angeklickt hast,
						kannst du dich hier anmelden.</p>
					</div>
				</div>
			% }
			% elsif ($from eq 'verification') {
				<div class="card green darken-4">
					<div class="card-content white-text">
						<span class="card-title">Account freigeschaltet</span>
						<p>Du kannst dich nun anmelden.</p>
					</div>
				</div>
			% }
		</div>
	</div>
% }
<div class="row">
	%= form_for '/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', required => undef, maxlength => 60, autocomplete => 'username'
				<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', required => undef, autocomplete => 'current-password'
				<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>