From a0ba845e3713f239bbd045a045fd599b79d8c1bb Mon Sep 17 00:00:00 2001 From: Moshe Lustigman Date: Tue, 23 Jul 2019 18:05:57 -0400 Subject: [PATCH] Add text direction configuration for locales --- .../Admin/src/DataGrids/LocalesDataGrid.php | 11 ++++++- .../Admin/src/Resources/lang/en/app.php | 2 ++ .../views/layouts/anonymous-master.blade.php | 7 ++++- .../Resources/views/layouts/master.blade.php | 6 +++- .../views/settings/locales/create.blade.php | 9 ++++++ .../views/settings/locales/edit.blade.php | 9 ++++++ .../2019_07_23_033128_alter_locales_table.php | 30 +++++++++++++++++++ .../src/Http/Controllers/LocaleController.php | 6 ++-- packages/Webkul/Core/src/Models/Locale.php | 4 +-- .../Resources/views/layouts/master.blade.php | 6 +++- 10 files changed, 82 insertions(+), 8 deletions(-) create mode 100644 packages/Webkul/Core/src/Database/Migrations/2019_07_23_033128_alter_locales_table.php diff --git a/packages/Webkul/Admin/src/DataGrids/LocalesDataGrid.php b/packages/Webkul/Admin/src/DataGrids/LocalesDataGrid.php index 63dc7a54a..14ff10f32 100755 --- a/packages/Webkul/Admin/src/DataGrids/LocalesDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/LocalesDataGrid.php @@ -19,7 +19,7 @@ class LocalesDataGrid extends DataGrid public function prepareQueryBuilder() { - $queryBuilder = DB::table('locales')->addSelect('id', 'code', 'name'); + $queryBuilder = DB::table('locales')->addSelect('id', 'code', 'name', 'direction'); $this->setQueryBuilder($queryBuilder); } @@ -52,6 +52,15 @@ class LocalesDataGrid extends DataGrid 'sortable' => true, 'filterable' => true ]); + + $this->addColumn([ + 'index' => 'direction', + 'label' => trans('admin::app.datagrid.direction'), + 'type' => 'select', + 'searchable' => true, + 'sortable' => true, + 'filterable' => true + ]); } public function prepareActions() { diff --git a/packages/Webkul/Admin/src/Resources/lang/en/app.php b/packages/Webkul/Admin/src/Resources/lang/en/app.php index eb50ee2ed..7e050aaea 100755 --- a/packages/Webkul/Admin/src/Resources/lang/en/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/en/app.php @@ -114,6 +114,7 @@ return [ 'code' => 'Code', 'admin-name' => 'Name', 'name' => 'Name', + 'direction' => 'Direction', 'fullname' => 'Full Name', 'type' => 'Type', 'required' => 'Required', @@ -561,6 +562,7 @@ return [ 'general' => 'General', 'code' => 'Code', 'name' => 'Name', + 'direction' => 'Direction', 'create-success' => 'Locale created successfully.', 'update-success' => 'Locale updated successfully.', 'delete-success' => 'Locale deleted successfully.', diff --git a/packages/Webkul/Admin/src/Resources/views/layouts/anonymous-master.blade.php b/packages/Webkul/Admin/src/Resources/views/layouts/anonymous-master.blade.php index 9f3ca20ef..572fae4be 100755 --- a/packages/Webkul/Admin/src/Resources/views/layouts/anonymous-master.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/layouts/anonymous-master.blade.php @@ -1,3 +1,8 @@ +@php + $locale = Webkul\Core\Models\Locale::where('code', app()->getLocale())->first(); +@endphp + +@endphp @@ -67,7 +72,7 @@ {!! view_render_event('bagisto.admin.layout.head') !!} - getLocale() == 'ar') class="rtl" @endif style="scroll-behavior: smooth;"> + direction == 'rtl') class="rtl" @endif style="scroll-behavior: smooth;">
diff --git a/packages/Webkul/Admin/src/Resources/views/layouts/master.blade.php b/packages/Webkul/Admin/src/Resources/views/layouts/master.blade.php index a64de8787..47211d650 100755 --- a/packages/Webkul/Admin/src/Resources/views/layouts/master.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/layouts/master.blade.php @@ -1,3 +1,7 @@ +@php + $locale = Webkul\Core\Models\Locale::where('code', app()->getLocale())->first(); +@endphp + @@ -19,7 +23,7 @@ - getLocale() == 'ar') class="rtl" @endif style="scroll-behavior: smooth;"> + direction == 'rtl') class="rtl" @endif style="scroll-behavior: smooth;"> {!! view_render_event('bagisto.admin.layout.body.before') !!}
diff --git a/packages/Webkul/Admin/src/Resources/views/settings/locales/create.blade.php b/packages/Webkul/Admin/src/Resources/views/settings/locales/create.blade.php index fd82a1d0a..fa3d74db6 100755 --- a/packages/Webkul/Admin/src/Resources/views/settings/locales/create.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/settings/locales/create.blade.php @@ -41,6 +41,15 @@ @{{ errors.first('name') }}
+ +
+ + + @{{ errors.first('direction') }} +
diff --git a/packages/Webkul/Admin/src/Resources/views/settings/locales/edit.blade.php b/packages/Webkul/Admin/src/Resources/views/settings/locales/edit.blade.php index 3f3e9ee25..939c8441c 100755 --- a/packages/Webkul/Admin/src/Resources/views/settings/locales/edit.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/settings/locales/edit.blade.php @@ -44,6 +44,15 @@ @{{ errors.first('name') }} + +
+ + + @{{ errors.first('direction') }} +
diff --git a/packages/Webkul/Core/src/Database/Migrations/2019_07_23_033128_alter_locales_table.php b/packages/Webkul/Core/src/Database/Migrations/2019_07_23_033128_alter_locales_table.php new file mode 100644 index 000000000..aa29e549c --- /dev/null +++ b/packages/Webkul/Core/src/Database/Migrations/2019_07_23_033128_alter_locales_table.php @@ -0,0 +1,30 @@ +enum('direction', ['ltr', 'rtl'])->default('ltr'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('locales'); + } +} diff --git a/packages/Webkul/Core/src/Http/Controllers/LocaleController.php b/packages/Webkul/Core/src/Http/Controllers/LocaleController.php index ff8f5f058..16b28287e 100755 --- a/packages/Webkul/Core/src/Http/Controllers/LocaleController.php +++ b/packages/Webkul/Core/src/Http/Controllers/LocaleController.php @@ -72,7 +72,8 @@ class LocaleController extends Controller { $this->validate(request(), [ 'code' => ['required', 'unique:locales,code', new \Webkul\Core\Contracts\Validations\Code], - 'name' => 'required' + 'name' => 'required', + 'direction' => 'in:ltr,rtl' ]); Event::fire('core.locale.create.before'); @@ -110,7 +111,8 @@ class LocaleController extends Controller { $this->validate(request(), [ 'code' => ['required', 'unique:locales,code,' . $id, new \Webkul\Core\Contracts\Validations\Code], - 'name' => 'required' + 'name' => 'required', + 'direction' => 'in:ltr,rtl' ]); Event::fire('core.locale.update.before', $id); diff --git a/packages/Webkul/Core/src/Models/Locale.php b/packages/Webkul/Core/src/Models/Locale.php index b12be89de..572e576a5 100755 --- a/packages/Webkul/Core/src/Models/Locale.php +++ b/packages/Webkul/Core/src/Models/Locale.php @@ -13,6 +13,6 @@ class Locale extends Model implements LocaleContract * @var array */ protected $fillable = [ - 'code', 'name' + 'code', 'name', 'direction' ]; -} \ No newline at end of file +} diff --git a/packages/Webkul/Shop/src/Resources/views/layouts/master.blade.php b/packages/Webkul/Shop/src/Resources/views/layouts/master.blade.php index 368893ba7..190b3df2e 100755 --- a/packages/Webkul/Shop/src/Resources/views/layouts/master.blade.php +++ b/packages/Webkul/Shop/src/Resources/views/layouts/master.blade.php @@ -1,3 +1,7 @@ +@php + $locale = Webkul\Core\Models\Locale::where('code', app()->getLocale())->first(); +@endphp + @@ -30,7 +34,7 @@ -getLocale() == 'ar') class="rtl" @endif style="scroll-behavior: smooth;"> +direction == 'rtl') class="rtl" @endif style="scroll-behavior: smooth;"> {!! view_render_event('bagisto.shop.layout.body.before') !!}