Clean up profile

This commit is contained in:
James Cole
2020-08-07 12:05:58 +02:00
parent 7a7f1e7d97
commit 73c1452aa9
4 changed files with 271 additions and 207 deletions

File diff suppressed because one or more lines are too long

View File

@@ -21,17 +21,17 @@
<template> <template>
<div> <div>
<div class="row"> <div class="row">
<div class="col-lg-8 col-lg-offset-2 col-md-12 col-sm-12"> <div class="col-lg-12">
<passport-clients></passport-clients> <passport-clients></passport-clients>
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-lg-8 col-lg-offset-2 col-md-12 col-sm-12"> <div class="col-lg-12">
<passport-authorized-clients></passport-authorized-clients> <passport-authorized-clients></passport-authorized-clients>
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-lg-8 col-lg-offset-2 col-md-12 col-sm-12"> <div class="col-lg-12">
<passport-personal-access-tokens></passport-personal-access-tokens> <passport-personal-access-tokens></passport-personal-access-tokens>
</div> </div>
</div> </div>

View File

@@ -702,6 +702,7 @@ return [
'login_provider_local_only' => 'This action is not available when authenticating through ":login_provider".', 'login_provider_local_only' => 'This action is not available when authenticating through ":login_provider".',
'external_user_mgt_disabled' => 'This action is not available when Firefly III isn\'t responsible for user management or authentication handling.', 'external_user_mgt_disabled' => 'This action is not available when Firefly III isn\'t responsible for user management or authentication handling.',
'delete_local_info_only' => "Because Firefly III isn't responsible for user management or authentication handling, this function will only delete local Firefly III information.", 'delete_local_info_only' => "Because Firefly III isn't responsible for user management or authentication handling, this function will only delete local Firefly III information.",
'oauth' => 'OAuth',
'profile_oauth_clients' => 'OAuth Clients', 'profile_oauth_clients' => 'OAuth Clients',
'profile_oauth_no_clients' => 'You have not created any OAuth clients.', 'profile_oauth_no_clients' => 'You have not created any OAuth clients.',
'profile_oauth_clients_header' => 'Clients', 'profile_oauth_clients_header' => 'Clients',

View File

@@ -9,10 +9,30 @@
<div class="row"> <div class="row">
<div class="col-lg-8 col-lg-offset-2 col-md-12 col-sm-12"> <div class="col-lg-8 col-lg-offset-2 col-md-12 col-sm-12">
<div class="box box-primary">
<div class="box-header with-border"> <!-- Nav tabs -->
<h3 class="box-title">{{ 'options'|_ }}</h3> <ul class="nav nav-tabs" role="tablist">
</div> <li role="presentation" class="active">
<a href="{{ route('profile.index') }}#options" aria-controls="home" role="tab" data-toggle="tab">{{ 'options'|_ }}</a>
</li>
<li role="presentation">
<a href="#cmd" aria-controls="profile" role="tab" data-toggle="tab">{{ 'command_line_token'|_ }}</a>
</li>
<li role="presentation">
<a href="#oauth" aria-controls="messages" role="tab" data-toggle="tab">{{ 'oauth'|_ }}</a>
</li>
<li role="presentation">
<a href="#mfa" aria-controls="settings" role="tab" data-toggle="tab">{{ 'pref_two_factor_auth'|_ }}</a>
</li>
<li role="presentation">
<a href="#delete" aria-controls="settings" role="tab" data-toggle="tab">{{ 'delete_stuff_header'|_ }}</a>
</li>
</ul>
<div class="tab-content">
<!-- main options -->
<div role="tabpanel" class="tab-pane active" id="options">
<div class="box box-default">
<div class="box-body"> <div class="box-body">
<p> <p>
{{ trans('firefly.user_id_is',{user: userId})|raw }} {{ trans('firefly.user_id_is',{user: userId})|raw }}
@@ -20,49 +40,60 @@
<div class="row"> <div class="row">
<div class="col-lg-6"> <div class="col-lg-6">
<ul> <ul>
<li><a href="{{ route('profile.change-email') }}">{{ 'change_your_email'|_ }}</a></li> <li>
<li><a href="{{ route('profile.change-password') }}">{{ 'change_your_password'|_ }}</a></li> <a href="{{ route('profile.change-email') }}">{{ 'change_your_email'|_ }}</a>
</li>
<li>
<a href="{{ route('profile.change-password') }}">{{ 'change_your_password'|_ }}</a>
</li>
<li><a href="{{ route('logout') }}">{{ 'logout'|_ }}</a></li> <li><a href="{{ route('logout') }}">{{ 'logout'|_ }}</a></li>
<li><a href="{{ route('profile.logout-others') }}">{{ 'logout_other_sessions'|_ }}</a></li> <li>
<li><a class="text-danger" href="{{ route('profile.delete-account') }}">{{ 'delete_account'|_ }}</a></li> <a href="{{ route('profile.logout-others') }}">{{ 'logout_other_sessions'|_ }}</a>
</li>
<li><a class="text-danger"
href="{{ route('profile.delete-account') }}">{{ 'delete_account'|_ }}</a>
</li>
</ul> </ul>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<!-- OAuth -->
<div role="tabpanel" class="tab-pane" id="oauth">
<div id="passport_clients"></div>
</div> </div>
<div class="row">
<div class="col-lg-8 col-lg-offset-2 col-md-12 col-sm-12"> <!-- command line options -->
<div class="box box-primary"> <div role="tabpanel" class="tab-pane" id="cmd">
<div class="box-header with-border"> <div class="box box-default">
<h3 class="box-title">{{ 'command_line_token'|_ }}</h3>
</div>
<div class="box-body"> <div class="box-body">
<p> <p>
{{ 'explain_command_line_token'|_ }} {{ 'explain_command_line_token'|_ }}
</p> </p>
<p> <p>
<input id="token" type="text" class="form-control" name="token" value="{{ accessToken.data }}" size="32" maxlength="32" readonly/> <input id="token" type="text" class="form-control" name="token"
value="{{ accessToken.data }}"
size="32" maxlength="32" readonly/>
</p> </p>
<p>
<form action="{{ route('profile.regenerate') }}" method="post"> <form action="{{ route('profile.regenerate') }}" method="post">
<p>
<input type="hidden" name="_token" value="{{ csrf_token() }}"/> <input type="hidden" name="_token" value="{{ csrf_token() }}"/>
<button type="submit" class="btn btn-danger btn-xs"><i class="fa fa-refresh"></i> {{ 'regenerate_command_line_token'|_ }}</button> <button type="submit" class="btn btn-danger btn-xs"><i
</form> class="fa fa-refresh"></i> {{ 'regenerate_command_line_token'|_ }}
</button>
</p> </p>
</div> </form>
</div> </div>
</div> </div>
</div> </div>
<div class="row"> <!-- MFA -->
<div class="col-lg-8 col-lg-offset-2 col-md-12 col-sm-12"> <div role="tabpanel" class="tab-pane" id="mfa">
<div class="box box-primary"> <div class="box box-default">
<div class="box-header with-border">
<h3 class="box-title">{{ 'pref_two_factor_auth'|_ }}</h3>
</div>
<div class="box-body"> <div class="box-body">
<p class="text-info">{{ 'pref_two_factor_auth_help'|_ }}</p> <p class="text-info">{{ 'pref_two_factor_auth_help'|_ }}</p>
{% if enabled2FA == true %} {% if enabled2FA == true %}
@@ -85,21 +116,19 @@
<p> <p>
<form action="{{ route('profile.enable2FA') }}" method="post"> <form action="{{ route('profile.enable2FA') }}" method="post">
<input type="hidden" name="_token" value="{{ csrf_token() }}"/> <input type="hidden" name="_token" value="{{ csrf_token() }}"/>
<button type="submit" class="btn btn-info"><i class="fa fa-lock"></i> {{ 'pref_enable_two_factor_auth'|_ }}</button> <button type="submit" class="btn btn-info"><i
class="fa fa-lock"></i> {{ 'pref_enable_two_factor_auth'|_ }}</button>
</form> </form>
</p> </p>
{% endif %} {% endif %}
</div> </div>
</div> </div>
</div> </div>
</div>
<div class="row"> <!-- delete stuff -->
<div class="col-lg-8 col-lg-offset-2 col-md-12 col-sm-12"> <div role="tabpanel" class="tab-pane" id="delete">
<div class="box box-default"> <div class="box box-default">
<div class="box-header with-border"> <div class="box-body with-border">
<h3 class="box-title">{{ 'delete_stuff_header'|_ }}</h3>
</div>
<div class="box-header with-border">
<div class="col-lg-12"> <div class="col-lg-12">
<p> <p>
{{ 'permanent_delete_stuff'|_ }} {{ 'permanent_delete_stuff'|_ }}
@@ -212,9 +241,43 @@
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div id="passport_clients"></div> </div>
</div>
{#
<!-- all tabs -->
<!-- command line opt -->
</div>
</div>
</div>
#}
<div class="row">
<div class="col-lg-8 col-lg-offset-2 col-md-12 col-sm-12">
</div>
</div>
<div class="row">
<div class="col-lg-8 col-lg-offset-2 col-md-12 col-sm-12">
</div>
</div>
{# #}
{% endblock %} {% endblock %}
{% block scripts %} {% block scripts %}
<script type="text/javascript" nonce="{{ JS_NONCE }}"> <script type="text/javascript" nonce="{{ JS_NONCE }}">
@@ -236,11 +299,11 @@
}).done( }).done(
function () { function () {
// enable button again: // enable button again:
link.prop('disabled',false); link.prop('disabled', false);
link.find('i').removeClass().addClass(classes); link.find('i').removeClass().addClass(classes);
alert(link.data('success')); alert(link.data('success'));
} }
).fail(function() { ).fail(function () {
link.find('i').removeClass().addClass('fa fa-exclamation-triangle'); link.find('i').removeClass().addClass('fa fa-exclamation-triangle');
alert('Could not delete. Sorry.'); alert('Could not delete. Sorry.');
}); });