Fix on merchandises

This commit is contained in:
Ludovic CANDELLIER
2022-04-25 23:31:24 +02:00
parent 61a52ef330
commit 84063d2f72
7 changed files with 79 additions and 14 deletions

View File

@@ -65,6 +65,11 @@ class MerchandiseController extends Controller
return Merchandises::deleteImage($id, $index); return Merchandises::deleteImage($id, $index);
} }
public function getOptions()
{
return response()->json(['0' => ''] + Merchandises::getOptions());
}
public function exportExcel() public function exportExcel()
{ {
return Merchandises::exportExcel(); return Merchandises::exportExcel();

View File

@@ -35,7 +35,6 @@ class Categories
public static function getCategoryTreeVisibles($sale_channel_id = false) public static function getCategoryTreeVisibles($sale_channel_id = false)
{ {
// return self::getModel()->defaultOrder()->visible()->hasAvailableOffers($sale_channel_id)->get()->toTree();
return self::getModel()->defaultOrder()->hasAvailableOffersByCategoryParent($sale_channel_id)->visible()->get()->toTree(); return self::getModel()->defaultOrder()->hasAvailableOffersByCategoryParent($sale_channel_id)->visible()->get()->toTree();
} }

View File

@@ -325,7 +325,7 @@ class Articles
case 'App\Models\Botanic\Variety': case 'App\Models\Botanic\Variety':
$data['products'] = Varieties::getOptionsWithSpecie(); $data['products'] = Varieties::getOptionsWithSpecie();
break; break;
case 'App\Models\Botanic\Variety': case 'App\Models\Botanic\Specie':
$data['products'] = Species::getOptions(); $data['products'] = Species::getOptions();
break; break;
case 'App\Models\Shop\Merchandise': case 'App\Models\Shop\Merchandise':
@@ -343,7 +343,6 @@ class Articles
'App\Models\Botanic\Specie' => 'Espèces', 'App\Models\Botanic\Specie' => 'Espèces',
'App\Models\Botanic\Variety' => 'Variétés', 'App\Models\Botanic\Variety' => 'Variétés',
'App\Models\Shop\Merchandise' => 'Marchandise', 'App\Models\Shop\Merchandise' => 'Marchandise',
'App\Models\Shop\Merchandise' => 'Autres',
]; ];
return $data; return $data;
} }

View File

@@ -53,6 +53,18 @@ class Merchandises
return $item->id; return $item->id;
} }
public static function storeFull($data)
{
$images = $data['images'] ?? false;
$tags = $data['tags'] ?? false;
unset($data['images']);
unset($data['tags']);
$merchandise = self::store($data);
self::storeImages($merchandise, $images);
self::storeTags($merchandise, $tags);
return $merchandise;
}
public static function create($data) public static function create($data)
{ {
return Merchandise::create($data); return Merchandise::create($data);

View File

@@ -3,11 +3,26 @@
<div class="row mb-3"> <div class="row mb-3">
<div class="col-3"> <div class="col-3">
{{ Form::label('model', 'Familles de produit') }}<br> {{ Form::label('model', 'Familles de produit') }}<br>
@include('components.form.select', ['name' => 'product_type', 'id_name' => 'product_type', 'list' => $models_options, 'value' => $article['product_type'] ?? null, 'class' => 'select2', 'with_empty' => '', 'required' => true]) @include('components.form.select', [
'name' => 'product_type',
'id_name' => 'product_type',
'list' => $models_options,
'value' => $article['product_type'] ?? null,
'class' => 'select2',
'with_empty' => '',
'required' => true
])
</div> </div>
<div class="col-6"> <div class="col-6">
{{ Form::label('model_id', 'Produit') }}<br> {{ Form::label('model_id', 'Produit') }}<br>
@include('components.form.select', ['name' => 'product_id', 'id_name' => 'product_id', 'list' => $products ?? [], 'value' => $article['product_id'] ?? null, 'class' => 'select2', 'with_empty' => '']) @include('components.form.select', [
'name' => 'product_id',
'id_name' => 'product_id',
'list' => $products ?? [],
'value' => $article['product_id'] ?? null,
'class' => 'select2',
'with_empty' => ''
])
</div> </div>
<div class="col-3"> <div class="col-3">
{{ Form::label('ref', 'Référence') }}<br> {{ Form::label('ref', 'Référence') }}<br>
@@ -22,14 +37,27 @@
</div> </div>
<div class="col-4"> <div class="col-4">
{{ Form::label('article_nature_id', __('shop.article_natures.name')) }}<br> {{ Form::label('article_nature_id', __('shop.article_natures.name')) }}<br>
@include('components.form.select', ['name' => 'article_nature_id', 'list' => $natures_options, 'value' => $article['article_nature_id'] ?? null, 'class' => 'select2', 'with_empty' => '', 'required' => true]) @include('components.form.select', [
'name' => 'article_nature_id',
'list' => $natures_options,
'value' => $article['article_nature_id'] ?? null,
'class' => 'select2',
'with_empty' => '',
'required' => true
])
</div> </div>
</div> </div>
<div class="row mb-3"> <div class="row mb-3">
<div class="col-8"> <div class="col-8">
{{ Form::label('categories', __('shop.shelves.title')) }}<br> {{ Form::label('categories', __('shop.shelves.title')) }}<br>
@include('components.form.select', ['name' => 'categories[]', 'list' => $categories_options, 'values' => $article['categories'] ?? null, 'class' => 'select2', 'multiple' => true]) @include('components.form.select', [
'name' => 'categories[]',
'list' => $categories_options,
'values' => $article['categories'] ?? null,
'class' => 'select2',
'multiple' => true
])
</div> </div>
<div class="col-2"> <div class="col-2">
{{ Form::label('visible', 'Visible') }}<br> {{ Form::label('visible', 'Visible') }}<br>
@@ -58,7 +86,13 @@
<div class="row mb-3"> <div class="row mb-3">
<div class="col-12"> <div class="col-12">
{{ Form::label('tags', 'Tags') }}<br> {{ Form::label('tags', 'Tags') }}<br>
@include('components.form.selects.select-tree', ['name' => 'tags[]', 'list' => $tags_list, 'values' => $article['tags'] ?? null, 'class' => 'select2', 'multiple' => true]) @include('components.form.selects.select-tree', [
'name' => 'tags[]',
'list' => $tags_list,
'values' => $article['tags'] ?? null,
'class' => 'select2',
'multiple' => true
])
</div> </div>
</div> </div>
@@ -71,7 +105,12 @@
<div class="row mb-3"> <div class="row mb-3">
<div class="col-12"> <div class="col-12">
{{ Form::label('description', 'Description') }} {{ Form::label('description', 'Description') }}
@include('components.form.textarea', ['name' => 'description', 'value' => $article['description'] ?? null, 'class' => 'editor', 'required' => true]) @include('components.form.textarea', [
'name' => 'description',
'value' => $article['description'] ?? null,
'class' => 'editor',
'required' => true
])
</div> </div>
</div> </div>
@@ -80,8 +119,17 @@
<div id="product_images_inherited"> <div id="product_images_inherited">
@include('Admin.Shop.Articles.partials.product.images') @include('Admin.Shop.Articles.partials.product.images')
</div> </div>
@include('components.uploader.widget', ['load_url' => route('Admin.Shop.Articles.getImages', ['id' => $article['id'] ?? false]), 'delete_url' => route('Admin.Shop.Articles.deleteImage'), 'title' => 'Photos', 'name' => 'images' ]) @include('components.uploader.widget', [
@include('Admin.Core.Comments.partials.comments', ['model' => 'Shop.Article', 'model_id' => $article['id'] ?? false, 'comments' => $article['comments'] ?? false]) 'load_url' => route('Admin.Shop.Articles.getImages', ['id' => $article['id'] ?? false]),
'delete_url' => route('Admin.Shop.Articles.deleteImage'),
'title' => 'Photos',
'name' => 'images'
])
@include('Admin.Core.Comments.partials.comments', [
'model' => 'Shop.Article',
'model_id' => $article['id'] ?? false,
'comments' => $article['comments'] ?? false
])
</div> </div>
</div> </div>
@@ -109,9 +157,11 @@
var url = '{{ route('Admin.Botanic.Species.getSelect') }}'; var url = '{{ route('Admin.Botanic.Species.getSelect') }}';
break; break;
case 'App\\Models\\Botanic\\Variety': case 'App\\Models\\Botanic\\Variety':
default:
var url = '{{ route('Admin.Botanic.Varieties.getSelect') }}'; var url = '{{ route('Admin.Botanic.Varieties.getSelect') }}';
break; break;
case 'App\\Models\\Shop\\Merchandise':
var url = '{{ route('Admin.Shop.Merchandises.getSelect') }}';
break;
} }
loadProducts(url); loadProducts(url);
}); });

View File

@@ -6,7 +6,7 @@
@include('components.form.input', ['name' => 'name', 'value' => $category['name'] ?? null, 'required' => true]) @include('components.form.input', ['name' => 'name', 'value' => $category['name'] ?? null, 'required' => true])
</div> </div>
<div class="col-5"> <div class="col-5">
{{ Form::label('parent', 'Rubrique parente') }} {{ Form::label('parent', 'Rayon parent') }}
@include('components.form.select', [ @include('components.form.select', [
'name' => 'parent_id', 'name' => 'parent_id',
'list' => $categories ?? [], 'list' => $categories ?? [],

View File

@@ -8,7 +8,7 @@ Route::prefix('Merchandises')->name('Merchandises.')->group(function () {
Route::post('update', 'MerchandiseController@update')->name('update'); Route::post('update', 'MerchandiseController@update')->name('update');
Route::post('store', 'MerchandiseController@store')->name('store'); Route::post('store', 'MerchandiseController@store')->name('store');
Route::get('edit/{id}', 'MerchandiseController@edit')->name('edit'); Route::get('edit/{id}', 'MerchandiseController@edit')->name('edit');
Route::post('getSelect', 'MerchandiseController@getOptionsWithSpecie')->name('getSelect'); Route::post('getSelect', 'MerchandiseController@getOptions')->name('getSelect');
Route::post('deleteImage', 'MerchandiseController@deleteImage')->name('deleteImage'); Route::post('deleteImage', 'MerchandiseController@deleteImage')->name('deleteImage');
Route::any('getImages/{id?}/{can_edit?}', 'MerchandiseController@getImages')->name('getImages'); Route::any('getImages/{id?}/{can_edit?}', 'MerchandiseController@getImages')->name('getImages');