Add tariff unities management
This commit is contained in:
25
app/Datatables/Shop/TariffUnitiesDataTable.php
Normal file
25
app/Datatables/Shop/TariffUnitiesDataTable.php
Normal 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(),
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
61
app/Http/Controllers/Admin/Shop/TariffUnityController.php
Normal file
61
app/Http/Controllers/Admin/Shop/TariffUnityController.php
Normal 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)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
11
resources/views/Admin/Shop/TariffUnities/create.blade.php
Normal file
11
resources/views/Admin/Shop/TariffUnities/create.blade.php
Normal 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
|
||||||
14
resources/views/Admin/Shop/TariffUnities/edit.blade.php
Normal file
14
resources/views/Admin/Shop/TariffUnities/edit.blade.php
Normal 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
|
||||||
18
resources/views/Admin/Shop/TariffUnities/form.blade.php
Normal file
18
resources/views/Admin/Shop/TariffUnities/form.blade.php
Normal 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
|
||||||
48
resources/views/Admin/Shop/TariffUnities/index.blade.php
Normal file
48
resources/views/Admin/Shop/TariffUnities/index.blade.php
Normal 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
|
||||||
16
resources/views/Admin/Shop/TariffUnities/list.blade.php
Normal file
16
resources/views/Admin/Shop/TariffUnities/list.blade.php
Normal 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
|
||||||
@@ -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>
|
||||||
36
resources/views/Admin/Shop/TariffUnities/show.blade.php
Normal file
36
resources/views/Admin/Shop/TariffUnities/show.blade.php
Normal 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
|
||||||
@@ -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');
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -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';
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user