Edit views for auth

This commit is contained in:
James Cole 2021-08-02 20:31:00 +02:00
parent e04a71738d
commit a7eb92b9bb
No known key found for this signature in database
GPG Key ID: B5669F9493CDE38D
6 changed files with 164 additions and 28 deletions

View File

@ -1,17 +1,29 @@
{% extends './v2/layout/auth' %}
{% block content %}
{# error when logging in #}
{% if errors.has('email') %}
{# error when logging in? #}
{% if errors.count > 0 %}
<div class="row">
<div class="alert alert-danger alert-dismissible">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<h5><span class="icon fas fa-ban"></span> {{ 'flash_error'|_ }}</h5>
{{ errors.get('email')[0] }}
{{ errors.first }}
</div>
</div>
{% endif %}
{# error when logout force #}
{# Success message (used for undo email change etc. #}
{% if Session.has('success') %}
<div class="row">
<div class="alert alert-info alert-dismissible">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<h5><span class="icon fas fa-info"></span>
{{ session('success') }}
</div>
</div>
{% endif %}
{# error when forced to logout #}
{% if session('logoutMessage') %}
<div class="row">
<div class="alert alert-info alert-dismissible">
@ -22,6 +34,15 @@
</div>
{% endif %}
{# LDAP warning (untranslatable, i dont care) #}
{% if ldapWarning %}
<div class="row">
<div class="alert alert-info alert-dismissible">
<a target="_blank" href="https://docs.firefly-iii.org/firefly-iii/advanced-installation/authentication/#ldap">Please upgrade LDAP configuration</a>
</div>
</div>
{% endif %}
{# default header #}
<div class="login-box ">
<div class="login-logo">
@ -44,13 +65,21 @@
<form action="{{ route('login') }}" method="post">
<input type="hidden" name="_token" value="{{ csrf_token() }}"/>
<div class="input-group mb-3">
{# switch between alernative and Firefly III auth. #}
{% if config('firefly.authentication_guard') == 'web' %}
<input type="email" required autocomplete="email" name="email" value="{{ email }}" class="form-control"
id="emailInput" placeholder="{{ trans('form.email') }}"/>
<input type="email" required autocomplete="email" name="email" class="form-control"
id="emailInput" placeholder="{{ trans('form.email') }}"
value="{% if not IS_DEMO_SITE %}{{ email }}{% else %}{{ DEMO_USERNAME }}{% endif %}"
/>
{% else %}
<input type="text" required autocomplete="username" name="{{ usernameField }}" value="{{ email }}" class="form-control"
placeholder="{{ trans('form.login_name') }}"/>
placeholder="{{ trans('form.login_name') }}"
/>
{% endif %}
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-envelope"></span>
@ -59,7 +88,9 @@
</div>
<div class="input-group mb-3">
<input type="password" name="password" required autocomplete="current-password" class="form-control"
placeholder="{{ trans('form.password') }}"/>
placeholder="{{ trans('form.password') }}"
{% if IS_DEMO_SITE %}value="{{ DEMO_PASSWORD }}"{% endif%}
/>
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-lock"></span>

View File

@ -22,8 +22,7 @@
{# default header #}
<div class="login-box">
<div class="login-logo">
<img src="v2/images/firefly-iii-logo.png" alt="Firefly III" width="40"/>
<a href="{{ route('index') }}"><b>Firefly</b>III</a>
<img src="v2/images/firefly-iii-logo-new.png" alt="Firefly III" width="90"/><br />
</div>
@ -44,7 +43,7 @@
<form action="{{ route('password.email') }}" method="post">
<input type="hidden" name="_token" value="{{ csrf_token() }}"/>
<div class="input-group mb-3">
<input type="email" required autocomplete="email" class="form-control" name="email" placeholder="{{ trans('form.email') }}"/>
<input type="email" id="emailInput" required autocomplete="email" class="form-control" name="email" placeholder="{{ trans('form.email') }}"/>
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-envelope"></span>
@ -79,3 +78,8 @@
</div>
<!-- /.login-box -->
{% endblock %}
{% block scripts %}
<script type="text/javascript" nonce="{{ JS_NONCE }}">
document.getElementById("emailInput").focus();
</script>
{% endblock %}

View File

@ -23,8 +23,7 @@
{# default header #}
<div class="login-box">
<div class="login-logo">
<img src="v2/images/firefly-iii-logo.png" alt="Firefly III" width="40"/>
<a href="{{ route('index') }}"><b>Firefly</b>III</a>
<img src="v2/images/firefly-iii-logo-new.png" alt="Firefly III" width="90"/><br />
</div>
<!-- /.login-logo -->
<div class="card">
@ -35,7 +34,7 @@
<input type="hidden" name="_token" value="{{ csrf_token() }}"/>
<input type="hidden" name="token" value="{{ token }}">
<div class="input-group mb-3">
<input type="email" required autocomplete="email" name="email" class="form-control" value="{{ old('email') }}" placeholder="{{ trans('form.email') }}"/>
<input type="email" required autocomplete="email" id="emailInput" name="email" class="form-control" value="{{ old('email') }}" placeholder="{{ trans('form.email') }}"/>
<div class="input-group-append">
<div class="input-group-text">
<span class="fas fa-envelope"></span>
@ -62,6 +61,18 @@
</div>
</div>
</div>
<div class="row">
<div class="col-12">
<div class="icheck-primary">
<input id="verify_password" checked type="checkbox" name="verify_password" value="1">
<label for="verify_password">
{{ trans('form.verify_password') }}
</label>
</div>
</div>
</div>
<div class="row">
<div class="col-12">
<button type="submit" class="btn btn-primary btn-block">{{ 'button_reset_password'|_ }}</button>
@ -72,7 +83,11 @@
<div class="row">
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
<ul class="list-unstyled small">
<li>
<a data-toggle="modal" data-target="#passwordModal" href="#passwordModal">
{{ 'what_is_pw_security'|_ }}
</a>
</li>
<li>
<a href="{{ route('login') }}">{{ 'want_to_login'|_ }}</a>
</li>
@ -89,4 +104,13 @@
</div>
</div>
<!-- /.login-box -->
{% include 'v2.partials.auth.password-modal' %}
{% endblock %}
{% block scripts %}
<script type="text/javascript" nonce="{{ JS_NONCE }}">
document.getElementById("emailInput").focus();
</script>
<script src="v2/js/manifest.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
<script src="v2/js/vendor.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
<script src="v2/js/register.js?v={{ FF_VERSION }}" nonce="{{ JS_NONCE }}"></script>
{% endblock %}

View File

@ -1,10 +1,8 @@
{% extends './v2/layout/auth' %}
{% block content %}
{# alerts here #}
{# errors during registration: #}
{% if errors|length > 0 %}
<div class="row">
<div class="alert alert-info alert-dismissible">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
@ -64,14 +62,14 @@
<div class="row">
<div class="col-12">
<div class="icheck-primary">
<input id="remember" checked type="checkbox" name="remember" {% if remember %}checked="checked"{% endif %} value="1">
<label for="remember">
<input id="verify_password" checked type="checkbox" name="verify_password" value="1">
<label for="verify_password">
{{ trans('form.verify_password') }}
</label>
</div>
</div>
</div>
<div class="row">
<!-- /.col -->
<div class="col-12">
@ -84,7 +82,7 @@
<ul class="list-unstyled small">
<li>
<a data-toggle="modal" data-target="#passwordModal" href="#passwordModal">
What is "verify password security"?
{{ 'what_is_pw_security'|_ }}
</a>
</li>
<li>
@ -93,6 +91,7 @@
<li>
<a href="{{ route('password.reset.request') }}">{{ 'forgot_my_password'|_ }}</a>
</li>
</ul>
</div>
</div>
</form>

View File

@ -0,0 +1,79 @@
<!DOCTYPE html>
<html>
<head>
<base href="{{ route('index') }}/">
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Firefly III | :-(</title>
<!-- Tell the browser to be responsive to screen width -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="v2/plugins/local-fonts/gf-source.css" nonce="{{ JS_NONCE }}">
<link rel="stylesheet" href="v2/css/app.css" nonce="{{ JS_NONCE }}">
</head>
<body>
<div class="container-fluid">
<div class="row">
<div class="col-12">
<div class="error-page">
<h2 class="headline text-warning">:-(</h2>
<div class="error-content">
<h3><span class="fas fa-exclamation-triangle text-warning"></span> {{ trans('errors.error_occurred') }}</h3>
<p>
{{ trans('errors.error_not_recoverable') }}
</p>
<p class="text-danger">
{{ message }}
</p>
{% if not debug %}
<h4>
{{ trans('errors.more_info') }}
</h4>
<p>
{{ trans('errors.collect_info')|raw }}
{{ trans('errors.collect_info_more')|raw }}
</p>
<h4>
{{ trans('errors.github_help') }}
</h4>
<p>
{{ trans('errors.github_instructions')|raw }}
</p>
<ol>
<li>{{ trans('errors.use_search') }}</li>
<li>{{ trans('errors.include_info', { link: route('debug') })|raw }}</li>
<li>{{ trans('errors.tell_more') }}</li>
<li>{{ trans('errors.what_did_you_do') }}</li>
</ol>
{% endif %}
</div>
</div>
</div>
</div>
{% if debug %}
<div class="row">
<div class="col-lg-8 offset-lg-2">
<h4>{{ trans('errors.error') }}</h4>
<p>
{{ trans('errors.error_location', {file: exception.getFile, line: exception.getLine, code: exception.getCode })|raw }}
</p>
<h4>
{{ trans('errors.stacktrace') }}
</h4>
<div style="font-family: monospace;font-size:11px;">
{{ exception.getTraceAsString|nl2br }}
</div>
</div>
</div>
{% endif %}
</div>
</body>
</html>

View File

@ -73,7 +73,7 @@ Route::group(
Route::get('error', ['uses' => 'DebugController@displayError', 'as' => 'error']);
Route::any('logout', ['uses' => 'Auth\LoginController@logout', 'as' => 'logout']);
Route::get('flush', ['uses' => 'DebugController@flush', 'as' => 'flush']);
Route::get('routes', ['uses' => 'DebugController@routes', 'as' => 'routes']);
//Route::get('routes', ['uses' => 'DebugController@routes', 'as' => 'routes']);
Route::get('debug', 'DebugController@index')->name('debug');
}
);
@ -86,7 +86,7 @@ Route::group(
['middleware' => 'user-logged-in-no-2fa', 'prefix' => 'two-factor', 'as' => 'two-factor.', 'namespace' => 'FireflyIII\Http\Controllers\Auth'],
static function () {
Route::post('submit', ['uses' => 'TwoFactorController@submitMFA', 'as' => 'submit']);
Route::get('lost', ['uses' => 'TwoFactorController@lostTwoFactor', 'as' => 'lost']);
Route::get('lost', ['uses' => 'TwoFactorController@lostTwoFactor', 'as' => 'lost']); // can be removed when v2 is live.
}
);
@ -107,11 +107,11 @@ Route::group(
}
);
//// show inactive
//
// show inactive
/**
* Account Controller.
* DROP ME WHEN v2 hits
*/
Route::group(
['middleware' => 'user-full-auth', 'namespace' => 'FireflyIII\Http\Controllers', 'prefix' => 'inactive-accounts', 'as' => 'accounts.'],
@ -126,8 +126,7 @@ Route::group(
['middleware' => 'user-full-auth', 'namespace' => 'FireflyIII\Http\Controllers', 'prefix' => 'accounts', 'as' => 'accounts.'],
static function () {
// show:
//Route::get('', ['uses' => 'Account\IndexController@emptyIndex', 'as' => 'empty-index']);
// show:
Route::get('{objectType}', ['uses' => 'Account\IndexController@index', 'as' => 'index'])->where('objectType', 'revenue|asset|expense|liabilities');
// create