diff --git a/controllers/UsersController.php b/controllers/UsersController.php index e850a41a..de03bbd0 100644 --- a/controllers/UsersController.php +++ b/controllers/UsersController.php @@ -45,9 +45,9 @@ class UsersController extends BaseController ]); } - public function LocaleForm(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args) + public function UserSettings(\Psr\Http\Message\ServerRequestInterface $request, \Psr\Http\Message\ResponseInterface $response, array $args) { - return $this->renderPage($response, 'locale', [ + return $this->renderPage($response, 'usersettings', [ 'languages' => array_filter(scandir(__DIR__.'/../localization'), function ($item){ if($item == "." || $item == "..") return false; diff --git a/localization/strings.pot b/localization/strings.pot index 22d4c73f..e76abe32 100644 --- a/localization/strings.pot +++ b/localization/strings.pot @@ -1894,3 +1894,9 @@ msgstr "" msgid "Language" msgstr "" + +msgid "User settings" +msgstr "" + +msgid "Default" +msgstr "" diff --git a/middleware/LocaleMiddleware.php b/middleware/LocaleMiddleware.php index dd80f386..e431ce7c 100644 --- a/middleware/LocaleMiddleware.php +++ b/middleware/LocaleMiddleware.php @@ -24,7 +24,7 @@ class LocaleMiddleware extends BaseMiddleware if(GROCY_AUTHENTICATED) { $locale = UsersService::getInstance()->GetUserSetting(GROCY_USER_ID, 'locale'); - if (isset($locale)) { + if (isset($locale) && !empty($locale)) { if (in_array($locale, scandir(__DIR__ . '/../localization'))) { return $locale; } diff --git a/public/viewjs/usersettings.js b/public/viewjs/usersettings.js new file mode 100644 index 00000000..068b43cb --- /dev/null +++ b/public/viewjs/usersettings.js @@ -0,0 +1 @@ +$("#locale").val(Grocy.UserSettings.locale); diff --git a/routes.php b/routes.php index 6a4fbba6..d7272a09 100644 --- a/routes.php +++ b/routes.php @@ -32,7 +32,7 @@ $app->group('', function(RouteCollectorProxy $group) $group->get('/users', '\Grocy\Controllers\UsersController:UsersList'); $group->get('/user/{userId}', '\Grocy\Controllers\UsersController:UserEditForm'); $group->get('/user/{userId}/permissions', '\Grocy\Controllers\UsersController:PermissionList'); - $group->get('/usersettings/locale', '\Grocy\Controllers\UsersController:LocaleForm'); + $group->get('/usersettings', '\Grocy\Controllers\UsersController:UserSettings'); // Stock routes if (GROCY_FEATURE_FLAG_STOCK) diff --git a/views/layout/default.blade.php b/views/layout/default.blade.php index a786eef6..a6de1d3d 100644 --- a/views/layout/default.blade.php +++ b/views/layout/default.blade.php @@ -416,8 +416,8 @@ @if(GROCY_FEATURE_FLAG_TASKS) {{ $__t('Tasks settings') }} @endif - - {{ $__t('Language') }} + + {{ $__t('User settings') }}
@if(GROCY_SHOW_AUTH_VIEWS) diff --git a/views/usersettings.blade.php b/views/usersettings.blade.php new file mode 100644 index 00000000..2dd59a06 --- /dev/null +++ b/views/usersettings.blade.php @@ -0,0 +1,30 @@ +@extends('layout.default') + +@section('title', $__t('User settings')) +@section('activeNav', '') +@section('viewJsName', 'usersettings') + +@section('content') +