extends ../layout block content .content.content-alt .container .row .col-md-6.col-md-offset-3.col-lg-4.col-lg-offset-4 .card .page-header h1 Login form(async-form="login", name="loginForm", action='/login', ng-cloak) input(name='_csrf', type='hidden', value=csrfToken) input(name='redir', type='hidden', value=redir) form-messages .form-group input.form-control( type='email', name='email', required, placeholder='email@example.com', ng-model="email" ) span.small.text-primary(ng-show="loginForm.email.$invalid && loginForm.email.$dirty") | Must be an email address .form-group input.form-control( type='password', name='password', required, placeholder='********', ng-model="password" ) span.small.text-primary(ng-show="loginForm.password.$invalid && loginForm.password.$dirty") | Required .actions button.btn-primary.btn( type='submit' ng-disabled="loginForm.$invalid" ) Login a.pull-right(href='/user/password/reset') Forgot your password?