add: full multi-tenancy control
This commit is contained in:
76
packages/Webkul/Quote/src/Models/Quote.php
Normal file
76
packages/Webkul/Quote/src/Models/Quote.php
Normal file
@@ -0,0 +1,76 @@
|
||||
<?php
|
||||
|
||||
namespace Webkul\Quote\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Webkul\Attribute\Traits\CustomAttribute;
|
||||
use Webkul\Contact\Models\PersonProxy;
|
||||
use Webkul\Lead\Models\LeadProxy;
|
||||
use Webkul\Quote\Contracts\Quote as QuoteContract;
|
||||
use Webkul\User\Models\UserProxy;
|
||||
|
||||
class Quote extends Model implements QuoteContract
|
||||
{
|
||||
use CustomAttribute;
|
||||
|
||||
protected $table = 'quotes';
|
||||
|
||||
protected $casts = [
|
||||
'billing_address' => 'array',
|
||||
'shipping_address' => 'array',
|
||||
'expired_at' => 'datetime',
|
||||
];
|
||||
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $fillable = [
|
||||
'subject',
|
||||
'description',
|
||||
'billing_address',
|
||||
'shipping_address',
|
||||
'discount_percent',
|
||||
'discount_amount',
|
||||
'tax_amount',
|
||||
'adjustment_amount',
|
||||
'sub_total',
|
||||
'grand_total',
|
||||
'expired_at',
|
||||
'user_id',
|
||||
'person_id',
|
||||
];
|
||||
|
||||
/**
|
||||
* Get the quote items record associated with the quote.
|
||||
*/
|
||||
public function items()
|
||||
{
|
||||
return $this->hasMany(QuoteItemProxy::modelClass());
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the user that owns the quote.
|
||||
*/
|
||||
public function user()
|
||||
{
|
||||
return $this->belongsTo(UserProxy::modelClass());
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the person that owns the quote.
|
||||
*/
|
||||
public function person()
|
||||
{
|
||||
return $this->belongsTo(PersonProxy::modelClass());
|
||||
}
|
||||
|
||||
/**
|
||||
* The leads that belong to the quote.
|
||||
*/
|
||||
public function leads()
|
||||
{
|
||||
return $this->belongsToMany(LeadProxy::modelClass(), 'lead_quotes');
|
||||
}
|
||||
}
|
||||
39
packages/Webkul/Quote/src/Models/QuoteItem.php
Normal file
39
packages/Webkul/Quote/src/Models/QuoteItem.php
Normal file
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
namespace Webkul\Quote\Models;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
use Webkul\Quote\Contracts\QuoteItem as QuoteItemContract;
|
||||
|
||||
class QuoteItem extends Model implements QuoteItemContract
|
||||
{
|
||||
protected $table = 'quote_items';
|
||||
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $fillable = [
|
||||
'sku',
|
||||
'name',
|
||||
'quantity',
|
||||
'price',
|
||||
'coupon_code',
|
||||
'discount_percent',
|
||||
'discount_amount',
|
||||
'tax_percent',
|
||||
'tax_amount',
|
||||
'total',
|
||||
'product_id',
|
||||
'quote_id',
|
||||
];
|
||||
|
||||
/**
|
||||
* Get the quote record associated with the quote item.
|
||||
*/
|
||||
public function quote()
|
||||
{
|
||||
return $this->belongsTo(QuoteProxy::modelClass());
|
||||
}
|
||||
}
|
||||
7
packages/Webkul/Quote/src/Models/QuoteItemProxy.php
Normal file
7
packages/Webkul/Quote/src/Models/QuoteItemProxy.php
Normal file
@@ -0,0 +1,7 @@
|
||||
<?php
|
||||
|
||||
namespace Webkul\Quote\Models;
|
||||
|
||||
use Konekt\Concord\Proxies\ModelProxy;
|
||||
|
||||
class QuoteItemProxy extends ModelProxy {}
|
||||
7
packages/Webkul/Quote/src/Models/QuoteProxy.php
Normal file
7
packages/Webkul/Quote/src/Models/QuoteProxy.php
Normal file
@@ -0,0 +1,7 @@
|
||||
<?php
|
||||
|
||||
namespace Webkul\Quote\Models;
|
||||
|
||||
use Konekt\Concord\Proxies\ModelProxy;
|
||||
|
||||
class QuoteProxy extends ModelProxy {}
|
||||
Reference in New Issue
Block a user