Refactoring, change menu, add many features

This commit is contained in:
Ludovic CANDELLIER
2021-10-30 02:22:51 +02:00
parent fae7b7897f
commit e356b3fcda
158 changed files with 1114 additions and 412 deletions

View File

@@ -3,22 +3,15 @@
namespace App\Models\Shop;
use Illuminate\Database\Eloquent\Model;
use Spatie\MediaLibrary\HasMedia\HasMedia;
use Spatie\MediaLibrary\HasMedia\HasMediaTrait;
// use Rinvex\Categories\Traits\Categorizable;
use Rinvex\Tags\Traits\Taggable;
// use Conner\Tagging\Taggable;
use Fico7489\Laravel\EloquentJoin\Traits\EloquentJoin;
class Category extends Model
class Basket extends Model
{
use Taggable, HasMediaTrait;
protected $guarded = ['id'];
protected $table = 'shop_categories';
protected $table = 'shop_baskets';
public function Articles()
public function Offer()
{
return $this->morphedByMany('App\Models\Shop\Article', 'categorizable');
return $this->belongsTo('App\Models\Shop\Offer');
}
}

View File

@@ -14,6 +14,11 @@ class Customer extends Model
return $this->hasMany(Invoice::class);
}
public function Deliveries()
{
return $this->hasMany(Delivery::class);
}
public function Orders()
{
return $this->hasMany(Order::class);

View File

@@ -0,0 +1,57 @@
<?php
namespace App\Models\Shop;
use Illuminate\Database\Eloquent\Model;
class Delivery extends Model
{
protected $guarded = ['id'];
protected $table = 'shop_deliveries';
public function Customers()
{
return $this->hasMany(Customer::class);
}
public function SaleChannel()
{
return $this->belongsTo(SaleChannel::class);
}
public function scopeActive($query)
{
return $this->byActive(1);
}
public function scopeByActive($query, $active)
{
return $query->where($this->table . '.active', $active);
}
public function scopeByPublic($query, $is_public)
{
return $query->where($this->table . '.is_public', $is_public);
}
public function scopeAtHouse($query)
{
return $query->where($this->table . '.at_house', 1);
}
public function scopeInactive($query)
{
return $this->byActive(0);
}
public function scopeManaged($query)
{
return $this->byPublic(0);
}
public function scopePublic($query)
{
return $this->byPublic(1);
}
}

View File

@@ -8,17 +8,11 @@ class Invoice extends Model
{
protected $guarded = ['id'];
/**
* @return \Illuminate\Database\Eloquent\Relations\HasMany
*/
public function InvoiceItems()
{
return $this->hasMany(InvoiceItem::class);
}
/**
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo
*/
public function Customer()
{
return $this->belongsTo(Customer::class);

View File

@@ -19,6 +19,16 @@ class Package extends Model
return $this->hasMany(Unity::class);
}
public function variations()
{
return $this->hasMany(Variation::class);
}
public function offers()
{
return $this->hasManyThrough(Offer::class, Variation::class);
}
public function scopeByArticleNature($query, $id)
{
return $query->where($this->table . '.article_family_id', $id);

View File

@@ -8,4 +8,10 @@ class SaleChannel extends Model
{
protected $guarded = ['id'];
protected $table = 'shop_sale_channels';
public function deliveries()
{
return $this->hasMany(Delivery::class);
}
}

View File

@@ -21,4 +21,9 @@ class Variation extends Model
{
return $this->belongsTo(Unity::class);
}
public function offers()
{
return $this->hasMany(Offer::class);
}
}