diff --git a/index.pl b/index.pl index dfc3358b0729dd2ba01180052c4f5954580a4f3a..d0e29c6243a31d68838df6f14360acdb153b0a16 100755 --- a/index.pl +++ b/index.pl @@ -923,7 +923,13 @@ post '/login' => sub { $self->redirect_to('/'); } else { - $self->render( 'login', invalid => 'credentials' ); + my $data = $self->get_user_password($user); + if ( $data and $data->{status} == 0 ) { + $self->render( 'login', invalid => 'confirmation' ); + } + else { + $self->render( 'login', invalid => 'credentials' ); + } } } }; diff --git a/templates/login.html.ep b/templates/login.html.ep index cf4364f63135fe042dde60d451ffb2b61177780b..fc8bbb80653df5bd11fdc1d811f2303245679e9e 100644 --- a/templates/login.html.ep +++ b/templates/login.html.ep @@ -34,11 +34,15 @@ % } % elsif ($invalid eq 'credentials') { <span class="card-title">Ungültige Logindaten</span> - <p>Falscher (oder noch nicht freigeschalteter) Account oder falsches Passwort.</p> + <p>Falscher Account oder falsches Passwort.</p> + % } + % elsif ($invalid eq 'confirmation') { + <span class="card-title">Account nicht freigeschaltet</span> + <p>Bitte besuche zuerst den per Mail verschickten Bestätigungslink.</p> % } % else { <span class="card-title">Unbekannter Fehler</span> - <p>Das sollte nicht passieren™</p> + <p>„<%= $invalid %>“</p> % } </div> </div>