From 0a54a19afa845bd2ca33b58d6862482cac82bcbf Mon Sep 17 00:00:00 2001 From: Nafies Luthfi Date: Thu, 1 Feb 2018 07:20:13 +0800 Subject: [PATCH] Restructure user detail and add lang radio select on user edit page --- app/Http/Controllers/Users/UsersController.php | 5 ++++- resources/lang/en/user.php | 3 ++- resources/lang/id/user.php | 3 ++- resources/views/layouts/user.blade.php | 17 ++++++++++++++++ resources/views/users/edit.blade.php | 18 +++++++++++------ resources/views/users/partials/nav-tabs.blade.php | 7 +++++++ resources/views/users/show.blade.php | 24 +++++++++-------------- tests/Feature/Users/ManageUsersTest.php | 2 ++ 8 files changed, 55 insertions(+), 24 deletions(-) create mode 100755 resources/views/layouts/user.blade.php create mode 100644 resources/views/users/partials/nav-tabs.blade.php diff --git a/app/Http/Controllers/Users/UsersController.php b/app/Http/Controllers/Users/UsersController.php index 3aa627e..c8d019d 100755 --- a/app/Http/Controllers/Users/UsersController.php +++ b/app/Http/Controllers/Users/UsersController.php @@ -68,7 +68,9 @@ class UsersController extends Controller { $this->authorize('update', $user); - return view('users.edit', compact('user')); + $langList = ['en' => trans('lang.en'), 'id' => trans('lang.id')]; + + return view('users.edit', compact('user', 'langList')); } public function update(Request $request, User $user) @@ -80,6 +82,7 @@ class UsersController extends Controller 'email' => 'required|email|unique:users,email,'.$request->segment(2), 'password' => 'nullable|required_with:password_confirmation|between:6,15', 'role' => 'required|array', + 'lang' => 'required|string|in:en,id', ]); $user->update($userData); diff --git a/resources/lang/en/user.php b/resources/lang/en/user.php index 5a2ff71..056e82e 100644 --- a/resources/lang/en/user.php +++ b/resources/lang/en/user.php @@ -5,12 +5,13 @@ return [ 'user' => 'User', 'list' => 'User List', 'user_id' => 'User ID', - 'profile' => 'User Profile', + 'profile' => 'Profile', 'search' => 'Search User: ketik nama', 'search' => 'Type user name then hit Enter..', 'found' => 'User found.', 'not_found' => 'User not found.', 'empty' => 'User list is empty.', + 'back_to_show' => 'Back to User Profile', 'back_to_index' => 'Back to User List', // Actions diff --git a/resources/lang/id/user.php b/resources/lang/id/user.php index 294082b..a72dbc4 100644 --- a/resources/lang/id/user.php +++ b/resources/lang/id/user.php @@ -5,12 +5,13 @@ return [ 'user' => 'User', 'list' => 'Daftar User', 'user_id' => 'User ID', - 'profile' => 'Profil User', + 'profile' => 'Profil', 'search' => 'Cari User: ketik nama', 'search' => 'Ketik nama user lalu tekan Enter..', 'found' => 'User ditemukan', 'not_found' => 'User tidak ditemukan', 'empty' => 'Belum ada User', + 'back_to_show' => 'Kembali ke Profil User', 'back_to_index' => 'Kembali ke Daftar User', // Actions diff --git a/resources/views/layouts/user.blade.php b/resources/views/layouts/user.blade.php new file mode 100755 index 0000000..e9a08c2 --- /dev/null +++ b/resources/views/layouts/user.blade.php @@ -0,0 +1,17 @@ +@extends('layouts.app') + +@section('title') +{{ $user->name }} - @yield('subtitle', trans('user.profile')) +@endsection + +@section('content') +

+
+ {!! link_to_route('users.edit', trans('user.edit'), [$user], ['id' => 'edit-user-' . $user->id, 'class' => 'btn btn-warning']) !!} + {!! link_to_route('users.index', trans('user.back_to_index'), [], ['class' => 'btn btn-default']) !!} +
+ {{ $user->name }} @yield('subtitle', trans('user.profile')) +

+@include('users.partials.nav-tabs') +@yield('content-user') +@endsection diff --git a/resources/views/users/edit.blade.php b/resources/views/users/edit.blade.php index a94c7dc..cadbf05 100755 --- a/resources/views/users/edit.blade.php +++ b/resources/views/users/edit.blade.php @@ -1,14 +1,13 @@ @inject('roles', 'App\Entities\Users\Role') -@extends('layouts.dashboard') +@extends('layouts.user') -@section('title', trans('user.edit')) +@section('subtitle', trans('user.edit')) -@section('content-dashboard') -{!! Form::model($user, ['route'=>['users.update', $user->id], 'method' => 'patch']) !!} +@section('content-user') +{!! Form::model($user, ['route'=>['users.update', $user->id], 'method' => 'patch', 'autocomplete' => 'off']) !!}
-

{{ $user->name }} - {{ trans('user.edit') }}

{!! FormField::text('name', ['label' => trans('app.name')]) !!} {!! FormField::email('email', ['label' => trans('user.email')]) !!} @@ -24,10 +23,11 @@ 'class' => 'info', ], ]) !!} + {!! FormField::radios('lang', $langList, ['label' => trans('lang.lang')]) !!}
@@ -36,3 +36,9 @@
{!! Form::close() !!} @endsection + +@section('script') + +@endsection diff --git a/resources/views/users/partials/nav-tabs.blade.php b/resources/views/users/partials/nav-tabs.blade.php new file mode 100644 index 0000000..b91e7ff --- /dev/null +++ b/resources/views/users/partials/nav-tabs.blade.php @@ -0,0 +1,7 @@ + + +
diff --git a/resources/views/users/show.blade.php b/resources/views/users/show.blade.php index 0ad167a..6df1db3 100755 --- a/resources/views/users/show.blade.php +++ b/resources/views/users/show.blade.php @@ -1,22 +1,16 @@ -@extends('layouts.dashboard') +@extends('layouts.user') -@section('title', trans('user.show')) - -@section('content-dashboard') +@section('content-user')
-

{{ $user->name }} - {{ trans('user.show') }}

-
- - - - - - - -
{{ trans('app.name') }}{{ $user->name }}
{{ trans('user.email') }}{{ $user->email }}
{{ trans('user.role') }}{!! $user->roleList() !!}
{{ trans('user.registered_at') }}{{ $user->created_at }}
-
+ + + + + + +
{{ trans('user.user_id') }}{{ $user->id }}
{{ trans('user.name') }}{{ $user->name }}
{{ trans('user.email') }}{{ $user->email }}
{{ trans('user.role') }}{!! $user->roleList() !!}
{{ trans('lang.lang') }}{{ trans('lang.'.$user->lang) }}