Initial support for importing supplier costs

This commit is contained in:
Deon George
2022-06-14 16:55:17 +10:00
parent 606f357839
commit 768744ad27
13 changed files with 735 additions and 0 deletions

View File

@@ -0,0 +1,18 @@
<?php
namespace App\Models\Cost;
use App\Models\Service;
use App\Models\Service\Broadband as BroadbandService;
class Broadband extends Type
{
protected $table = 'cost_broadband';
/* RELATIONS */
public function service()
{
return $this->hasOneThrough(Service::class,BroadbandService::class,'id','id','service_broadband_id','service_id');
}
}

View File

@@ -0,0 +1,18 @@
<?php
namespace App\Models\Cost;
use App\Models\Service;
use App\Models\Service\Generic as GenericService;
class Generic extends Type
{
protected $table = 'cost_generic';
/* RELATIONS */
public function service()
{
return $this->hasOneThrough(Service::class,GenericService::class,'id','id','service_generic_id','service_id');
}
}

18
app/Models/Cost/Phone.php Normal file
View File

@@ -0,0 +1,18 @@
<?php
namespace App\Models\Cost;
use App\Models\Service;
use App\Models\Service\Phone as PhoneService;
class Phone extends Type
{
protected $table = 'cost_phone';
/* RELATIONS */
public function service()
{
return $this->hasOneThrough(Service::class,PhoneService::class,'id','id','service_phone_id','service_id');
}
}

26
app/Models/Cost/Type.php Normal file
View File

@@ -0,0 +1,26 @@
<?php
namespace App\Models\Cost;
use Illuminate\Database\Eloquent\Model;
abstract class Type extends Model
{
public $timestamps = FALSE;
protected $dates = [
'start_at',
'end_at',
];
/* RELATIONS */
abstract public function service();
/* ATTRIBUTES */
public function getCostAttribute(): float
{
return $this->base+$this->excess;
}
}