More product cleanup
This commit is contained in:
@@ -7,11 +7,11 @@ use Illuminate\Support\Arr;
|
||||
use Leenooks\Traits\ScopeActive;
|
||||
|
||||
use App\Models\{Invoice,SupplierDetail};
|
||||
use App\Traits\{ProductDetails,SiteID};
|
||||
use App\Traits\SiteID;
|
||||
|
||||
abstract class Type extends Model
|
||||
{
|
||||
use SiteID,ScopeActive,ProductDetails;
|
||||
use SiteID,ScopeActive;
|
||||
|
||||
/* RELATIONS */
|
||||
|
||||
@@ -58,21 +58,14 @@ abstract class Type extends Model
|
||||
return static::category_name;
|
||||
}
|
||||
|
||||
/**
|
||||
* This contract term is the highest of
|
||||
* + The defined contract_term
|
||||
* + The default months in a billing interval
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public function getContractTermAttribute(): int
|
||||
final public function getContractTermAttribute(?int $val): int
|
||||
{
|
||||
return max(Invoice::billing_period(static::getBillingIntervalAttribute()),Arr::get($this->attributes,'contract_term',0));
|
||||
return $val ?: 1;
|
||||
}
|
||||
|
||||
public function getMinCostAttribute(): float
|
||||
{
|
||||
return $this->attributes['setup_cost']+$this->attributes['base_cost']*Invoice::billing_term($this->getContractTermAttribute(),$this->getBillingIntervalAttribute());
|
||||
return $this->setup_cost+$this->base_cost*$this->contract_term;
|
||||
}
|
||||
|
||||
public function getNameAttribute(): string
|
||||
|
Reference in New Issue
Block a user