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 @@
+
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')
+
+
+@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']) }}
-
-
-
@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]) }}
-
-
-
-
- @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')