From d218125165d77da7aa14503907072dd32d2630d8 Mon Sep 17 00:00:00 2001 From: Ludovic CANDELLIER Date: Tue, 14 Apr 2020 01:24:37 +0200 Subject: [PATCH] Add varieties --- app/Console/Commands/migrate.php | 42 +++++++++++++++ app/Datatables/FamiliesDataTable.php | 5 +- app/Datatables/GenresDataTable.php | 5 +- app/Datatables/ParentDataTable.php | 8 ++- app/Datatables/VarietiesDataTable.php | 32 +++++++++++ .../Shop/Admin/GenreController.php | 4 +- .../Shop/Admin/SpecieController.php | 4 +- .../Shop/Admin/VarietyController.php | 53 +++++++++++++++++++ app/Menu/Shop.php | 10 ++-- app/Models/Shop/Genre.php | 5 ++ app/Models/Shop/Specie.php | 11 ++++ app/Models/Shop/Variety.php | 16 ++++++ app/Repositories/Shop/Families.php | 5 ++ app/Repositories/Shop/Genres.php | 5 ++ composer.json | 20 ++++--- .../views/components/js/datatable.blade.php | 40 ++++++++++++++ .../views/shop/admin/Families/list.blade.php | 34 +----------- .../views/shop/admin/Genres/edit.blade.php | 2 +- .../views/shop/admin/Genres/form.blade.php | 11 ++-- .../views/shop/admin/Genres/list.blade.php | 12 +---- .../views/shop/admin/Species/form.blade.php | 12 +++-- .../views/shop/admin/Species/list.blade.php | 12 +---- .../shop/admin/Varieties/create.blade.php | 16 ++++++ .../views/shop/admin/Varieties/edit.blade.php | 16 ++++++ .../views/shop/admin/Varieties/form.blade.php | 28 ++++++++++ .../views/shop/admin/Varieties/list.blade.php | 22 ++++++++ .../views/shop/admin/Varieties/show.blade.php | 30 +++++++++++ routes/Admin/Shop/Varieties.php | 12 +++++ routes/Admin/Shop/route.php | 1 + 29 files changed, 392 insertions(+), 81 deletions(-) create mode 100644 app/Datatables/VarietiesDataTable.php create mode 100644 app/Http/Controllers/Shop/Admin/VarietyController.php create mode 100644 app/Models/Shop/Variety.php create mode 100644 resources/views/components/js/datatable.blade.php create mode 100644 resources/views/shop/admin/Varieties/create.blade.php create mode 100644 resources/views/shop/admin/Varieties/edit.blade.php create mode 100644 resources/views/shop/admin/Varieties/form.blade.php create mode 100644 resources/views/shop/admin/Varieties/list.blade.php create mode 100644 resources/views/shop/admin/Varieties/show.blade.php create mode 100644 routes/Admin/Shop/Varieties.php diff --git a/app/Console/Commands/migrate.php b/app/Console/Commands/migrate.php index 394bfa63..018f736f 100644 --- a/app/Console/Commands/migrate.php +++ b/app/Console/Commands/migrate.php @@ -5,6 +5,8 @@ namespace App\Console\Commands; use Illuminate\Console\Command; use App\Models\Shop\Family; use App\Models\Shop\Genre; +use App\Models\Shop\Specie; +use App\Models\Shop\Variety; class migrate extends Command { @@ -39,6 +41,45 @@ class migrate extends Command */ public function handle() { + $varieties = Variety::all(); + foreach ($varieties as $variety) { + $specie_name = $variety->specie; + dump($specie_name); + if (!empty($specie_name)) { + $specie = Specie::byName($specie_name)->first(); + if (isset($specie->name)) + { + dump($specie->name); + $variety->specie_id = $specie->id; + $variety->save(); + } else { + dump("non trouvé"); + } + } else { + dump("Aucune espèce"); + } + } + /* + $species = Specie::all(); + foreach ($species as $specie) { + $genre_name = $specie->genre; + dump($genre_name); + if (!empty($genre_name)) { + $genre = Genre::byName($genre_name)->first(); + if (isset($genre->name)) + { + dump($genre->name); + $specie->genre_id = $genre->id; + $specie->save(); + } else { + dump("non trouvé"); + } + } else { + dump("Aucun genre"); + } + } + */ + /* $genres = Genre::all(); foreach ($genres as $genre) { $family_name = $genre->family; @@ -57,5 +98,6 @@ class migrate extends Command dump("Aucune famille"); } } + */ } } diff --git a/app/Datatables/FamiliesDataTable.php b/app/Datatables/FamiliesDataTable.php index 50dff135..fe8a50aa 100644 --- a/app/Datatables/FamiliesDataTable.php +++ b/app/Datatables/FamiliesDataTable.php @@ -12,18 +12,21 @@ class FamiliesDataTable extends DataTable public function query(Family $model) { + $model = $model::withCount('genres'); return self::buildQuery($model); } protected function getColumns() { return [ - Column::make('name'), + Column::make('name')->title('Nom'), Column::make('alias'), Column::make('latin'), + Column::make('genres_count')->title('Nb genres'), Column::computed('action') ->exportable(false) ->printable(false) + ->searchable(false) ->width(120) ->addClass('text-center'), ]; diff --git a/app/Datatables/GenresDataTable.php b/app/Datatables/GenresDataTable.php index cfa81f12..5cdf5faa 100644 --- a/app/Datatables/GenresDataTable.php +++ b/app/Datatables/GenresDataTable.php @@ -12,15 +12,18 @@ class GenresDataTable extends DataTable public function query(Genre $model) { + $model = $model::with('family')->withCount('species'); return self::buildQuery($model); } protected function getColumns() { return [ - Column::make('name'), + Column::make('name')->title('Nom'), Column::make('alias'), Column::make('latin'), + Column::make('family.name'), + Column::make('species_count')->title('Nb Espèces'), Column::computed('action') ->exportable(false) ->printable(false) diff --git a/app/Datatables/ParentDataTable.php b/app/Datatables/ParentDataTable.php index ce72d860..aea20f4b 100644 --- a/app/Datatables/ParentDataTable.php +++ b/app/Datatables/ParentDataTable.php @@ -29,11 +29,17 @@ class ParentDataTable extends DataTable * @return \Yajra\DataTables\DataTableAbstract */ public function addButtons($datatables) + { + $buttons = self::getHtmlButtons(); + return $datatables->addColumn('action', $buttons); + } + + public function getHtmlButtons() { $buttons = ''; $buttons .= ''; $buttons .= ''; - return $datatables->addColumn('action', $buttons); + return $buttons; } /** diff --git a/app/Datatables/VarietiesDataTable.php b/app/Datatables/VarietiesDataTable.php new file mode 100644 index 00000000..c5bf873d --- /dev/null +++ b/app/Datatables/VarietiesDataTable.php @@ -0,0 +1,32 @@ +exportable(false) + ->printable(false) + ->width(120) + ->addClass('text-center'), + ]; + } + +} diff --git a/app/Http/Controllers/Shop/Admin/GenreController.php b/app/Http/Controllers/Shop/Admin/GenreController.php index 1b847582..35cf3900 100644 --- a/app/Http/Controllers/Shop/Admin/GenreController.php +++ b/app/Http/Controllers/Shop/Admin/GenreController.php @@ -6,6 +6,7 @@ use Illuminate\Http\Request; use App\Http\Controllers\Controller; use App\Repositories\Shop\Genres; +use App\Repositories\Shop\Families; use App\DataTables\GenresDataTable; class GenreController extends Controller @@ -39,7 +40,8 @@ class GenreController extends Controller public function edit($id) { - $data['genre'] = Genres::get($id); + $data = Genres::get($id); + $data['families'] = Families::getOptions(); return view('Shop.Admin.Genres.edit', $data); } diff --git a/app/Http/Controllers/Shop/Admin/SpecieController.php b/app/Http/Controllers/Shop/Admin/SpecieController.php index c70b341c..eb2665fd 100644 --- a/app/Http/Controllers/Shop/Admin/SpecieController.php +++ b/app/Http/Controllers/Shop/Admin/SpecieController.php @@ -6,6 +6,7 @@ use Illuminate\Http\Request; use App\Http\Controllers\Controller; use App\Repositories\Shop\Species; +use App\Repositories\Shop\Genres; use App\DataTables\SpeciesDataTable; class SpecieController extends Controller @@ -39,7 +40,8 @@ class SpecieController extends Controller public function edit($id) { - $data['specie'] = Species::get($id); + $data = Species::get($id); + $data['genres'] = Genres::getOptions(); return view('Shop.Admin.Species.edit', $data); } diff --git a/app/Http/Controllers/Shop/Admin/VarietyController.php b/app/Http/Controllers/Shop/Admin/VarietyController.php new file mode 100644 index 00000000..b1c475f5 --- /dev/null +++ b/app/Http/Controllers/Shop/Admin/VarietyController.php @@ -0,0 +1,53 @@ +render('Shop.Admin.Varieties.list'); + } + + public function getDatatable(Request $request) + { + return Varieties::getDatatable($request->all()); + } + + public function create() + { + return view('Shop.Admin.Varieties.create'); + } + + public function store(Request $request) + { + $ret = Varieties::store($request); + return redirect()->route('Shop.Admin.Varieties.index'); + } + + public function show($id) + { + $data = Varieties::get($id); + return view('Shop.Admin.Varieties.view', $data); + } + + public function edit($id) + { + $data = Varieties::get($id); + $data['species'] = Species::getOptions(); + return view('Shop.Admin.Varieties.edit', $data); + } + + public function destroy($id) + { + return Varieties::destroy($id); + } + +} diff --git a/app/Menu/Shop.php b/app/Menu/Shop.php index ac8f0c9d..3c71639b 100644 --- a/app/Menu/Shop.php +++ b/app/Menu/Shop.php @@ -20,15 +20,17 @@ class Shop ->activeIfRoute(['Shop.Admin.Genres.index'])->order(2); $menu->addTo('shop', 'Espèces', [ 'route' => 'Shop.Admin.Species.index', 'permission' => 'backend' ]) ->activeIfRoute(['Shop.Admin.Species.index'])->order(3); + $menu->addTo('shop', 'Variétés', [ 'route' => 'Shop.Admin.Varieties.index', 'permission' => 'backend' ]) + ->activeIfRoute(['Shop.Admin.Varieties.index'])->order(4); $menu->addTo('shop', 'Categories', [ 'route' => 'Shop.Admin.Sections.index', 'permission' => 'backend' ]) - ->activeIfRoute(['Shop.Admin.Sections.index'])->order(4); + ->activeIfRoute(['Shop.Admin.Sections.index'])->order(5); $menu->addTo('shop', 'Produits', [ 'route' => 'Shop.Admin.Products.index', 'permission' => 'backend' ]) - ->activeIfRoute(['Shop.Admin.Products.index'])->order(5); + ->activeIfRoute(['Shop.Admin.Products.index'])->order(6); $menu->addTo('shop', 'Commandes', [ 'route' => 'Shop.Admin.Orders.index', 'permission' => 'backend' ]) - ->activeIfRoute(['Shop.Admin.Orders.index'])->order(6); + ->activeIfRoute(['Shop.Admin.Orders.index'])->order(7); $menu->addTo('shop', 'Factures', [ 'route' => 'Shop.Admin.Invoices.index', 'permission' => 'backend' ]) - ->activeIfRoute(['Shop.Admin.Invoices.index'])->order(7); + ->activeIfRoute(['Shop.Admin.Invoices.index'])->order(8); diff --git a/app/Models/Shop/Genre.php b/app/Models/Shop/Genre.php index 65d8685e..edc1201f 100644 --- a/app/Models/Shop/Genre.php +++ b/app/Models/Shop/Genre.php @@ -14,6 +14,11 @@ class Genre extends Model return $this->belongsTo('App\Models\Shop\Family'); } + public function species() + { + return $this->hasMany('App\Models\Shop\Specie'); + } + public function scopeByName($query,$name) { return $query->where('name', $name); diff --git a/app/Models/Shop/Specie.php b/app/Models/Shop/Specie.php index 99127526..4d2cabda 100644 --- a/app/Models/Shop/Specie.php +++ b/app/Models/Shop/Specie.php @@ -13,4 +13,15 @@ class Specie extends Model { return $this->belongsTo('App\Models\Shop\Family'); } + + public function Varieties() + { + return $this->hasMany('App\Models\Shop\Variety'); + } + + public function scopeByName($query,$name) + { + return $query->where('name', $name); + } + } \ No newline at end of file diff --git a/app/Models/Shop/Variety.php b/app/Models/Shop/Variety.php new file mode 100644 index 00000000..d67b91c9 --- /dev/null +++ b/app/Models/Shop/Variety.php @@ -0,0 +1,16 @@ +belongsTo('App\Models\Shop\Specie'); + } +} \ No newline at end of file diff --git a/app/Repositories/Shop/Families.php b/app/Repositories/Shop/Families.php index ce7dd259..cd1dfa80 100644 --- a/app/Repositories/Shop/Families.php +++ b/app/Repositories/Shop/Families.php @@ -19,6 +19,11 @@ class Families return Datatables::of($model)->make(true); } + public static function getOptions() + { + return Family::get()->SortBy('name')->pluck('name','id')->toArray(); + } + public static function getAll() { return Family::orderBy('name','asc')->get(); diff --git a/app/Repositories/Shop/Genres.php b/app/Repositories/Shop/Genres.php index d03ffa36..34451f24 100644 --- a/app/Repositories/Shop/Genres.php +++ b/app/Repositories/Shop/Genres.php @@ -19,6 +19,11 @@ class Genres return Datatables::of($model)->make(true); } + public static function getOptions() + { + return Family::get()->SortBy('name')->pluck('name','id')->toArray(); + } + public static function getAll() { return Genre::orderBy('name','asc')->get(); diff --git a/composer.json b/composer.json index 44ea1eae..9fa4e661 100644 --- a/composer.json +++ b/composer.json @@ -9,15 +9,18 @@ "license": "MIT", "require": { "php": "^7.2", - "arcanedev/log-viewer": "^7.0", + "arcanedev/log-viewer": "^5.0", "arrilot/laravel-widgets": "^3.13", - "awssat/laravel-sync-migration": "^0.2", + "awssat/laravel-sync-migration": "^0.1", + "barryvdh/laravel-dompdf": "^0.8.6", + "barryvdh/laravel-snappy": "^0.4.7", "box/spout": "^3.1", "browner12/helpers": "^3.0", "coduo/php-humanizer": "^3.0", "consoletvs/charts": "^6.5", - "cornford/googlmapper": "^3.0", + "cornford/googlmapper": "^2.3", "datatables/datatables": "^1.10", + "dompdf/dompdf": "^0.8.5", "eduardokum/laravel-mail-auto-embed": "^1.0", "erjanmx/laravel-migrate-check": "^1.3", "exyplis/eloquent-builder-macros": "^1.5", @@ -31,6 +34,7 @@ "jenssegers/date": "^3.5", "jrean/laravel-user-verification": "^8.0", "kalnoy/nestedset": "^5.0", + "knplabs/knp-snappy": "^1.2", "laracasts/utilities": "^3.0", "laravel/framework": "^6.2", "laravel/scout": "^7.2", @@ -39,7 +43,7 @@ "league/climate": "^3.5", "league/period": "^4.9", "maatwebsite/excel": "^3.1", - "mad-web/laravel-initializer": "^3.0", + "mad-web/laravel-initializer": "^2.0", "mediactive-digital/migrations-generator": "^2.0", "moneyphp/money": "^3.3", "mpdf/mpdf": "^8.0", @@ -50,13 +54,13 @@ "orangehill/iseed": "^2.6", "payum/payum": "^1.6", "php-console/php-console": "^3.1", - "proengsoft/laravel-jsvalidation": "^3.0", + "proengsoft/laravel-jsvalidation": "^2.5", "qoraiche/laravel-mail-editor": "^1.3", "rcrowe/twigbridge": "^0.11.3", "respect/validation": "^1.1", "rinvex/laravel-categories": "^3.0", - "rtconner/laravel-tagging": "^4.0", - "rutorika/sortable": "^7.0", + "rtconner/laravel-tagging": "^3.2", + "rutorika/sortable": "^6.0", "santigarcor/laratrust": "^5.2", "sebastienheyd/boilerplate": "^7.0", "sensiolabs/security-checker": "^6.0", @@ -69,7 +73,7 @@ "staudenmeir/eloquent-has-many-deep": "^1.8", "stillat/numeral.php": "^2.0", "te7a-houdini/laroute": "^1.0", - "themsaid/laravel-mail-preview": "^3.0", + "themsaid/laravel-mail-preview": "^2.0", "toin0u/geocoder-laravel": "^4.2", "twig/extensions": "^1.5", "unicodeveloper/laravel-password": "^1.0", diff --git a/resources/views/components/js/datatable.blade.php b/resources/views/components/js/datatable.blade.php new file mode 100644 index 00000000..fca832f4 --- /dev/null +++ b/resources/views/components/js/datatable.blade.php @@ -0,0 +1,40 @@ + + +{{$dataTable->scripts()}} + + diff --git a/resources/views/shop/admin/Families/list.blade.php b/resources/views/shop/admin/Families/list.blade.php index 89783a36..fda47e13 100644 --- a/resources/views/shop/admin/Families/list.blade.php +++ b/resources/views/shop/admin/Families/list.blade.php @@ -17,37 +17,5 @@ @endsection @push('scripts') - {{$dataTable->scripts()}} - - - - + @include('components.js.datatable', ['route' => '/Shop/Admin/Families', 'model' => 'families']) @endpush \ No newline at end of file diff --git a/resources/views/shop/admin/Genres/edit.blade.php b/resources/views/shop/admin/Genres/edit.blade.php index c2af92f8..c30c9c09 100644 --- a/resources/views/shop/admin/Genres/edit.blade.php +++ b/resources/views/shop/admin/Genres/edit.blade.php @@ -7,7 +7,7 @@ @section('content') {{ Form::open(['route' => 'Shop.Admin.Genres.store', 'id' => 'form', 'autocomplete' => 'off']) }} - + @include('Shop.Admin.Genres.form') diff --git a/resources/views/shop/admin/Genres/form.blade.php b/resources/views/shop/admin/Genres/form.blade.php index d73dab7a..b50c1ab6 100644 --- a/resources/views/shop/admin/Genres/form.blade.php +++ b/resources/views/shop/admin/Genres/form.blade.php @@ -1,16 +1,19 @@
{{ Form::label('name', 'Nom') }} - @include('components.input', ['name' => 'name', 'value' => (isset($genre['name'])) ? $genre['name'] : null, 'required' => true]) + @include('components.input', ['name' => 'name', 'value' => isset($name) ? $name : null, 'required' => true]) {{ Form::label('alias', 'Alias') }} - @include('components.input', ['name' => 'alias', 'value' => (isset($genre['alias'])) ? $genre['alias'] : null, 'required' => true]) + @include('components.input', ['name' => 'alias', 'value' => isset($alias) ? $alias : null, 'required' => true]) {{ Form::label('latin', 'Nom latin') }} - @include('components.input', ['name' => 'latin', 'value' => (isset($genre['latin'])) ? $genre['latin'] : null, 'required' => true]) + @include('components.input', ['name' => 'latin', 'value' => isset($latin) ? $latin : null, 'required' => true]) {{ Form::label('description', 'Description') }} - @include('components.textarea', ['name' => 'description', 'value' => (isset($genre['description'])) ? $genre['description'] : null, 'class' => 'editor', 'required' => false]) + @include('components.textarea', ['name' => 'description', 'value' => isset($description) ? $description : null, 'class' => 'editor', 'required' => false]) + + {{ Form::label('family', 'Famille') }} + @include('components.select', ['name' => 'family_id', 'list' => $families, 'value' => isset($family_id) ? $family_id : null, 'required' => false])
diff --git a/resources/views/shop/admin/Genres/list.blade.php b/resources/views/shop/admin/Genres/list.blade.php index 87e0ce71..9f3594e5 100644 --- a/resources/views/shop/admin/Genres/list.blade.php +++ b/resources/views/shop/admin/Genres/list.blade.php @@ -17,16 +17,6 @@ @endsection @push('scripts') - {{$dataTable->scripts()}} - - - + @include('components.js.datatable', ['route' => '/Shop/Admin/Genres', 'model' => 'genres']) @endpush diff --git a/resources/views/shop/admin/Species/form.blade.php b/resources/views/shop/admin/Species/form.blade.php index df56e128..17e8cdfa 100644 --- a/resources/views/shop/admin/Species/form.blade.php +++ b/resources/views/shop/admin/Species/form.blade.php @@ -1,16 +1,19 @@
{{ Form::label('name', 'Nom') }} - @include('components.input', ['name' => 'name', 'value' => (isset($specie['name'])) ? $specie['name'] : null, 'required' => true]) + @include('components.input', ['name' => 'name', 'value' => isset($name) ? $name : null, 'required' => true]) {{ Form::label('alias', 'Alias') }} - @include('components.input', ['name' => 'alias', 'value' => (isset($specie['alias'])) ? $specie['alias'] : null, 'required' => true]) + @include('components.input', ['name' => 'alias', 'value' => isset($alias) ? $alias : null, 'required' => true]) {{ Form::label('latin', 'Nom latin') }} - @include('components.input', ['name' => 'latin', 'value' => (isset($specie['latin'])) ? $specie['latin'] : null, 'required' => true]) + @include('components.input', ['name' => 'latin', 'value' => isset($latin) ? $latin : null, 'required' => true]) {{ Form::label('description', 'Description') }} - @include('components.textarea', ['name' => 'description', 'value' => (isset($specie['description'])) ? $specie['description'] : null, 'class' => 'editor', 'required' => false]) + @include('components.textarea', ['name' => 'description', 'value' => isset($description) ? $description : null, 'class' => 'editor', 'required' => false]) + + {{ Form::label('genre', 'Genre') }} + @include('components.select', ['name' => 'genre_id', 'list' => $genres, 'value' => isset($genre_id) ? $genre_id : null, 'required' => false])
@@ -22,3 +25,4 @@ + diff --git a/resources/views/shop/admin/Species/list.blade.php b/resources/views/shop/admin/Species/list.blade.php index 9954cce9..2c88c389 100644 --- a/resources/views/shop/admin/Species/list.blade.php +++ b/resources/views/shop/admin/Species/list.blade.php @@ -17,16 +17,6 @@ @endsection @push('scripts') - {{$dataTable->scripts()}} - - - + @include('components.js.datatable', ['route' => '/Shop/Admin/Species', 'model' => 'species']) @endpush diff --git a/resources/views/shop/admin/Varieties/create.blade.php b/resources/views/shop/admin/Varieties/create.blade.php new file mode 100644 index 00000000..004865b4 --- /dev/null +++ b/resources/views/shop/admin/Varieties/create.blade.php @@ -0,0 +1,16 @@ +@extends('layout.index', [ + 'title' => __('shop.varieties.title'), + 'subtitle' => __('shop.varieties.add'), + 'breadcrumb' => [__('shop.varieties.title'), __('shop.varieties.add')] +]) + +@include('boilerplate::load.fileinput') + +@section('content') + + {{ Form::open(['route' => 'Shop.Admin.Varieties.store', 'id' => 'form', 'autocomplete' => 'off', 'files' => true]) }} + + @include('Shop.Admin.Varieties.form') + + +@endsection diff --git a/resources/views/shop/admin/Varieties/edit.blade.php b/resources/views/shop/admin/Varieties/edit.blade.php new file mode 100644 index 00000000..cbdce474 --- /dev/null +++ b/resources/views/shop/admin/Varieties/edit.blade.php @@ -0,0 +1,16 @@ +@extends('layout.index', [ + 'title' => __('shop.varieties.title'), + 'subtitle' => __('shop.varieties.edit'), + 'breadcrumb' => ['Familles'] +]) + +@section('content') + + {{ Form::open(['route' => 'Shop.Admin.Varieties.store', 'id' => 'form', 'autocomplete' => 'off']) }} + + + @include('Shop.Admin.Varieties.form') + + + +@endsection diff --git a/resources/views/shop/admin/Varieties/form.blade.php b/resources/views/shop/admin/Varieties/form.blade.php new file mode 100644 index 00000000..17e8cdfa --- /dev/null +++ b/resources/views/shop/admin/Varieties/form.blade.php @@ -0,0 +1,28 @@ +
+
+ {{ Form::label('name', 'Nom') }} + @include('components.input', ['name' => 'name', 'value' => isset($name) ? $name : null, 'required' => true]) + + {{ Form::label('alias', 'Alias') }} + @include('components.input', ['name' => 'alias', 'value' => isset($alias) ? $alias : null, 'required' => true]) + + {{ Form::label('latin', 'Nom latin') }} + @include('components.input', ['name' => 'latin', 'value' => isset($latin) ? $latin : null, 'required' => true]) + + {{ Form::label('description', 'Description') }} + @include('components.textarea', ['name' => 'description', 'value' => isset($description) ? $description : null, 'class' => 'editor', 'required' => false]) + + {{ Form::label('genre', 'Genre') }} + @include('components.select', ['name' => 'genre_id', 'list' => $genres, 'value' => isset($genre_id) ? $genre_id : null, 'required' => false]) + +
+
+ +
+
+
+ @include('components.button-save') +
+
+
+ diff --git a/resources/views/shop/admin/Varieties/list.blade.php b/resources/views/shop/admin/Varieties/list.blade.php new file mode 100644 index 00000000..c24dc975 --- /dev/null +++ b/resources/views/shop/admin/Varieties/list.blade.php @@ -0,0 +1,22 @@ +@extends('layout.index', [ + 'title' => __('shop.varieties.title'), + 'subtitle' => __('shop.varieties.list'), + 'breadcrumb' => [__('shop.varieties.title')] +]) + +@section('content') + +
+ +
+ + {{$dataTable->table()}} + +@endsection + +@push('scripts') + @include('components.js.datatable', ['route' => '/Shop/Admin/Varieties', 'model' => 'varieties']) +@endpush + diff --git a/resources/views/shop/admin/Varieties/show.blade.php b/resources/views/shop/admin/Varieties/show.blade.php new file mode 100644 index 00000000..d6de9419 --- /dev/null +++ b/resources/views/shop/admin/Varieties/show.blade.php @@ -0,0 +1,30 @@ +@extends('layout.index', [ + 'title' => __('products.title'), + 'subtitle' => __('products.title'), + 'breadcrumb' => [__('products.title')] +]) + +@section('content') + +
+ +
+ +
+
+
+

{{ name }}

+

+ {{ $product.section.name }}
+

+
+ +
+ @include('components.carousel') +
+
+
+
+
+ +@endsection diff --git a/routes/Admin/Shop/Varieties.php b/routes/Admin/Shop/Varieties.php new file mode 100644 index 00000000..5514c53b --- /dev/null +++ b/routes/Admin/Shop/Varieties.php @@ -0,0 +1,12 @@ +name('Varieties.')->group(function () { + Route::get('', 'VarietyController@index')->name('index'); + Route::get('create', 'VarietyController@create')->name('create'); + Route::delete('destroy', 'VarietyController@destroy')->name('destroy'); + Route::post('update', 'VarietyController@update')->name('update'); + Route::post('store', 'VarietyController@store')->name('store'); + Route::get('edit/{id}', 'VarietyController@edit')->name('edit'); + +}); + diff --git a/routes/Admin/Shop/route.php b/routes/Admin/Shop/route.php index 99a70730..8205164f 100644 --- a/routes/Admin/Shop/route.php +++ b/routes/Admin/Shop/route.php @@ -3,3 +3,4 @@ include( __DIR__ . '/Families.php'); include( __DIR__ . '/Genres.php'); include( __DIR__ . '/Species.php'); +include( __DIR__ . '/Varieties.php');