Add tariff unities management

This commit is contained in:
Ludovic CANDELLIER
2022-01-22 19:26:35 +01:00
parent 6f04a8e7b7
commit f35650b234
15 changed files with 261 additions and 27 deletions

View File

@@ -0,0 +1,25 @@
<?php
namespace App\Datatables\Shop;
use Yajra\DataTables\Html\Column;
use App\Datatables\ParentDataTable as DataTable;
use App\Models\Shop\TariffUnity;
class TariffUnitiesDataTable extends DataTable
{
public $model_name = 'tariff_unities';
public function query(TariffUnity $model)
{
return $this->buildQuery($model);
}
protected function getColumns()
{
return [
Column::make('value')->title('Valeur'),
$this->makeColumnButtons(),
];
}
}

View File

@@ -0,0 +1,61 @@
<?php
namespace App\Http\Controllers\Admin\Shop;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Repositories\Shop\ArticleNatures;
use App\Repositories\Shop\Packages;
use App\Repositories\Shop\TariffUnities;
use App\Datatables\Shop\TariffUnitiesDataTable;
class TariffUnityController extends Controller
{
public function index(TariffUnitiesDataTable $dataTable)
{
$data['families'] = ArticleNatures::getOptions();
$data['packages'] = Packages::getOptions();
return $dataTable->render('Admin.Shop.TariffUnities.list', $data);
}
public function getOptionsByPackage(Request $request)
{
$id = $request->input('package_id');
return response()->json(TariffUnities::getOptionsByPackage($id));
}
public function create()
{
$data['packages'] = Packages::getOptions();
return view('Admin.Shop.TariffUnities.create');
}
public function store(Request $request)
{
$ret = TariffUnities::store($request->all());
return redirect()->route('Admin.Shop.TariffUnities.index');
}
public function show($id)
{
$data = TariffUnities::get($id);
return view('Admin.Shop.TariffUnities.view', $data);
}
public function edit($id)
{
$data['packages'] = Packages::getOptions();
$data['unity'] = TariffUnities::get($id)->toArray();
return view('Admin.Shop.TariffUnities.edit', $data);
}
public function destroy($id)
{
return TariffUnities::destroy($id);
}
public function update($id)
{
}
}

View File

@@ -37,6 +37,9 @@ class Shop
$menu->addTo('shop', 'Packages', [ 'route' => 'Admin.Shop.Packages.index', 'permission' => 'backend_access' ]) $menu->addTo('shop', 'Packages', [ 'route' => 'Admin.Shop.Packages.index', 'permission' => 'backend_access' ])
->activeIfRoute(['Admin.Shop.Packages.*'])->order(12); ->activeIfRoute(['Admin.Shop.Packages.*'])->order(12);
$menu->addTo('shop', 'Unités de tarifs', [ 'route' => 'Admin.Shop.TariffUnities.index', 'permission' => 'backend_access' ])
->activeIfRoute(['Admin.Shop.TariffUnities.*'])->order(13);
$menu->addTo('shop', 'Unités', [ 'route' => 'Admin.Shop.Unities.index', 'permission' => 'backend_access' ]) $menu->addTo('shop', 'Unités', [ 'route' => 'Admin.Shop.Unities.index', 'permission' => 'backend_access' ])
->activeIfRoute(['Admin.Shop.Unities.*'])->order(14); ->activeIfRoute(['Admin.Shop.Unities.*'])->order(14);
} }

View File

@@ -2,11 +2,6 @@
namespace App\Repositories\Botanic; namespace App\Repositories\Botanic;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Str;
use Yajra\DataTables\DataTables;
use Maatwebsite\Excel\Facades\Excel; use Maatwebsite\Excel\Facades\Excel;
use App\Models\Botanic\Genre; use App\Models\Botanic\Genre;
@@ -14,11 +9,6 @@ use App\Exports\Botanic\GenresExport;
class Genres class Genres
{ {
public static function getDatatable()
{
$model = Genre::orderBy('name');
return Datatables::of($model)->make(true);
}
public static function getOptions() public static function getOptions()
{ {
@@ -37,8 +27,7 @@ class Genres
public static function store($data) public static function store($data)
{ {
$id = isset($data['id']) ? $data['id'] : false; $item = ($data['id'] ?? false) ? self::update($data) : self::create($data);
$item = $id ? self::update($data, $id) : self::create($data);
return $item->id; return $item->id;
} }
@@ -49,8 +38,10 @@ class Genres
public static function update($data, $id = false) public static function update($data, $id = false)
{ {
$id = isset($data['id']) ? $data['id'] : false; $id = $id ? $id : $data['id'];
return self::get($id)->update($data); $model = self::get($id);
$model->update($data);
return $model;
} }
public static function destroy($id) public static function destroy($id)

View File

@@ -68,9 +68,7 @@ class Species
public static function store($data) public static function store($data)
{ {
$id = $data['id'] ?? false; return ($data['id'] ?? false) ? self::update($data) : self::create($data);
$specie = $id ? self::update($data, $id) : self::create($data);
return $specie;
} }
public static function create($data) public static function create($data)

View File

@@ -78,7 +78,7 @@ class Varieties
public static function store($data) public static function store($data)
{ {
return isset($data['id']) ? self::update($data) : self::create($data); return ($data['id'] ?? false) ? self::update($data) : self::create($data);
} }
public static function create($data) public static function create($data)

View File

@@ -0,0 +1,11 @@
@extends('layout.index', [
'title' => __('shop.tariff_unities.title'),
'subtitle' => __('shop.tariff_unities.add'),
'breadcrumb' => [__('shop.tariff_unities.title')]
])
@section('content')
{{ Form::open(['route' => 'Admin.Shop.TariffUnities.store', 'id' => 'tariff_unity-form', 'autocomplete' => 'off']) }}
@include('Admin.Shop.TariffUnities.form')
</form>
@endsection

View File

@@ -0,0 +1,14 @@
@extends('layout.index', [
'title' => __('shop.tariff_unities.title'),
'subtitle' => __('shop.tariff_unities.edit'),
'breadcrumb' => [__('shop.tariff_unities.title'), __('shop.tariff_unities.edit')]
])
@section('content')
{{ Form::open(['route' => 'Admin.Shop.TariffUnities.store', 'id' => 'tariff_unity-form', 'autocomplete' => 'off']) }}
<input type="hidden" name="id" value="{{ $tariff_unity['id'] ?? null }}">
@include('Admin.Shop.TariffUnities.form')
</form>
@endsection

View File

@@ -0,0 +1,18 @@
<div class="row">
<div class="col-md-8">
{{ Form::label('name', 'Nom') }}
@include('components.form.input', ['name' => 'value', 'value' => $tariff_unity['value'] ?? null, 'required' => true])
</div>
</div>
@include('components.save')
@include('load.form.save')
@push('js')
<script>
$(function() {
initSaveForm('#tariff_unity-form');
});
</script>
@endpush

View File

@@ -0,0 +1,48 @@
@extends('layout.index', [
'title' => __('shop.tariff_unities.title'),
'subtitle' => __('shop.tariff_unities.list'),
'breadcrumb' => [__('shop.tariff_unities.title')]
])
@include('boilerplate::load.select2')
@section('content')
<nav>
<div class="nav nav-tabs">
<a href="#families" data-toggle="tab" class="nav-item nav-link" role="tab" aria-controls="families" aria-selected="true">
{{ __('shop.tariff_unities.title') }}
</a>
<a href="#values" data-toggle="tab" class="nav-item nav-link active" role="tab" aria-controls="values" aria-selected="false">
{{ __('shop.tariff_unities.title') }}
</a>
</div>
</nav>
<div class="tab-content mb-0">
<div class="tab-pane fade" id="families">
@section('content')
@include('components.datatable', ['route' => route('Admin.Shop.TariffUnities.index'), 'model' => 'ArticleAttributefamilies'])
@endsection
</div>
<div class="tab-pane fade show active" id="values">
@section('content')
@component('components.card')
@include('components.datatable', ['route' => route('Admin.Shop.ArticleAttributeValues.index'), 'model' => 'TariffUnities', 'with_filters' => true])
@endcomponent
@component('components.layout.modal', ['title' => 'Filtres', 'id' => 'modal-filters'])
@include('Admin.Shop.TariffUnities.partials.filters')
@endcomponent
@endsection
</div>
</div>
@endsection
@push('scripts')
@include('components.js.datatable', ['route' => route('Admin.Shop.TariffUnities.index'), 'model' => 'TariffUnities'])
@endpush

View File

@@ -0,0 +1,16 @@
@extends('layout.index', [
'title' => __('shop.tariff_unities.title'),
'subtitle' => __('shop.tariff_unities.list'),
'breadcrumb' => [__('shop.tariff_unities.title')]
])
@section('content')
@component('components.card')
@include('components.datatable', ['route' => route('Admin.Shop.TariffUnities.index'), 'model' => 'tariff_unities','with_filters' => true])
@endcomponent
@component('components.layout.modal', ['title' => 'Filtres', 'id' => 'modal-tariff_unities-filters'])
@include('Admin.Shop.TariffUnities.partials.filters')
@endcomponent
@endsection

View File

@@ -0,0 +1,14 @@
<form id="tariff_unities-filters">
<div class="row">
<label class="col-4">Familles d'articles</label>
<div class="col-8">
@include('components.form.select', ['name' => 'family_id', 'list' => (isset($families)) ? $families : [], 'value' => (isset($filters['family_id'])) ? $filters['family_id'] : null, 'class' => 'form-control-sm select2', 'with_empty' => ' '])
</div>
</div>
<div class="row mt-3">
<label class="col-4">Packages</label>
<div class="col-8">
@include('components.form.select', ['name' => 'package_id', 'list' => (isset($packages)) ? $packages : [], 'value' => (isset($filters['package_id'])) ? $filters['package_id'] : null, 'class' => 'form-control-sm select2', 'with_empty' => ' '])
</div>
</div>
</form>

View File

@@ -0,0 +1,36 @@
@extends('layout.index', [
'title' => __('products.title'),
'subtitle' => __('products.title'),
'breadcrumb' => [__('products.title')]
])
@section('content')
<form action="{{ route('Shop.Products') }}" method="GET">
<div class="row">
<div class="col-md-offset-2 col-md-8">
<div class="box box-info">
<div class="box-body">
<div class="col-md-6">
<h3>{{ name }}</h3>
<h4>
{{ $product.section.name }}<br>
</h4>
</div>
<div class="col-md-6 text-right">
<h2>{{ $prix_total }} </h2>
<h4>{{ $residence['type_produit']['name'] }}</h4>
</div>
<div class="col-md-12">
@include('Hestimmo.modules.Lot.partials.carousel')
</div>
</div>
</div>
</div>
</div>
</form>
@endsection

View File

@@ -1,12 +1,10 @@
<?php <?php
Route::prefix('ArticleNatures')->name('ArticleNatures.')->group(function () { Route::prefix('TariffUnities')->name('TariffUnities.')->group(function () {
Route::get('', 'ArticleNatureController@index')->name('index'); Route::get('', 'TariffUnityController@index')->name('index');
Route::get('create', 'ArticleNatureController@create')->name('create'); Route::get('create', 'TariffUnityController@create')->name('create');
Route::delete('destroy/{id?}', 'ArticleNatureController@destroy')->name('destroy'); Route::delete('destroy/{id?}', 'TariffUnityController@destroy')->name('destroy');
Route::post('update', 'ArticleNatureController@update')->name('update'); Route::post('update', 'TariffUnityController@update')->name('update');
Route::post('store', 'ArticleNatureController@store')->name('store'); Route::post('store', 'TariffUnityController@store')->name('store');
Route::get('edit/{id}', 'ArticleNatureController@edit')->name('edit'); Route::get('edit/{id}', 'TariffUnityController@edit')->name('edit');
}); });

View File

@@ -19,6 +19,7 @@ Route::middleware('auth')->prefix('Shop')->namespace('Shop')->name('Shop.')->gro
include __DIR__ . '/Tags.php'; include __DIR__ . '/Tags.php';
include __DIR__ . '/TagGroups.php'; include __DIR__ . '/TagGroups.php';
include __DIR__ . '/Tariffs.php'; include __DIR__ . '/Tariffs.php';
include __DIR__ . '/TariffUnities.php';
include __DIR__ . '/Unities.php'; include __DIR__ . '/Unities.php';
include __DIR__ . '/Variations.php'; include __DIR__ . '/Variations.php';
}); });