diff --git a/app/Models/Estimate.php b/app/Models/Estimate.php index c5528a35..44935587 100644 --- a/app/Models/Estimate.php +++ b/app/Models/Estimate.php @@ -430,7 +430,12 @@ class Estimate extends Model implements HasMedia $company = Company::find($this->company_id); $logo = $company->getMedia('logo')->first(); - if ($logo) { + $isSystem = FileDisk::whereSetAsDefault(true)->first()->isSystem(); + $isLocalhost = config('session.domain') === 'localhost'; + + if ($logo && $isLocalhost && $isSystem) { + $logo = $logo->getPath(); + } else if($logo) { $logo = $logo->getFullUrl(); } diff --git a/app/Models/FileDisk.php b/app/Models/FileDisk.php index 6587bf8c..73ce1b6a 100644 --- a/app/Models/FileDisk.php +++ b/app/Models/FileDisk.php @@ -8,6 +8,9 @@ use Illuminate\Database\Eloquent\Factories\HasFactory; class FileDisk extends Model { + CONST DISK_TYPE_SYSTEM = 'SYSTEM'; + CONST DISK_TYPE_REMOTE = 'REMOTE'; + use HasFactory; protected $guarded = [ @@ -184,4 +187,14 @@ class FileDisk extends Model return $this; } + + public function isSystem() + { + return $this->type === self::DISK_TYPE_SYSTEM; + } + + public function isRemote() + { + return $this->type === self::DISK_TYPE_REMOTE; + } } diff --git a/app/Models/Invoice.php b/app/Models/Invoice.php index 668c2ac8..f85011a8 100644 --- a/app/Models/Invoice.php +++ b/app/Models/Invoice.php @@ -514,7 +514,12 @@ class Invoice extends Model implements HasMedia $logo = $company->getMedia('logo')->first(); - if ($logo) { + $isSystem = FileDisk::whereSetAsDefault(true)->first()->isSystem() ; + $isLocalhost = config('session.domain') === 'localhost'; + + if ($logo && $isLocalhost && $isSystem) { + $logo = $logo->getPath(); + } else if($logo) { $logo = $logo->getFullUrl(); } @@ -528,7 +533,6 @@ class Invoice extends Model implements HasMedia 'labels' => $labels, 'taxes' => $taxes ]); - return PDF::loadView('app.pdf.invoice.' . $invoiceTemplate->view); } diff --git a/app/Models/Payment.php b/app/Models/Payment.php index c9ff59a1..aeca5109 100644 --- a/app/Models/Payment.php +++ b/app/Models/Payment.php @@ -375,10 +375,16 @@ class Payment extends Model implements HasMedia $logo = $company->getMedia('logo')->first(); - if ($logo) { + $isSystem = FileDisk::whereSetAsDefault(true)->first()->isSystem() ; + $isLocalhost = config('session.domain') === 'localhost'; + + if ($logo && $isLocalhost && $isSystem) { + $logo = $logo->getPath(); + } else if($logo) { $logo = $logo->getFullUrl(); } + view()->share([ 'payment' => $this, 'company_address' => $this->getCompanyAddress(),