From 25b78f33803fb5e380b1a55741d97865eff34c73 Mon Sep 17 00:00:00 2001 From: ludo Date: Sat, 9 Dec 2023 23:55:50 +0100 Subject: [PATCH] change homepages to contents, add new methods to deliveries and sale_channels by customer --- ...gesDataTable.php => ContentsDataTable.php} | 8 ++-- .../Admin/Shop/ContentController.php | 44 +++++++++++++++++++ .../Admin/Shop/HomepageController.php | 44 ------------------- .../Controllers/Shop/BasketController.php | 4 ++ app/Menu/Contents.php | 4 +- app/Models/Shop/Article.php | 1 - app/Models/Shop/{Homepage.php => Content.php} | 4 +- app/Models/Shop/Customer.php | 14 +++++- app/Models/Shop/Delivery.php | 17 ++++++- app/Models/Shop/Price.php | 3 -- app/Repositories/Config.php | 6 +-- app/Repositories/Shop/Baskets.php | 1 - .../Shop/{Homepages.php => Contents.php} | 15 ++++--- app/Repositories/Shop/Customers.php | 1 + app/Repositories/Shop/Deliveries.php | 26 ++++++----- .../Admin/Shop/Contents/create.blade.php | 14 ++++++ .../views/Admin/Shop/Contents/edit.blade.php | 11 +++++ .../views/Admin/Shop/Contents/form.blade.php | 23 ++++++++++ .../views/Admin/Shop/Contents/list.blade.php | 13 ++++++ .../Admin/Shop/Homepages/create.blade.php | 10 ----- .../views/Admin/Shop/Homepages/edit.blade.php | 13 ------ .../views/Admin/Shop/Homepages/form.blade.php | 23 ---------- .../views/Admin/Shop/Homepages/list.blade.php | 10 ----- resources/views/Shop/Baskets/basket.blade.php | 5 +-- .../Baskets/partials/basketTotal.blade.php | 2 +- routes/Admin/Shop/Contents.php | 10 +++++ routes/Admin/Shop/Homepages.php | 10 ----- routes/Admin/Shop/route.php | 2 +- 28 files changed, 185 insertions(+), 153 deletions(-) rename app/Datatables/Admin/Shop/{HomepagesDataTable.php => ContentsDataTable.php} (76%) create mode 100644 app/Http/Controllers/Admin/Shop/ContentController.php delete mode 100644 app/Http/Controllers/Admin/Shop/HomepageController.php rename app/Models/Shop/{Homepage.php => Content.php} (61%) rename app/Repositories/Shop/{Homepages.php => Contents.php} (64%) create mode 100644 resources/views/Admin/Shop/Contents/create.blade.php create mode 100644 resources/views/Admin/Shop/Contents/edit.blade.php create mode 100644 resources/views/Admin/Shop/Contents/form.blade.php create mode 100644 resources/views/Admin/Shop/Contents/list.blade.php delete mode 100644 resources/views/Admin/Shop/Homepages/create.blade.php delete mode 100644 resources/views/Admin/Shop/Homepages/edit.blade.php delete mode 100644 resources/views/Admin/Shop/Homepages/form.blade.php delete mode 100644 resources/views/Admin/Shop/Homepages/list.blade.php create mode 100644 routes/Admin/Shop/Contents.php delete mode 100644 routes/Admin/Shop/Homepages.php diff --git a/app/Datatables/Admin/Shop/HomepagesDataTable.php b/app/Datatables/Admin/Shop/ContentsDataTable.php similarity index 76% rename from app/Datatables/Admin/Shop/HomepagesDataTable.php rename to app/Datatables/Admin/Shop/ContentsDataTable.php index 144e00fa..58341960 100644 --- a/app/Datatables/Admin/Shop/HomepagesDataTable.php +++ b/app/Datatables/Admin/Shop/ContentsDataTable.php @@ -3,14 +3,14 @@ namespace App\Datatables\Admin\Shop; use App\Datatables\ParentDataTable as DataTable; -use App\Models\Shop\Homepage; +use App\Models\Shop\Content; use Yajra\DataTables\Html\Column; -class HomepagesDataTable extends DataTable +class ContentsDataTable extends DataTable { - public $model_name = 'homepages'; + public $model_name = 'contents'; - public function query(Homepage $model) + public function query(Content $model) { return $this->buildQuery($model); } diff --git a/app/Http/Controllers/Admin/Shop/ContentController.php b/app/Http/Controllers/Admin/Shop/ContentController.php new file mode 100644 index 00000000..7cbef727 --- /dev/null +++ b/app/Http/Controllers/Admin/Shop/ContentController.php @@ -0,0 +1,44 @@ +render('Admin.Shop.Contents.list', $data ?? []); + } + + public function create() + { + return view('Admin.Shop.Contents.create', $data ?? []); + } + + public function store(Request $request) + { + $ret = Contents::store($request->all()); + + return redirect()->route('Admin.Shop.Contents.index'); + } + + public function show($id) + { + return view('Admin.Shop.Contents.view', $data ?? []); + } + + public function edit($id) + { + $data['homepage'] = Contents::get($id); + + return view('Admin.Shop.Contents.edit', $data); + } + + public function destroy($id) + { + return Contents::destroy($id); + } +} diff --git a/app/Http/Controllers/Admin/Shop/HomepageController.php b/app/Http/Controllers/Admin/Shop/HomepageController.php deleted file mode 100644 index e7a6df3e..00000000 --- a/app/Http/Controllers/Admin/Shop/HomepageController.php +++ /dev/null @@ -1,44 +0,0 @@ -render('Admin.Shop.Homepages.list', $data ?? []); - } - - public function create() - { - return view('Admin.Shop.Homepages.create', $data ?? []); - } - - public function store(Request $request) - { - $ret = Homepages::store($request->all()); - - return redirect()->route('Admin.Shop.Homepages.index'); - } - - public function show($id) - { - return view('Admin.Shop.Homepages.view', $data ?? []); - } - - public function edit($id) - { - $data['homepage'] = Homepages::get($id); - - return view('Admin.Shop.Homepages.edit', $data); - } - - public function destroy($id) - { - return Homepages::destroy($id); - } -} diff --git a/app/Http/Controllers/Shop/BasketController.php b/app/Http/Controllers/Shop/BasketController.php index 90f69f99..56b42b9c 100644 --- a/app/Http/Controllers/Shop/BasketController.php +++ b/app/Http/Controllers/Shop/BasketController.php @@ -5,6 +5,8 @@ namespace App\Http\Controllers\Shop; use App\Http\Controllers\Controller; use App\Repositories\Core\User\ShopCart; use App\Repositories\Shop\Baskets; +use App\Repositories\Shop\Contents; +use App\Repositories\Shop\Customers; use App\Repositories\Shop\Offers; use App\Repositories\Shop\Orders; use App\Repositories\Users; @@ -45,6 +47,8 @@ class BasketController extends Controller { $data = [ 'basket' => Baskets::getBasket(), + 'sale_channel' => Customers::getSaleChannel(), + 'header' => Contents::getBasketContent(), ]; return view('Shop.Baskets.basket', $data); diff --git a/app/Menu/Contents.php b/app/Menu/Contents.php index a4d51ac8..4fa4560d 100644 --- a/app/Menu/Contents.php +++ b/app/Menu/Contents.php @@ -13,8 +13,8 @@ class Contents ->order(6); $menu->addTo('contents', 'Contenus', [ - 'route' => 'Admin.Shop.Homepages.index', - ])->activeIfRoute(['Admin.Shop.Homepages.*'])->order(1); + 'route' => 'Admin.Shop.Contents.index', + ])->activeIfRoute(['Admin.Shop.Contents.*'])->order(1); $menu->addTo('contents', 'Template de Mails', [ 'route' => 'Admin.Core.Mail.MailTemplate.index', diff --git a/app/Models/Shop/Article.php b/app/Models/Shop/Article.php index 302bde3b..06b6f1db 100644 --- a/app/Models/Shop/Article.php +++ b/app/Models/Shop/Article.php @@ -18,7 +18,6 @@ use Kirschbaum\PowerJoins\PowerJoins; use Rinvex\Categories\Traits\Categorizable; use Rinvex\Tags\Traits\Taggable; use Spatie\MediaLibrary\HasMedia; -use Staudenmeir\EloquentHasManyDeep\HasManyDeep; use Staudenmeir\EloquentHasManyDeep\HasRelationships; use Venturecraft\Revisionable\RevisionableTrait; use Wildside\Userstamps\Userstamps; diff --git a/app/Models/Shop/Homepage.php b/app/Models/Shop/Content.php similarity index 61% rename from app/Models/Shop/Homepage.php rename to app/Models/Shop/Content.php index f0410431..d2a9d02e 100644 --- a/app/Models/Shop/Homepage.php +++ b/app/Models/Shop/Content.php @@ -4,9 +4,9 @@ namespace App\Models\Shop; use Illuminate\Database\Eloquent\Model; -class Homepage extends Model +class Content extends Model { protected $guarded = ['id']; - protected $table = 'shop_homepages'; + protected $table = 'shop_contents'; } diff --git a/app/Models/Shop/Customer.php b/app/Models/Shop/Customer.php index 1ff9ffa4..c73220d8 100644 --- a/app/Models/Shop/Customer.php +++ b/app/Models/Shop/Customer.php @@ -7,11 +7,13 @@ use App\Notifications\VerifyEmail; use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; +use Venturecraft\Revisionable\RevisionableTrait; +use Staudenmeir\EloquentHasManyDeep\HasRelationships; use Yadahan\AuthenticationLog\AuthenticationLogable; class Customer extends Authenticatable { - use AuthenticationLogable, Notifiable, SoftDeletes; + use AuthenticationLogable, HasRelationships, Notifiable, RevisionableTrait, SoftDeletes; protected $guarded = ['id']; @@ -48,7 +50,10 @@ class Customer extends Authenticatable public function deliveries() { - return $this->belongsToMany(Delivery::class, CustomerDelivery::class); + return $this->hasManyDeepFromRelations( + $this->sale_channels(), + (new SaleChannel())->deliveries()) + ->whereNull('shop_customer_sale_channels.deleted_at'); } public function sale_channels() @@ -66,6 +71,11 @@ class Customer extends Authenticatable return $this->hasMany(Order::class); } + public function scopeById($query, $id) + { + return $query->where($this->table.'.id', $id); + } + public function scopeBySaleChannel($query, $saleChannelId) { return $query->whereHas('sale_channels', function ($query) use ($saleChannelId) { diff --git a/app/Models/Shop/Delivery.php b/app/Models/Shop/Delivery.php index 30778e48..b70db943 100644 --- a/app/Models/Shop/Delivery.php +++ b/app/Models/Shop/Delivery.php @@ -4,12 +4,13 @@ namespace App\Models\Shop; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; +use Staudenmeir\EloquentHasManyDeep\HasRelationships; use Venturecraft\Revisionable\RevisionableTrait; use Wildside\Userstamps\Userstamps; class Delivery extends Model { - use RevisionableTrait, SoftDeletes, Userstamps; + use HasRelationships, RevisionableTrait, SoftDeletes, Userstamps; protected $guarded = ['id']; @@ -34,7 +35,7 @@ class Delivery extends Model public function customers() { - return $this->hasMany(Customer::class); + return $this->hasManyThrough(Customer::class, CustomerSaleChannel::class); } public function sale_channel() @@ -67,6 +68,11 @@ class Delivery extends Model return $query->where($this->table.'.at_house', 1); } + public function scopeBySaleChannels($query, $ids) + { + return $query->whereIn($this->table.'.sale_channel_id', $ids); + } + public function scopeBySaleChannel($query) { return $query->where($this->table.'.sale_channel_id', 1); @@ -81,4 +87,11 @@ class Delivery extends Model { return $query->byPublic(1); } + + public function scopeByCustomer($query, $customerId) + { + return $query->whereHas('customers', function($query) use ($customerId) { + return $query->byId($customerId); + }); + } } diff --git a/app/Models/Shop/Price.php b/app/Models/Shop/Price.php index 22d313e8..8f8e6720 100644 --- a/app/Models/Shop/Price.php +++ b/app/Models/Shop/Price.php @@ -3,12 +3,9 @@ namespace App\Models\Shop; use Illuminate\Database\Eloquent\Model; -use Staudenmeir\EloquentHasManyDeep\HasRelationships; class Price extends Model { - use HasRelationships; - protected $guarded = ['id']; protected $table = 'shop_prices'; diff --git a/app/Repositories/Config.php b/app/Repositories/Config.php index c3b91d57..0a05f585 100644 --- a/app/Repositories/Config.php +++ b/app/Repositories/Config.php @@ -3,7 +3,7 @@ namespace App\Repositories; use App\Repositories\Shop\Categories; -use App\Repositories\Shop\Homepages; +use App\Repositories\Shop\Contents; class Config { @@ -12,8 +12,8 @@ class Config return [ 'auth' => Users::getUser() ? Users::getInfo() : false, 'categories' => Categories::getTreeVisibles(), - 'footer' => Homepages::getFooter(), - 'extra_footer' => Homepages::getExtraFooter(), + 'footer' => Contents::getFooter(), + 'extra_footer' => Contents::getExtraFooter(), ]; } } diff --git a/app/Repositories/Shop/Baskets.php b/app/Repositories/Shop/Baskets.php index 84506611..03fedeac 100644 --- a/app/Repositories/Shop/Baskets.php +++ b/app/Repositories/Shop/Baskets.php @@ -111,7 +111,6 @@ class Baskets 'latin' => $offer->article->product->specie->latin ?? false, ]; } - $data['sale_channel'] = Customers::getSaleChannel(); return $data ?? false; } diff --git a/app/Repositories/Shop/Homepages.php b/app/Repositories/Shop/Contents.php similarity index 64% rename from app/Repositories/Shop/Homepages.php rename to app/Repositories/Shop/Contents.php index 768dd11e..4657a70f 100644 --- a/app/Repositories/Shop/Homepages.php +++ b/app/Repositories/Shop/Contents.php @@ -2,21 +2,21 @@ namespace App\Repositories\Shop; -use App\Models\Shop\Homepage; +use App\Models\Shop\Content; use App\Traits\Model\Basic; -class Homepages +class Contents { use Basic; public static function getLast() { - $model = Homepage::latest('id')->first(); + $model = Content::latest('id')->first(); return $model ? $model->text : ''; } - public static function getHomepage() + public static function getContent() { return self::get(1)->text ?? ''; } @@ -31,8 +31,13 @@ class Homepages return self::get(3)->text ?? ''; } + public static function getBasketContent() + { + return self::get(4)->text ?? ''; + } + public static function getModel() { - return Homepage::query(); + return Content::query(); } } diff --git a/app/Repositories/Shop/Customers.php b/app/Repositories/Shop/Customers.php index 6e9f73e5..87381898 100644 --- a/app/Repositories/Shop/Customers.php +++ b/app/Repositories/Shop/Customers.php @@ -153,6 +153,7 @@ class Customers $customer = self::get($id, ['delivery_addresses', 'invoice_addresses', 'sale_channels']); $data = $customer->toArray(); $data['sale_channels'] = $customer->sale_channels->pluck('id')->toArray(); + $data['deliveries'] = Deliveries::getBySaleChannels($data['sale_channels'])->toArray(); return $data; } diff --git a/app/Repositories/Shop/Deliveries.php b/app/Repositories/Shop/Deliveries.php index c063f621..6db89a98 100644 --- a/app/Repositories/Shop/Deliveries.php +++ b/app/Repositories/Shop/Deliveries.php @@ -3,6 +3,7 @@ namespace App\Repositories\Shop; use App\Models\Shop\Delivery; +use App\Repositories\Shop\Customers; use App\Traits\Model\Basic; class Deliveries @@ -16,6 +17,19 @@ class Deliveries ]; } + public static function getByCustomer($customerId = false) + { + $customer = Customers::get($customerId); + $saleChannels = $customer->sale_channels->pluck('id')->toArray(); + + return self::getBySaleChannels($saleChannels); + } + + public static function getBySaleChannels($saleChannels) + { + return Delivery::bySaleChannels($saleChannels)->get(); + } + public static function getSaleChannelId($deliveryId) { return $deliveryId ? Deliveries::getField($deliveryId, 'sale_channel_id') : SaleChannels::getDefaultID(); @@ -26,18 +40,6 @@ class Deliveries return Delivery::active()->atHouse()->first(); } - public static function getOptions() - { - return Delivery::orderBy('name', 'asc')->pluck('name', 'id')->toArray(); - } - - public static function getAll($relations = false) - { - $model = $relations ? Delivery::with($relations) : Delivery::query(); - - return $model->orderBy('name', 'asc')->get(); - } - public static function getAllWithSaleChannel() { return Delivery::orderBy('name', 'asc')->active()->public()->with('sale_channel')->get(); diff --git a/resources/views/Admin/Shop/Contents/create.blade.php b/resources/views/Admin/Shop/Contents/create.blade.php new file mode 100644 index 00000000..b4d1b5c2 --- /dev/null +++ b/resources/views/Admin/Shop/Contents/create.blade.php @@ -0,0 +1,14 @@ +@extends('layout.index', [ + 'title' => __('Contenus'), + 'subtitle' => __('Ajouter un contenu'), +]) + +@section('content') + {{ Form::open([ + 'route' => 'Admin.Shop.Contents.store', + 'id' => 'homepage-form', + 'autocomplete' => 'off', + ]) }} + @include('Admin.Shop.Contents.form') + +@endsection diff --git a/resources/views/Admin/Shop/Contents/edit.blade.php b/resources/views/Admin/Shop/Contents/edit.blade.php new file mode 100644 index 00000000..91a41320 --- /dev/null +++ b/resources/views/Admin/Shop/Contents/edit.blade.php @@ -0,0 +1,11 @@ +@extends('layout.index', [ + 'title' => __('Contenus'), + 'subtitle' => __('Editer un contenu'), +]) + +@section('content') + {{ Form::open(['route' => 'Admin.Shop.Contents.store', 'id' => 'content-form', 'autocomplete' => 'off']) }} + + @include('Admin.Shop.Contents.form') + +@endsection diff --git a/resources/views/Admin/Shop/Contents/form.blade.php b/resources/views/Admin/Shop/Contents/form.blade.php new file mode 100644 index 00000000..6082db9a --- /dev/null +++ b/resources/views/Admin/Shop/Contents/form.blade.php @@ -0,0 +1,23 @@ +
+
+ @include('components.form.editor', [ + 'name' => 'text', + 'value' => $content['text'] ?? '', + 'rows' => 10, + ]) +
+
+ + + +@include('load.form.save') +@include('load.form.editor') + +@push('js') + +@endpush diff --git a/resources/views/Admin/Shop/Contents/list.blade.php b/resources/views/Admin/Shop/Contents/list.blade.php new file mode 100644 index 00000000..d06e96a5 --- /dev/null +++ b/resources/views/Admin/Shop/Contents/list.blade.php @@ -0,0 +1,13 @@ +@extends('layout.index', [ + 'title' => __('Contenus'), + 'subtitle' => __('Liste des contenus'), +]) + +@section('content') + + @include('components.datatable', [ + 'route' => route('Admin.Shop.Contents.index'), + 'model' => 'contents', + ]) + +@endsection diff --git a/resources/views/Admin/Shop/Homepages/create.blade.php b/resources/views/Admin/Shop/Homepages/create.blade.php deleted file mode 100644 index 3d594b6f..00000000 --- a/resources/views/Admin/Shop/Homepages/create.blade.php +++ /dev/null @@ -1,10 +0,0 @@ -@extends('layout.index', [ - 'title' => __('Contenus'), - 'subtitle' => __('Ajouter un contenu'), -]) - -@section('content') - {{ Form::open(['route' => 'Admin.Shop.Homepages.store', 'id' => 'homepage-form', 'autocomplete' => 'off']) }} - @include('Admin.Shop.Homepages.form') - -@endsection diff --git a/resources/views/Admin/Shop/Homepages/edit.blade.php b/resources/views/Admin/Shop/Homepages/edit.blade.php deleted file mode 100644 index 2bb32b6f..00000000 --- a/resources/views/Admin/Shop/Homepages/edit.blade.php +++ /dev/null @@ -1,13 +0,0 @@ -@extends('layout.index', [ - 'title' => __('Contenus'), - 'subtitle' => __('Editer un contenu'), -]) - -@section('content') - - {{ Form::open(['route' => 'Admin.Shop.Homepages.store', 'id' => 'homepage-form', 'autocomplete' => 'off']) }} - - @include('Admin.Shop.Homepages.form') - - -@endsection diff --git a/resources/views/Admin/Shop/Homepages/form.blade.php b/resources/views/Admin/Shop/Homepages/form.blade.php deleted file mode 100644 index fd1cb15d..00000000 --- a/resources/views/Admin/Shop/Homepages/form.blade.php +++ /dev/null @@ -1,23 +0,0 @@ -
-
- @include('components.form.editor', [ - 'name' => 'text', - 'value' => $homepage['text'] ?? '', - 'rows' => 10, - ]) -
-
- -@include('components.save') - -@include('load.form.save') -@include('load.form.editor') - -@push('js') - -@endpush \ No newline at end of file diff --git a/resources/views/Admin/Shop/Homepages/list.blade.php b/resources/views/Admin/Shop/Homepages/list.blade.php deleted file mode 100644 index 31f97a42..00000000 --- a/resources/views/Admin/Shop/Homepages/list.blade.php +++ /dev/null @@ -1,10 +0,0 @@ -@extends('layout.index', [ - 'title' => __('Contenus'), - 'subtitle' => __('Liste des contenus'), -]) - -@section('content') - @component('components.card') - @include('components.datatable', ['route' => route('Admin.Shop.Homepages.index'), 'model' => 'homepages']) - @endcomponent -@endsection diff --git a/resources/views/Shop/Baskets/basket.blade.php b/resources/views/Shop/Baskets/basket.blade.php index e2ea76a2..702e55dd 100644 --- a/resources/views/Shop/Baskets/basket.blade.php +++ b/resources/views/Shop/Baskets/basket.blade.php @@ -11,10 +11,7 @@

Panier

- Livraison à domicile ...
- Commande en ligne et livraison par voie postale. Attention certains produits ne sont pas disponibles - en livraison. - Les sachets disponibles en lignes sont disponibles à la livraison et uniquement quelques plants. + {!! $header ?? '' !!}
@foreach ($basket as $nature => $items) diff --git a/resources/views/Shop/Baskets/partials/basketTotal.blade.php b/resources/views/Shop/Baskets/partials/basketTotal.blade.php index d2a3de91..3d24e1bc 100644 --- a/resources/views/Shop/Baskets/partials/basketTotal.blade.php +++ b/resources/views/Shop/Baskets/partials/basketTotal.blade.php @@ -4,7 +4,7 @@
- {{ $basket['sale_channel']['name'] ?? null }} + {{ $sale_channel['name'] ?? null }}
diff --git a/routes/Admin/Shop/Contents.php b/routes/Admin/Shop/Contents.php new file mode 100644 index 00000000..fc271fcc --- /dev/null +++ b/routes/Admin/Shop/Contents.php @@ -0,0 +1,10 @@ +name('Contents.')->group(function () { + Route::get('', 'ContentController@index')->name('index'); + Route::get('create', 'ContentController@create')->name('create'); + Route::delete('destroy/{id?}', 'ContentController@destroy')->name('destroy'); + Route::post('update', 'ContentController@update')->name('update'); + Route::post('store', 'ContentController@store')->name('store'); + Route::get('edit/{id}', 'ContentController@edit')->name('edit'); +}); diff --git a/routes/Admin/Shop/Homepages.php b/routes/Admin/Shop/Homepages.php deleted file mode 100644 index 82ac4b03..00000000 --- a/routes/Admin/Shop/Homepages.php +++ /dev/null @@ -1,10 +0,0 @@ -name('Homepages.')->group(function () { - Route::get('', 'HomepageController@index')->name('index'); - Route::get('create', 'HomepageController@create')->name('create'); - Route::delete('destroy/{id?}', 'HomepageController@destroy')->name('destroy'); - Route::post('update', 'HomepageController@update')->name('update'); - Route::post('store', 'HomepageController@store')->name('store'); - Route::get('edit/{id}', 'HomepageController@edit')->name('edit'); -}); diff --git a/routes/Admin/Shop/route.php b/routes/Admin/Shop/route.php index 9bc89038..8770d1d2 100644 --- a/routes/Admin/Shop/route.php +++ b/routes/Admin/Shop/route.php @@ -5,13 +5,13 @@ Route::middleware('auth')->prefix('Shop')->namespace('Shop')->name('Shop.')->gro include_once __DIR__.'/ArticleNatures.php'; include_once __DIR__.'/Articles.php'; include_once __DIR__.'/Categories.php'; + include_once __DIR__.'/Contents.php'; include_once __DIR__.'/Customers.php'; include_once __DIR__.'/CustomerAddresses.php'; include_once __DIR__.'/Deliveries.php'; include_once __DIR__.'/DeliveryPackages.php'; include_once __DIR__.'/DeliveryTypes.php'; include_once __DIR__.'/DeliveryTypeCalculations.php'; - include_once __DIR__.'/Homepages.php'; include_once __DIR__.'/InvoiceItems.php'; include_once __DIR__.'/InvoicePayments.php'; include_once __DIR__.'/Invoices.php';