add: full multi-tenancy control

This commit is contained in:
Cauê Faleiros
2026-02-02 15:31:15 -03:00
commit c6ec92802b
1711 changed files with 258106 additions and 0 deletions

View 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');
}
}

View 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());
}
}

View File

@@ -0,0 +1,7 @@
<?php
namespace Webkul\Quote\Models;
use Konekt\Concord\Proxies\ModelProxy;
class QuoteItemProxy extends ModelProxy {}

View File

@@ -0,0 +1,7 @@
<?php
namespace Webkul\Quote\Models;
use Konekt\Concord\Proxies\ModelProxy;
class QuoteProxy extends ModelProxy {}