diff --git a/app/DataTables/Shop/PackagesDataTable.php b/app/DataTables/Shop/PackagesDataTable.php new file mode 100644 index 00000000..e7390354 --- /dev/null +++ b/app/DataTables/Shop/PackagesDataTable.php @@ -0,0 +1,28 @@ +select('shop_packages.*'); + return self::buildQuery($model); + } + + protected function getColumns() + { + return [ + Column::make('article_family.name')->title('Famille d\'articles'), + Column::make('value')->title('Valeur'), + self::makeColumnButtons(), + ]; + } + +} diff --git a/app/DataTables/Shop/UnitiesDataTable.php b/app/DataTables/Shop/UnitiesDataTable.php index 702e240c..b954509a 100644 --- a/app/DataTables/Shop/UnitiesDataTable.php +++ b/app/DataTables/Shop/UnitiesDataTable.php @@ -8,19 +8,19 @@ use App\Models\Shop\Unity; class UnitiesDataTable extends DataTable { - public $model_name = 'Unity'; + public $model_name = 'unities'; public function query(Unity $model) { - $model = $model::with(['price_family']); + $model = $model::with(['package'])->select('shop_unities.*'); return self::buildQuery($model); } protected function getColumns() { return [ - Column::make('value')->title('Attributs'), - Column::make('price_family.name')->title('Famille')->orderable(false), + Column::make('package.value')->title('Package'), + Column::make('value')->title('Valeur'), self::makeColumnButtons(), ]; } diff --git a/app/Http/Controllers/Shop/Admin/PackageController.php b/app/Http/Controllers/Shop/Admin/PackageController.php index 574be29b..46e6a47f 100644 --- a/app/Http/Controllers/Shop/Admin/PackageController.php +++ b/app/Http/Controllers/Shop/Admin/PackageController.php @@ -30,6 +30,7 @@ class PackageController extends Controller public function create() { + $data['families'] = ArticleFamilies::getOptions(); return view('Shop.Admin.Packages.create'); } @@ -47,7 +48,8 @@ class PackageController extends Controller public function edit($id) { - $data = Packages::get($id); + $data['package'] = Packages::get($id); + $data['families'] = ArticleFamilies::getOptions(); return view('Shop.Admin.Packages.edit', $data); } diff --git a/app/Http/Controllers/Shop/Admin/UnityController.php b/app/Http/Controllers/Shop/Admin/UnityController.php index f76e67ef..364cf028 100644 --- a/app/Http/Controllers/Shop/Admin/UnityController.php +++ b/app/Http/Controllers/Shop/Admin/UnityController.php @@ -5,7 +5,7 @@ namespace App\Http\Controllers\Shop\Admin; use Illuminate\Http\Request; use App\Http\Controllers\Controller; -use App\Repositories\Shop\ArticleFamilies; +use App\Repositories\Shop\Packages; use App\Repositories\Shop\Unities; use App\DataTables\Shop\UnitiesDataTable; @@ -13,7 +13,7 @@ class UnityController extends Controller { public function index(UnitiesDataTable $dataTable) { - $data['families'] = ArticleFamilies::getOptions(); + $data['packages'] = Packages::getOptions(); return $dataTable->render('Shop.Admin.Unities.list', $data); } @@ -30,6 +30,7 @@ class UnityController extends Controller public function create() { + $data['packages'] = Packages::getOptions(); return view('Shop.Admin.Unities.create'); } @@ -47,7 +48,8 @@ class UnityController extends Controller public function edit($id) { - $data = Unities::get($id); + $data['packages'] = Packages::getOptions(); + $data['unity'] = Unities::get($id)->toArray(); return view('Shop.Admin.Unities.edit', $data); } diff --git a/app/Menu/Shop.php b/app/Menu/Shop.php index 9f4e4a23..728a6028 100644 --- a/app/Menu/Shop.php +++ b/app/Menu/Shop.php @@ -36,6 +36,12 @@ class Shop */ $menu->addTo('shop', 'Prix génériques', [ 'route' => 'Shop.Admin.PriceGenerics.index', 'permission' => 'backend_access' ]) ->activeIfRoute(['Shop.Admin.PriceGenerics.*'])->order(10); + + $menu->addTo('shop', 'Packages', [ 'route' => 'Shop.Admin.Packages.index', 'permission' => 'backend_access' ]) + ->activeIfRoute(['Shop.Admin.Packages.*'])->order(12); + + $menu->addTo('shop', 'Unités', [ 'route' => 'Shop.Admin.Unities.index', 'permission' => 'backend_access' ]) + ->activeIfRoute(['Shop.Admin.Unities.*'])->order(14); } diff --git a/app/Models/Shop/Package.php b/app/Models/Shop/Package.php index d82c92c3..c021a586 100644 --- a/app/Models/Shop/Package.php +++ b/app/Models/Shop/Package.php @@ -14,6 +14,11 @@ class Package extends Model return $this->belongsTo('App\Models\Shop\ArticleFamily'); } + public function unities() + { + return $this->hasMany('App\Models\Shop\Unity'); + } + public function scopeByFamily($query, $id) { return $query->where('article_family_id', $id); diff --git a/resources/views/Shop/Admin/Articles/partials/generic_prices/block_generic_price.blade.php b/resources/views/Shop/Admin/Articles/partials/generic_prices/block_generic_price.blade.php index 8705dc4a..ffc104de 100644 --- a/resources/views/Shop/Admin/Articles/partials/generic_prices/block_generic_price.blade.php +++ b/resources/views/Shop/Admin/Articles/partials/generic_prices/block_generic_price.blade.php @@ -3,10 +3,6 @@ - - @include('Shop.Admin.PriceGenerics.partials.table-prices', ['generic' => $generic['generic'] ?? null ]) diff --git a/resources/views/Shop/Admin/Articles/partials/generic_prices/block_generic_price_new.blade.php b/resources/views/Shop/Admin/Articles/partials/generic_prices/block_generic_price_new.blade.php index c423fbeb..81906018 100644 --- a/resources/views/Shop/Admin/Articles/partials/generic_prices/block_generic_price_new.blade.php +++ b/resources/views/Shop/Admin/Articles/partials/generic_prices/block_generic_price_new.blade.php @@ -4,6 +4,4 @@ @include('Shop.Admin.PriceGenerics.partials.table-prices', ['generic' => $generic['generic'] ?? null ]) - - \ No newline at end of file diff --git a/resources/views/Shop/Admin/Articles/partials/generic_prices/list-generic_prices.blade.php b/resources/views/Shop/Admin/Articles/partials/generic_prices/list-generic_prices.blade.php index 3ceab359..de96b574 100644 --- a/resources/views/Shop/Admin/Articles/partials/generic_prices/list-generic_prices.blade.php +++ b/resources/views/Shop/Admin/Articles/partials/generic_prices/list-generic_prices.blade.php @@ -5,10 +5,10 @@ @endif @push('js') - + @endpush diff --git a/resources/views/Shop/Admin/Articles/partials/prices/list-prices.blade.php b/resources/views/Shop/Admin/Articles/partials/prices/list-prices.blade.php index 7a82f47e..209e1128 100644 --- a/resources/views/Shop/Admin/Articles/partials/prices/list-prices.blade.php +++ b/resources/views/Shop/Admin/Articles/partials/prices/list-prices.blade.php @@ -5,14 +5,14 @@ @endif @push('js') - + @endpush diff --git a/resources/views/Shop/Admin/Packages/create.blade.php b/resources/views/Shop/Admin/Packages/create.blade.php new file mode 100644 index 00000000..589113b3 --- /dev/null +++ b/resources/views/Shop/Admin/Packages/create.blade.php @@ -0,0 +1,15 @@ +@extends('layout.index', [ + 'title' => __('packages.title'), + 'subtitle' => __('packages.create.title'), + 'breadcrumb' => [__('packages.title')] +]) + +@include('boilerplate::load.fileinput') + +@section('content') + + {{ Form::open(['route' => 'Shop.Admin.Packages.store', 'id' => 'package-form', 'autocomplete' => 'off']) }} + @include('Shop.Admin.Packages.form') + + +@endsection diff --git a/resources/views/Shop/Admin/Packages/edit.blade.php b/resources/views/Shop/Admin/Packages/edit.blade.php new file mode 100644 index 00000000..712b5e86 --- /dev/null +++ b/resources/views/Shop/Admin/Packages/edit.blade.php @@ -0,0 +1,14 @@ +@extends('layout.index', [ + 'title' => 'Package', + 'subtitle' => 'Edition d\'un package', + 'breadcrumb' => ['Articles'] +]) + +@section('content') + + {{ Form::open(['route' => 'Shop.Admin.Packages.store', 'id' => 'package-form', 'autocomplete' => 'off']) }} + + @include('Shop.Admin.Packages.form') + + +@endsection diff --git a/resources/views/Shop/Admin/Packages/form.blade.php b/resources/views/Shop/Admin/Packages/form.blade.php new file mode 100644 index 00000000..dd081fe7 --- /dev/null +++ b/resources/views/Shop/Admin/Packages/form.blade.php @@ -0,0 +1,19 @@ +
+
+ {{ Form::label('name', 'Famille') }} + @include('components.select', ['name' => 'article_family_id', 'value' => $package['article_family_id'] ?? null, 'list' => $families, 'required' => false, 'with_empty' => '']) + + {{ Form::label('name', 'Valeur') }} + @include('components.input', ['name' => 'value', 'value' => $package['value'] ?? null, 'required' => true]) + +
+
+ +
+
+
+ @include('components.button-save') +
+
+
+ diff --git a/resources/views/Shop/Admin/Packages/index.blade.php b/resources/views/Shop/Admin/Packages/index.blade.php new file mode 100644 index 00000000..725df819 --- /dev/null +++ b/resources/views/Shop/Admin/Packages/index.blade.php @@ -0,0 +1,48 @@ +@extends('layout.index', [ + 'title' => __('Shop.packages.title'), + 'subtitle' => __('Shop.packages.list'), + 'breadcrumb' => [__('Shop.packages.title')] +]) + +@include('boilerplate::load.select2') + +@section('content') + + + +
+ +
+ @section('content') + @include('components.datatable', ['route' => route('Shop.Admin.Unities.index'), 'model' => 'ArticleAttributefamilies']) + @endsection +
+ +
+ @section('content') + @component('components.card') + @include('components.datatable', ['route' => route('Shop.Admin.ArticleAttributeValues.index'), 'model' => 'Unities']) + @endcomponent + + @component('components.layout.modal', ['title' => 'Filtres', 'id' => 'modal-filters']) + @include('Shop.Admin.Unities.partials.filters') + @endcomponent + @endsection +
+ +
+ +@endsection + +@push('scripts') + @include('components.js.datatable', ['route' => route('Shop.Admin.Unities.index'), 'model' => 'Unities']) +@endpush \ No newline at end of file diff --git a/resources/views/Shop/Admin/Packages/list.blade.php b/resources/views/Shop/Admin/Packages/list.blade.php new file mode 100644 index 00000000..b162360d --- /dev/null +++ b/resources/views/Shop/Admin/Packages/list.blade.php @@ -0,0 +1,16 @@ +@extends('layout.index', [ + 'title' => __('Shop.packages.title'), + 'subtitle' => __('Shop.packages.list'), + 'breadcrumb' => [__('Shop.packages.title')] +]) + +@section('content') + @component('components.card') + @include('components.datatable', ['route' => route('Shop.Admin.Packages.index'), 'model' => 'packages']) + @endcomponent + + @component('components.layout.modal', ['title' => 'Filtres', 'id' => 'modal-packages-filters']) + @include('Shop.Admin.Packages.partials.filters') + @endcomponent + +@endsection diff --git a/resources/views/Shop/Admin/Packages/partials/filters.blade.php b/resources/views/Shop/Admin/Packages/partials/filters.blade.php new file mode 100644 index 00000000..16ce4981 --- /dev/null +++ b/resources/views/Shop/Admin/Packages/partials/filters.blade.php @@ -0,0 +1,9 @@ +
+
+ +
+ @include('components.select', ['name' => 'article_attribute_family_id', 'list' => (isset($families)) ? $families : [], 'value' => (isset($filters['article_attribute_family_id'])) ? $filters['article_attribute_family_id'] : null, 'class' => 'form-control-sm select2', 'with_empty' => ' ']) +
+
+ +
diff --git a/resources/views/Shop/Admin/Packages/show.blade.php b/resources/views/Shop/Admin/Packages/show.blade.php new file mode 100644 index 00000000..1e1cd729 --- /dev/null +++ b/resources/views/Shop/Admin/Packages/show.blade.php @@ -0,0 +1,36 @@ +@extends('layout.index', [ + 'title' => __('products.title'), + 'subtitle' => __('products.title'), + 'breadcrumb' => [__('products.title')] +]) + +@section('content') +
+ +
+ +
+ +
+
+
+

{{ name }}

+

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

+
+
+

{{ $prix_total }} €

+

{{ $residence['type_produit']['name'] }}

+
+ +
+ @include('Hestimmo.modules.Lot.partials.carousel') +
+
+
+
+
+
+ +@endsection diff --git a/resources/views/Shop/Admin/PriceGenerics/create.blade.php b/resources/views/Shop/Admin/PriceGenerics/create.blade.php index 0e2ddd8c..75b468af 100644 --- a/resources/views/Shop/Admin/PriceGenerics/create.blade.php +++ b/resources/views/Shop/Admin/PriceGenerics/create.blade.php @@ -7,19 +7,6 @@ @section('content') {{ Form::open(['route' => 'Shop.Admin.PriceGenerics.store', 'id' => 'price-generic-form', 'autocomplete' => 'off']) }} - -
-
- - {{ __('price_generics.list.title') }} - - - - @include('components.button-save') - -
-
- @include('Shop.Admin.PriceGenerics.form') diff --git a/resources/views/Shop/Admin/PriceGenerics/partials/block_price_new.blade.php b/resources/views/Shop/Admin/PriceGenerics/partials/block_price_new.blade.php index 30b73df3..756d6692 100644 --- a/resources/views/Shop/Admin/PriceGenerics/partials/block_price_new.blade.php +++ b/resources/views/Shop/Admin/PriceGenerics/partials/block_price_new.blade.php @@ -7,29 +7,55 @@
-
+
{{ Form::label('quantity', 'Quantité') }}
@include('components.number', ['name' => 'prices[0][quantity]', 'value' => $quantity ?? 1, 'required' => true, 'class' => 'form-control-sm'])
+ {{ Form::label('package_id', 'Unité') }}
+ @include('components.select', ['name' => 'prices[0][package_id]', 'value' => $package_id ?? null, 'list' => $packages ?? null, 'required' => true, 'class' => 'select2 form-control-sm w-100']) +
+ +
+ {{ Form::label('package_qty', 'Pack Qté') }}
+ @include('components.number', [ + 'name' => "prices[0][package_quantity]", + 'value' => $price['package_quantity'] ?? null, + 'required' => true, + 'class' => 'form-control-sm', + ]) +
+ +
{{ Form::label('unity_id', 'Unité') }}
- @include('components.select', ['name' => 'prices[0][unity_id]', 'value' => $unity_id ?? null, 'list' => $unities ?? null, 'required' => true, 'class' => 'form-control-sm']) + @include('components.select', [ + 'name' => "prices[0][unity_id]", + 'value' => $price['unity_id'] ?? null, + 'list' => $unities ?? null, + 'required' => true, + 'class' => 'select2 form-control-sm unities w-100', + 'with_empty' => '' + ])
-
- {{ Form::label('tax_id', 'TVA') }}
- @include('components.select', ['name' => 'prices[0][tax_id]', 'value' => $tax_id ?? null, 'list' => $taxes ?? null, 'required' => true, 'class' => 'form-control-sm']) -
+
+
+
+ {{ Form::label('tax_id', 'TVA') }}
+ @include('components.select', ['name' => "prices[0][tax_id]", 'value' => $price['tax_id'] ?? null, 'list' => $taxes_options ?? null, 'required' => true, 'class' => 'form-control form-control-sm']) +
-
- {{ Form::label('price', 'Prix HT') }} - @include('components.money', ['name' => 'prices[0][price]', 'value' => $price ?? 0, 'required' => true, 'class' => 'form-control-sm price-item']) -
+
+ {{ Form::label('price', 'Prix HT') }} + @include('components.money', ['name' => "prices[0][price]", 'value' => $price['price'] ?? 0, 'required' => true, 'class' => 'form-control-sm price-item']) +
-
- {{ Form::label('price_taxed', 'Prix TTC') }} - @include('components.money', ['name' => 'prices[0][price_taxed]', 'value' => $price_taxed ?? 0, 'required' => true, 'class' => 'form-control-sm price-taxed-item']) +
+ {{ Form::label('price_taxed', 'Prix TTC') }} + @include('components.money', ['name' => "prices[0][price_taxed]", 'value' => $price['price_taxed'] ?? 0, 'required' => true, 'class' => 'form-control-sm price-taxed-item']) +
+
diff --git a/resources/views/Shop/Admin/PriceGenerics/partials/table-prices.blade.php b/resources/views/Shop/Admin/PriceGenerics/partials/table-prices.blade.php index 2bdc8972..a1c31fd9 100644 --- a/resources/views/Shop/Admin/PriceGenerics/partials/table-prices.blade.php +++ b/resources/views/Shop/Admin/PriceGenerics/partials/table-prices.blade.php @@ -3,6 +3,10 @@ + + {{ $generic['category']['name'] ?? null }} @foreach ($generic['prices'] as $price) diff --git a/resources/views/Shop/Admin/Unities/create.blade.php b/resources/views/Shop/Admin/Unities/create.blade.php index c6df45b6..5c8faa80 100644 --- a/resources/views/Shop/Admin/Unities/create.blade.php +++ b/resources/views/Shop/Admin/Unities/create.blade.php @@ -1,19 +1,19 @@ @extends('layout.index', [ - 'title' => __('article_attributes.title'), - 'subtitle' => __('article_attributes.create.title'), - 'breadcrumb' => [__('article_attributes.title'), __('article_attributes.create.title')] + 'title' => __('unities.title'), + 'subtitle' => __('unities.create.title'), + 'breadcrumb' => [__('unities.title')] ]) @include('boilerplate::load.fileinput') @section('content') - {{ Form::open(['route' => 'Shop.Admin.ArticleAttributes.store', 'id' => 'article-attribute-form', 'autocomplete' => 'off', 'files' => true]) }} + {{ Form::open(['route' => 'Shop.Admin.Unities.store', 'id' => 'unity-form', 'autocomplete' => 'off', 'files' => true]) }} - @include('Shop.Admin.ArticleAttributeValues.form') + @include('Shop.Admin.Unities.form') @endsection diff --git a/resources/views/Shop/Admin/Unities/edit.blade.php b/resources/views/Shop/Admin/Unities/edit.blade.php index ac7a4833..dee59b53 100644 --- a/resources/views/Shop/Admin/Unities/edit.blade.php +++ b/resources/views/Shop/Admin/Unities/edit.blade.php @@ -1,29 +1,14 @@ @extends('layout.index', [ - 'title' => 'Attributs d\'articles', - 'subtitle' => 'Edition d\'un attribut d\'article', - 'breadcrumb' => ['Articles'] + 'title' => 'Unités', + 'subtitle' => 'Edition d\'une unité', + 'breadcrumb' => ['Unités'] ]) -@include('boilerplate::load.fileinput') - @section('content') - {{ Form::open(['route' => 'Shop.Admin.ArticleAttributeValues.update', 'id' => 'article-attribute-form', 'autocomplete' => 'off', 'files' => true]) }} - -
-
- - {{ __('article_attributes.list.title') }} - - - - @include('components.button-save') - -
-
- - - @include('Shop.Admin.ArticleAttributeValues.form') + {{ Form::open(['route' => 'Shop.Admin.Unities.store', 'id' => 'unity-form', 'autocomplete' => 'off']) }} + + @include('Shop.Admin.Unities.form') @endsection diff --git a/resources/views/Shop/Admin/Unities/form.blade.php b/resources/views/Shop/Admin/Unities/form.blade.php index d6a4b4c7..2b974fe9 100644 --- a/resources/views/Shop/Admin/Unities/form.blade.php +++ b/resources/views/Shop/Admin/Unities/form.blade.php @@ -1,14 +1,12 @@ -@include('boilerplate::load.tinymce') - -
+
+ {{ Form::label('name', 'Package') }} + @include('components.select', ['name' => 'package_id', 'value' => $unity['package_id'] ?? null, 'list' => $packages ?? [], 'required' => false, 'with_empty' => '']) +
+
{{ Form::label('name', 'Nom') }} - @include('components.input', ['name' => 'name', 'value' => (isset($family['name'])) ? $family['name'] : null, 'required' => true]) - - {{ Form::label('description', 'Description') }} - @include('components.textarea', ['name' => 'description', 'value' => isset($description) ? $description : null, 'class' => 'editor', 'required' => false]) - + @include('components.input', ['name' => 'value', 'value' => $unity['value'] ?? null, 'required' => true])
@@ -19,11 +17,3 @@
- -@push('js') - -@endpush \ No newline at end of file diff --git a/resources/views/Shop/Admin/Unities/list.blade.php b/resources/views/Shop/Admin/Unities/list.blade.php index 75982115..0684b35d 100644 --- a/resources/views/Shop/Admin/Unities/list.blade.php +++ b/resources/views/Shop/Admin/Unities/list.blade.php @@ -1,16 +1,16 @@ @extends('layout.index', [ - 'title' => __('Shop.article_attribute_values.title'), - 'subtitle' => __('Shop.article_attribute_values.list'), - 'breadcrumb' => [__('Shop.article_attribute_values.title')] + 'title' => __('Shop.unities.title'), + 'subtitle' => __('Shop.unities.list'), + 'breadcrumb' => [__('Shop.unities.title')] ]) @section('content') @component('components.card') - @include('components.datatable', ['route' => route('Shop.Admin.ArticleAttributeValues.index'), 'model' => 'ArticleAttributeValues']) + @include('components.datatable', ['route' => route('Shop.Admin.Unities.index'), 'model' => 'unities']) @endcomponent - @component('components.layout.modal', ['title' => 'Filtres', 'id' => 'modal-filters']) - @include('Shop.Admin.ArticleAttributeValues.partials.filters') + @component('components.layout.modal', ['title' => 'Filtres', 'id' => 'modal-unities-filters']) + @include('Shop.Admin.Unities.partials.filters') @endcomponent @endsection diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php index 50a30a3d..d29bec2c 100644 --- a/resources/views/layouts/app.blade.php +++ b/resources/views/layouts/app.blade.php @@ -47,7 +47,6 @@ @stack('js') - @stack('scripts') diff --git a/routes/Shop/Admin/Packages.php b/routes/Shop/Admin/Packages.php new file mode 100644 index 00000000..e533ca04 --- /dev/null +++ b/routes/Shop/Admin/Packages.php @@ -0,0 +1,8 @@ +name('Packages.')->group(function () { + Route::any('getOptionsByFamily', 'PackageController@getOptionsByFamily')->name('getOptionsByFamily'); + Route::get('edit/{id}', 'PackageController@edit')->name('edit'); +}); + +Route::resource('Packages', 'PackageController'); diff --git a/routes/Shop/Admin/Unities.php b/routes/Shop/Admin/Unities.php index 39855ac8..c087ac03 100644 --- a/routes/Shop/Admin/Unities.php +++ b/routes/Shop/Admin/Unities.php @@ -2,6 +2,7 @@ Route::prefix('Unities')->name('Unities.')->group(function () { Route::any('getOptionsByPackage', 'UnityController@getOptionsByPackage')->name('getOptionsByPackage'); + Route::get('edit/{id}', 'UnityController@edit')->name('edit'); }); Route::resource('Unities', 'UnityController'); diff --git a/routes/Shop/Admin/route.php b/routes/Shop/Admin/route.php index 22cea7e8..0f598a2b 100644 --- a/routes/Shop/Admin/route.php +++ b/routes/Shop/Admin/route.php @@ -13,6 +13,7 @@ Route::middleware('auth')->prefix('Admin')->namespace('Admin')->name('Admin.')-> include __DIR__ . '/Invoices.php'; include __DIR__ . '/OrderPayments.php'; include __DIR__ . '/Orders.php'; + include __DIR__ . '/Packages.php'; include __DIR__ . '/PriceGenerics.php'; include __DIR__ . '/Tags.php'; include __DIR__ . '/TagGroups.php';