/**
* Redirect to the API docs page.
+ * Required as a controller method, instead of the Route::redirect helper,
+ * to ensure the URL is generated correctly.
*/
public function redirect()
{
}
/**
- * Show the overview for user preferences.
+ * Redirect the root my-account path to the main/first category.
+ * Required as a controller method, instead of the Route::redirect helper,
+ * to ensure the URL is generated correctly.
*/
- public function index()
+ public function redirect()
{
- $mfaMethods = user()->mfaValues->groupBy('method');
-
- return view('users.account.index', [
- 'mfaMethods' => $mfaMethods,
- ]);
+ return redirect('/my-account/profile');
}
/**
'filter_clear' => 'Clear Filter',
'download' => 'Download',
'open_in_tab' => 'Open in Tab',
+ 'open' => 'Open',
// Sort Options
'sort_options' => 'Sort Options',
'auth_change_password_success' => 'Password has been updated!',
'profile' => 'Profile Details',
- 'profile_overview_desc' => 'Manage your user profile details including preferred language and authentication options.',
+ 'profile_desc' => 'Manage the details of your account which represents you to other users, in addition to details that are used for communication and system personalisation.',
+ 'profile_view_public' => 'View Public Profile',
+ 'profile_name_desc' => 'Configure your display name which will be visible to other users in the system through the activity you perform, and content you own.',
+ 'profile_email_desc' => 'This email will be used for notifications and, depending on active system authentication, system access.',
+ 'profile_email_no_permission' => 'Unfortunately you don\'t have permission to change your email address. If you want to change this, you\'d need to ask an administrator to change this for you.',
+ 'profile_avatar_desc' => 'Select an image which will be used to represent yourself to others in the system. Ideally this image should be square and about 256px in width and height.',
+ 'profile_admin_options' => 'Administrator Options',
+ 'profile_admin_options_desc' => 'Additional administrator-level options, like those to manage role assignments, can be found for your user account in the "Settings > Users" area of the application.',
];
+++ /dev/null
-@extends('layouts.simple')
-
-@section('body')
- <div class="container small my-xl">
-
- <section class="card content-wrap auto-height items-center justify-space-between gap-m flex-container-row wrap">
- <div class="flex min-width-m">
- <h2 class="list-heading">{{ trans('preferences.shortcuts_interface') }}</h2>
- <p class="text-muted">{{ trans('preferences.shortcuts_overview_desc') }}</p>
- </div>
- <div class="text-right">
- <a href="{{ url('/my-account/shortcuts') }}" class="button outline">{{ trans('common.manage') }}</a>
- </div>
- </section>
-
- @if(!user()->isGuest() && userCan('receive-notifications'))
- <section class="card content-wrap auto-height items-center justify-space-between gap-m flex-container-row wrap">
- <div class="flex min-width-m">
- <h2 class="list-heading">{{ trans('preferences.notifications') }}</h2>
- <p class="text-muted">{{ trans('preferences.notifications_desc') }}</p>
- </div>
- <div class="text-right">
- <a href="{{ url('/my-account/notifications') }}" class="button outline">{{ trans('common.manage') }}</a>
- </div>
- </section>
- @endif
-
- @if(!user()->isGuest())
- <section class="card content-wrap auto-height items-center justify-space-between gap-m flex-container-row wrap">
- <div class="flex min-width-m">
- <h2 class="list-heading">{{ trans('settings.users_edit_profile') }}</h2>
- <p class="text-muted">{{ trans('preferences.profile_overview_desc') }}</p>
- </div>
- <div class="text-right">
- <a href="{{ user()->getEditUrl() }}" class="button outline">{{ trans('common.manage') }}</a>
- </div>
- </section>
- @endif
-
- @if(!user()->isGuest())
- <section class="card content-wrap auto-height items-center flex-container-row gap-m gap-x-l wrap justify-space-between">
- <div class="flex-min-width-m">
- <h2 class="list-heading">{{ trans('settings.users_mfa') }}</h2>
- <p class="text-muted">{{ trans('settings.users_mfa_desc') }}</p>
- <p class="text-muted">
- @if ($mfaMethods->count() > 0)
- <span class="text-pos">@icon('check-circle')</span>
- @else
- <span class="text-neg">@icon('cancel')</span>
- @endif
- {{ trans_choice('settings.users_mfa_x_methods', $mfaMethods->count()) }}
- </p>
- </div>
- <div class="text-right">
- <a href="{{ url('/mfa/setup') }}"
- class="button outline">{{ trans('common.manage') }}</a>
- </div>
- </section>
- @endif
-
- </div>
-@stop
<div class="flex-container-row gap-l items-center wrap justify-space-between">
<h1 class="list-heading">{{ trans('preferences.profile') }}</h1>
<div>
- <a href="{{ user()->getProfileUrl() }}" class="button outline">View Public Profile</a>
+ <a href="{{ user()->getProfileUrl() }}" class="button outline">{{ trans('preferences.profile_view_public') }}</a>
</div>
</div>
- <p class="text-muted text-small mb-none">
- Manage the details of your account that represent you to other users, in addition to
- details that are used for communication and system personalisation.
- </p>
+ <p class="text-muted text-small mb-none">{{ trans('preferences.profile_desc') }}</p>
<div class="setting-list">
<div class="flex-container-row gap-l items-center wrap">
<div class="flex">
<label class="setting-list-label" for="name">{{ trans('auth.name') }}</label>
- <p class="text-small mb-none">
- Configure your display name which will be visible to other users in the system
- within the activity you perform, and content you own.
- </p>
+ <p class="text-small mb-none">{{ trans('preferences.profile_name_desc') }}</p>
</div>
<div class="flex stretch-inputs">
@include('form.text', ['name' => 'name'])
<div class="flex-container-row gap-l items-center wrap">
<div class="flex">
<label class="setting-list-label" for="email">{{ trans('auth.email') }}</label>
- <p class="text-small mb-none">
- This email will be used for notifications and, depending on active system authentication, system access.
- </p>
+ <p class="text-small mb-none">{{ trans('preferences.profile_email_desc') }}</p>
</div>
<div class="flex stretch-inputs">
@include('form.text', ['name' => 'email', 'disabled' => !userCan('users-manage')])
</div>
</div>
@if(!userCan('users-manage'))
- <p class="text-small text-muted">
- Unfortunately you don't have permission to change your email address.
- If you want to change this, you'd need to ask an administrator to change this for you.
- </p>
+ <p class="text-small text-muted">{{ trans('preferences.profile_email_no_permission') }}</p>
@endif
</div>
<div>
<label for="user-avatar"
class="setting-list-label">{{ trans('settings.users_avatar') }}</label>
- <p class="text-small">
- Select an image which will be used to represent yourself to others
- in the system. Ideally this image should be square and about 256px in width and height.
- </p>
+ <p class="text-small">{{ trans('preferences.profile_avatar_desc') }}</p>
</div>
<div>
@include('form.image-picker', [
<section class="card content-wrap auto-height">
<div class="flex-container-row gap-l items-center wrap">
<div class="flex">
- <h2 class="list-heading">Administrator Options</h2>
- <p class="text-small">
- Additional administrator-level options, like role options, can be found for your user account in the
- <nobr>"Settings > Users"</nobr> area of the application.
- </p>
+ <h2 class="list-heading">{{ trans('preferences.profile_admin_options') }}</h2>
+ <p class="text-small">{{ trans('preferences.profile_admin_options_desc') }}</p>
</div>
<div class="text-m-right">
- <a class="button outline" href="{{ user()->getEditUrl() }}">Open</a>
+ <a class="button outline" href="{{ user()->getEditUrl() }}">{{ trans('common.open') }}</a>
</div>
</div>
</section>
Route::delete('/settings/users/{id}', [UserControllers\UserController::class, 'destroy']);
// User Account
- Route::get('/my-account', [UserControllers\UserAccountController::class, 'index']);
+ Route::get('/my-account', [UserControllers\UserAccountController::class, 'redirect']);
Route::get('/my-account/profile', [UserControllers\UserAccountController::class, 'showProfile']);
Route::put('/my-account/profile', [UserControllers\UserAccountController::class, 'updateProfile']);
Route::get('/my-account/shortcuts', [UserControllers\UserAccountController::class, 'showShortcuts']);