diff --git a/app/DataTables/Shop/ArticlePriceGenericsDataTable.php b/app/DataTables/Shop/ArticlePriceGenericsDataTable.php
new file mode 100644
index 00000000..1737d603
--- /dev/null
+++ b/app/DataTables/Shop/ArticlePriceGenericsDataTable.php
@@ -0,0 +1,30 @@
+title('Nom'),
+ Column::make('price')->title('Prix HT')->class('text-right'),
+ Column::make('price_taxed')->title('Prix TTC')->class('text-right'),
+ Column::make('article_prices_count')->title('Nb de tarifs')->class('text-right'),
+ self::makeColumnButtons(),
+ ];
+ }
+
+}
diff --git a/app/DataTables/Shop/ArticlePricesDataTable.php b/app/DataTables/Shop/ArticlePricesDataTable.php
deleted file mode 100644
index e15ea059..00000000
--- a/app/DataTables/Shop/ArticlePricesDataTable.php
+++ /dev/null
@@ -1,27 +0,0 @@
-render('Shop.Admin.ArticlePriceGenerics.list');
+ }
+
+ public function getDatatable(Request $request)
+ {
+ return ArticlePriceGenerics::getTables($request->all());
+ }
+
+ public function create()
+ {
+ $data['taxes'] = Taxes::getOptions();
+ return view('Shop.Admin.ArticlePriceGenerics.create',$data);
+ }
+
+ public function store(Request $request)
+ {
+ $ret = ArticlePriceGenerics::store($request->all());
+ return redirect()->route('Shop.Admin.ArticlePriceGenerics.index');
+ }
+
+ public function show($id)
+ {
+ $data = ArticlePriceGenerics::get($id);
+ return view('Shop.Admin.ArticlePriceGenerics.view', $data);
+ }
+
+ public function edit($id)
+ {
+ $data['generic'] = ArticlePriceGenerics::get($id);
+ $data['taxes'] = Taxes::getOptions();
+ return view('Shop.Admin.ArticlePriceGenerics.edit', $data);
+ }
+
+ public function update(Request $request)
+ {
+ //
+ }
+
+ public function destroy($id)
+ {
+ return ArticlePriceGenerics::destroy($id);
+ }
+}
diff --git a/app/Menu/Shop.php b/app/Menu/Shop.php
index 8dd16c83..4ccec09e 100644
--- a/app/Menu/Shop.php
+++ b/app/Menu/Shop.php
@@ -33,6 +33,8 @@ class Shop
->activeIfRoute(['Shop.Admin.ArticleAttributeValues.*'])->order(8);
$menu->addTo('shop', 'Stock', [ 'route' => 'Shop.Admin.ArticleAttributeValues.index', 'permission' => 'backend_access' ])
->activeIfRoute(['Shop.Admin.ArticleAttributeValues.*'])->order(9);
+ $menu->addTo('shop', 'Prix génériques', [ 'route' => 'Shop.Admin.ArticlePriceGenerics.index', 'permission' => 'backend_access' ])
+ ->activeIfRoute(['Shop.Admin.ArticlePriceGenerics.*'])->order(10);
}
diff --git a/app/Models/Shop/ArticlePriceGeneric.php b/app/Models/Shop/ArticlePriceGeneric.php
new file mode 100644
index 00000000..8cce8ae2
--- /dev/null
+++ b/app/Models/Shop/ArticlePriceGeneric.php
@@ -0,0 +1,20 @@
+hasMany('App\Models\Shop\ArticlePrice');
+ }
+
+}
\ No newline at end of file
diff --git a/app/Repositories/Shop/ArticlePriceGenerics.php b/app/Repositories/Shop/ArticlePriceGenerics.php
new file mode 100644
index 00000000..fec62d3b
--- /dev/null
+++ b/app/Repositories/Shop/ArticlePriceGenerics.php
@@ -0,0 +1,67 @@
+get();
+ }
+
+ public static function getByArticleWithAttribute($id)
+ {
+ return ArticlePriceGeneric::with('article_attribute.attribute_value')->byArticle($id)->get();
+ }
+
+ public static function getDatatable()
+ {
+ $model = ArticlePriceGeneric::orderBy('name');
+ return Datatables::of($model)->make(true);
+ }
+
+ public static function getAll()
+ {
+ return ArticlePriceGeneric::orderBy('name','asc')->get();
+ }
+
+ public static function get($id)
+ {
+ return ArticlePriceGeneric::find($id);
+ }
+
+ public static function store($data)
+ {
+ $id = isset($data['id']) ? $data['id'] : false;
+ $price = $id ? self::update($data) : self::create($data);
+ return $price->id;
+ }
+
+ public static function create($data)
+ {
+ return ArticlePriceGeneric::create($data);
+ }
+
+ public static function update($data, $id = false)
+ {
+ $id = isset($data['id']) ? $data['id'] : false;
+ $article = ArticlePriceGeneric::find($id);
+ $article->update($data);
+ return $article;
+ }
+
+ public static function destroy($id)
+ {
+ return ArticlePriceGeneric::destroy($id);
+ }
+
+}
diff --git a/resources/views/Shop/Admin/ArticlePriceGenerics/create.blade.php b/resources/views/Shop/Admin/ArticlePriceGenerics/create.blade.php
new file mode 100644
index 00000000..acc6f802
--- /dev/null
+++ b/resources/views/Shop/Admin/ArticlePriceGenerics/create.blade.php
@@ -0,0 +1,28 @@
+@extends('layout.index', [
+ 'title' => __('article_price_generics.title'),
+ 'subtitle' => __('article_price_generics.create.title'),
+ 'breadcrumb' => [__('article_price_generics.title'), __('article_price_generics.create.title')]
+])
+
+@include('boilerplate::load.fileinput')
+
+@section('content')
+
+ {{ Form::open(['route' => 'Shop.Admin.ArticlePriceGenerics.store', 'id' => 'article-price-generic-form', 'autocomplete' => 'off', 'files' => true]) }}
+
+
+
+ @include('Shop.Admin.ArticlePriceGenerics.form')
+
+
+@endsection
diff --git a/resources/views/Shop/Admin/ArticlePriceGenerics/edit.blade.php b/resources/views/Shop/Admin/ArticlePriceGenerics/edit.blade.php
new file mode 100644
index 00000000..5536a285
--- /dev/null
+++ b/resources/views/Shop/Admin/ArticlePriceGenerics/edit.blade.php
@@ -0,0 +1,14 @@
+@extends('layout.index', [
+ 'title' => __('article_price_generics.title'),
+ 'subtitle' => __('article_price_generics.edit.title'),
+ 'breadcrumb' => [__('article_price_generics.title'), __('article_price_generics.edit.title')]
+])
+
+@section('content')
+
+ {{ Form::open(['route' => 'Shop.Admin.ArticlePriceGenerics.update', 'id' => 'article-price-generic-form', 'autocomplete' => 'off', 'files' => true]) }}
+
+ @include('Shop.Admin.ArticlePriceGenerics.form')
+
+
+@endsection
diff --git a/resources/views/Shop/Admin/ArticlePriceGenerics/form.blade.php b/resources/views/Shop/Admin/ArticlePriceGenerics/form.blade.php
new file mode 100644
index 00000000..5b9efdf6
--- /dev/null
+++ b/resources/views/Shop/Admin/ArticlePriceGenerics/form.blade.php
@@ -0,0 +1,64 @@
+
+
+
+ {{ Form::label('name', 'Nom') }}
+ @include('components.input', ['name' => 'name', 'value' => $generic['name'] ?? null, 'required' => true])
+
+
+
+
+
+
+
+ {{ Form::label('tax_id', 'TVA') }}
+ @include('components.select', ['name' => 'tax_id', 'value' => $generic['tax_id'] ?? null, 'list' => $taxes ?? null, 'class' => 'tva', 'required' => true])
+
+
+ {{ Form::label('price', 'Prix HT') }}
+ @include('components.input', ['name' => 'price', 'value' => $generic['price'] ?? null, 'class' => 'price', 'required' => true])
+
+
+ {{ Form::label('price_taxed', 'Prix TTC') }}
+ @include('components.input', ['name' => 'price_taxed', 'value' => $generic['price_taxed'] ?? null, 'class' => 'price_taxed', 'required' => true])
+
+
+
+
+
+
+
+
+
+ @include('components.button-save')
+
+
+
+
+@push('js')
+
+@endpush
\ No newline at end of file
diff --git a/resources/views/Shop/Admin/ArticlePriceGenerics/list.blade.php b/resources/views/Shop/Admin/ArticlePriceGenerics/list.blade.php
new file mode 100644
index 00000000..2d672283
--- /dev/null
+++ b/resources/views/Shop/Admin/ArticlePriceGenerics/list.blade.php
@@ -0,0 +1,8 @@
+@extends('layout.index', [
+ 'title' => __('article_price_generics.title'),
+ 'subtitle' => __('article_price_generics.list.title'),
+ 'breadcrumb' => [__('article_price_generics.title')]
+])
+@section('content')
+ @include('components.datatable', ['route' => route('Shop.Admin.ArticlePriceGenerics.index'), 'model' => 'article-price-generics'])
+@endsection
diff --git a/resources/views/Shop/Admin/ArticlePriceGenerics/show.blade.php b/resources/views/Shop/Admin/ArticlePriceGenerics/show.blade.php
new file mode 100644
index 00000000..1e1cd729
--- /dev/null
+++ b/resources/views/Shop/Admin/ArticlePriceGenerics/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/Articles/form.blade.php b/resources/views/Shop/Admin/Articles/form.blade.php
index 5462f88a..64380c3d 100644
--- a/resources/views/Shop/Admin/Articles/form.blade.php
+++ b/resources/views/Shop/Admin/Articles/form.blade.php
@@ -27,7 +27,7 @@
- Quantités
+ Stock
@if(isset($stock_count)){{ $stock_count }}@endif
diff --git a/resources/views/Shop/Admin/Articles/partials/prices/block_attribute.blade.php b/resources/views/Shop/Admin/Articles/partials/prices/block_attribute.blade.php
index a45dfd95..6de41053 100644
--- a/resources/views/Shop/Admin/Articles/partials/prices/block_attribute.blade.php
+++ b/resources/views/Shop/Admin/Articles/partials/prices/block_attribute.blade.php
@@ -10,7 +10,7 @@
'value' => $attribute['attribute_value']['article_attribute_family_id'] ?? null,
'list' => $attribute_families_options,
'required' => true,
- 'class' => 'select2 form-control form-control-sm attributes-family'
+ 'class' => 'select2 form-control-sm attributes-family'
])
@@ -21,7 +21,7 @@
'value' => $attribute['article_attribute_value_id'] ?? null,
'list' => $attribute_values ?? null,
'required' => true,
- 'class' => 'select2 form-control form-control-sm attributes-value',
+ 'class' => 'select2 form-control-sm attributes-value',
'meta' => (isset($attribute['article_attribute_value_id'])) ? 'data-id="' . $attribute['article_attribute_value_id'] . '"' : ''
])
diff --git a/resources/views/Shop/Admin/Articles/partials/prices/block_attribute_new.blade.php b/resources/views/Shop/Admin/Articles/partials/prices/block_attribute_new.blade.php
index b951dba0..9d22b6cb 100644
--- a/resources/views/Shop/Admin/Articles/partials/prices/block_attribute_new.blade.php
+++ b/resources/views/Shop/Admin/Articles/partials/prices/block_attribute_new.blade.php
@@ -7,7 +7,7 @@
'value' => $attribute_value['article_attribute_family_id'] ?? null,
'list' => $attribute_families_options,
'required' => true,
- 'class' => 'select2 form-control form-control-sm attributes-family'
+ 'class' => 'select2 form-control-sm attributes-family'
])
@@ -18,7 +18,7 @@
'value' => $attribute_value['id'] ?? null,
'list' => $attribute_values ?? null,
'required' => true,
- 'class' => 'select2 form-control form-control-sm attributes-value'
+ 'class' => 'select2 form-control-sm attributes-value'
])
diff --git a/resources/views/Shop/Admin/Articles/partials/prices/block_price.blade.php b/resources/views/Shop/Admin/Articles/partials/prices/block_price.blade.php
index 20c5fa2d..c1402fae 100644
--- a/resources/views/Shop/Admin/Articles/partials/prices/block_price.blade.php
+++ b/resources/views/Shop/Admin/Articles/partials/prices/block_price.blade.php
@@ -9,7 +9,7 @@
{{ Form::label('quantity', 'Qté.') }}
- @include('components.number', ['name' => "prices[$key][quantity]", 'value' => (isset($price['quantity'])) ? $price['quantity'] : 1, 'required' => true, 'class' => 'form-control-sm'])
+ @include('components.number', ['name' => "prices[$key][quantity]", 'value' => $price['quantity'] ?? 1, 'required' => true, 'class' => 'form-control-sm'])
@@ -18,24 +18,24 @@
-
+
{{ Form::label('tax_id', 'TVA') }}
- @include('components.select', ['name' => "prices[$key][tax_id]", 'value' => (isset($price['tax_id'])) ? $price['tax_id'] : null, 'list' => isset($taxes_options) ? $taxes_options : null, 'required' => true, 'class' => 'form-control form-control-sm'])
+ @include('components.select', ['name' => "prices[$key][tax_id]", 'value' => $price['tax_id'] ?? null, 'list' => $taxes_options ?? null, 'required' => true, 'class' => 'form-control form-control-sm'])
-
+
{{ Form::label('generic_price_id', 'Générique') }}
- @include('components.select', ['name' => "prices[$key][generic_price_id]", 'value' => (isset($price['generic_price_id'])) ? $price['generic_price_id'] : null, 'list' => ['Tarif barquette','Tarif semences'], 'required' => false, 'class' => 'form-control-sm'])
+ @include('components.select', ['name' => "prices[$key][article_generic_price_id]", 'value' => $price['article_generic_price_id'] ?? null, 'list' => ['Tarif barquette','Tarif semences'], 'required' => false, 'class' => 'form-control-sm'])
{{ Form::label('price', 'Prix HT') }}
- @include('components.money', ['name' => "prices[$key][price]", 'value' => (isset($price['price'])) ? $price['price'] : 0, 'required' => true, 'class' => 'form-control-sm price-item'])
+ @include('components.money', ['name' => "prices[$key][price]", 'value' => $price['price'] ?? 0, 'required' => true, 'class' => 'form-control-sm price-item'])
{{ Form::label('price_taxed', 'Prix TTC') }}
- @include('components.money', ['name' => "prices[$key][price_taxed]", 'value' => (isset($price['price_taxed'])) ? $price['price_taxed'] : 0, 'required' => true, 'class' => 'form-control-sm price-taxed-item'])
+ @include('components.money', ['name' => "prices[$key][price_taxed]", 'value' => $price['price_taxed'] ?? 0, 'required' => true, 'class' => 'form-control-sm price-taxed-item'])
diff --git a/resources/views/Shop/Admin/Articles/partials/prices/block_price_new.blade.php b/resources/views/Shop/Admin/Articles/partials/prices/block_price_new.blade.php
index 3a2a6edb..b8b58ac8 100644
--- a/resources/views/Shop/Admin/Articles/partials/prices/block_price_new.blade.php
+++ b/resources/views/Shop/Admin/Articles/partials/prices/block_price_new.blade.php
@@ -9,26 +9,34 @@
{{ Form::label('quantity', 'Quantité') }}
- @include('components.number', ['name' => 'prices[0][quantity]', 'value' => (isset($quantity)) ? $quantity : 1, 'required' => true, 'class' => 'form-control-sm'])
+ @include('components.number', ['name' => 'prices[0][quantity]', 'value' => $quantity ?? 1, 'required' => true, 'class' => 'form-control-sm'])
-
+
@include('Shop.Admin.Articles.partials.prices.block_attribute_new')
-
- {{ Form::label('tax_id', 'TVA') }}
- @include('components.select', ['name' => 'prices[0][tax_id]', 'value' => (isset($tax_id)) ? $tax_id : null, 'list' => isset($taxes_options) ? $taxes_options : null, 'required' => true, 'class' => 'form-control form-control-sm'])
-
+
-
- {{ Form::label('price', 'Prix HT') }}
- @include('components.money', ['name' => 'prices[0][price]', 'value' => (isset($price)) ? $price : 0, 'required' => true, 'class' => 'form-control-sm price-item'])
-
+
+ {{ Form::label('tax_id', 'TVA') }}
+ @include('components.select', ['name' => 'prices[0][tax_id]', 'value' => $tax_id ?? null, 'list' => $taxes_options ?? null, 'required' => true, 'class' => 'form-control form-control-sm'])
+
-
- {{ Form::label('price_taxed', 'Prix TTC') }}
- @include('components.money', ['name' => 'prices[0][price_taxed]', 'value' => (isset($price_taxed)) ? $price_taxed : 0, 'required' => true, 'class' => 'form-control-sm price-taxed-item'])
+
+ {{ Form::label('generic_price_id', 'Générique') }}
+ @include('components.select', ['name' => "prices[0][article_generic_price_id]", 'value' => $price['article_generic_price_id'] ?? null, 'list' => ['Tarif barquette','Tarif semences'], 'required' => false, 'class' => '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_taxed', 'Prix TTC') }}
+ @include('components.money', ['name' => 'prices[0][price_taxed]', 'value' => $price_taxed ?? 0, 'required' => true, 'class' => 'form-control-sm price-taxed-item'])
+
diff --git a/routes/Shop/Admin/ArticlePriceGenerics.php b/routes/Shop/Admin/ArticlePriceGenerics.php
new file mode 100644
index 00000000..d64d0c0e
--- /dev/null
+++ b/routes/Shop/Admin/ArticlePriceGenerics.php
@@ -0,0 +1,12 @@
+name('ArticlePriceGenerics.')->group(function () {
+ Route::get('', 'ArticlePriceGenericController@index')->name('index');
+ Route::get('create', 'ArticlePriceGenericController@create')->name('create');
+ Route::delete('destroy', 'ArticlePriceGenericController@destroy')->name('destroy');
+ Route::post('update', 'ArticlePriceGenericController@update')->name('update');
+ Route::post('store', 'ArticlePriceGenericController@store')->name('store');
+ Route::get('edit/{id}', 'ArticlePriceGenericController@edit')->name('edit');
+
+});
+
diff --git a/routes/Shop/Admin/route.php b/routes/Shop/Admin/route.php
index cb6b5bf8..afc95212 100644
--- a/routes/Shop/Admin/route.php
+++ b/routes/Shop/Admin/route.php
@@ -6,6 +6,7 @@ Route::middleware('auth')->prefix('Admin')->namespace('Admin')->name('Admin.')->
include( __DIR__ . '/ArticleAttributeValues.php');
include( __DIR__ . '/ArticleAttributes.php');
include( __DIR__ . '/ArticleFamilies.php');
+ include( __DIR__ . '/ArticlePriceGenerics.php');
include( __DIR__ . '/ArticlePrices.php');
include( __DIR__ . '/Articles.php');
include( __DIR__ . '/Categories.php');