From 1b74a3720e20976f86f49ef1de60acfb5c74bea1 Mon Sep 17 00:00:00 2001 From: raishvaria Date: Tue, 8 Dec 2020 11:39:47 +0530 Subject: [PATCH 1/3] fix localhost img display issue --- app/Models/Estimate.php | 7 ++++++- app/Models/Invoice.php | 7 +++++-- app/Models/Payment.php | 8 +++++++- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/app/Models/Estimate.php b/app/Models/Estimate.php index c5528a35..80d2c709 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) { + $isLocal = $logo->disk == 'local' || $logo->disk == 'public'; + $isLocalhost = env('SESSION_DOMAIN') === 'localhost'; + + if ($logo && $isLocalhost && $isLocal) { + $logo = $logo->getPath(); + } else if($logo) { $logo = $logo->getFullUrl(); } diff --git a/app/Models/Invoice.php b/app/Models/Invoice.php index 668c2ac8..de997e16 100644 --- a/app/Models/Invoice.php +++ b/app/Models/Invoice.php @@ -514,7 +514,11 @@ class Invoice extends Model implements HasMedia $logo = $company->getMedia('logo')->first(); - if ($logo) { + $isLocal = $logo->disk == 'local' || $logo->disk == 'public'; + + if ($logo && env('SESSION_DOMAIN') === 'localhost' && $isLocal) { + $logo = $logo->getPath(); + } else if($logo) { $logo = $logo->getFullUrl(); } @@ -528,7 +532,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..eaf8aab3 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) { + $isLocal = $logo->disk == 'local' || $logo->disk == 'public'; + $isLocalhost = env('SESSION_DOMAIN') === 'localhost'; + + if ($logo && $isLocalhost && $isLocal) { + $logo = $logo->getPath(); + } else if($logo) { $logo = $logo->getFullUrl(); } + view()->share([ 'payment' => $this, 'company_address' => $this->getCompanyAddress(), From f18eac2001ca8b0642badf1adb6946948536455c Mon Sep 17 00:00:00 2001 From: raishvaria Date: Tue, 8 Dec 2020 14:43:21 +0530 Subject: [PATCH 2/3] replace env with config --- app/Models/Estimate.php | 2 +- app/Models/Invoice.php | 3 ++- app/Models/Payment.php | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/app/Models/Estimate.php b/app/Models/Estimate.php index 80d2c709..e2f75c6d 100644 --- a/app/Models/Estimate.php +++ b/app/Models/Estimate.php @@ -431,7 +431,7 @@ class Estimate extends Model implements HasMedia $logo = $company->getMedia('logo')->first(); $isLocal = $logo->disk == 'local' || $logo->disk == 'public'; - $isLocalhost = env('SESSION_DOMAIN') === 'localhost'; + $isLocalhost = config('session.domain') === 'localhost'; if ($logo && $isLocalhost && $isLocal) { $logo = $logo->getPath(); diff --git a/app/Models/Invoice.php b/app/Models/Invoice.php index de997e16..85c0c27a 100644 --- a/app/Models/Invoice.php +++ b/app/Models/Invoice.php @@ -515,8 +515,9 @@ class Invoice extends Model implements HasMedia $logo = $company->getMedia('logo')->first(); $isLocal = $logo->disk == 'local' || $logo->disk == 'public'; + $isLocalhost = config('session.domain') === 'localhost'; - if ($logo && env('SESSION_DOMAIN') === 'localhost' && $isLocal) { + if ($logo && $isLocalhost && $isLocal) { $logo = $logo->getPath(); } else if($logo) { $logo = $logo->getFullUrl(); diff --git a/app/Models/Payment.php b/app/Models/Payment.php index eaf8aab3..f86a2c24 100644 --- a/app/Models/Payment.php +++ b/app/Models/Payment.php @@ -376,7 +376,7 @@ class Payment extends Model implements HasMedia $logo = $company->getMedia('logo')->first(); $isLocal = $logo->disk == 'local' || $logo->disk == 'public'; - $isLocalhost = env('SESSION_DOMAIN') === 'localhost'; + $isLocalhost = config('session.domain') === 'localhost'; if ($logo && $isLocalhost && $isLocal) { $logo = $logo->getPath(); From 419104a4ec9bb9dec724b7c31d4e5df23a50f358 Mon Sep 17 00:00:00 2001 From: raishvaria Date: Tue, 8 Dec 2020 15:07:57 +0530 Subject: [PATCH 3/3] check system using file disk type --- app/Models/Estimate.php | 4 ++-- app/Models/FileDisk.php | 13 +++++++++++++ app/Models/Invoice.php | 4 ++-- app/Models/Payment.php | 4 ++-- 4 files changed, 19 insertions(+), 6 deletions(-) diff --git a/app/Models/Estimate.php b/app/Models/Estimate.php index e2f75c6d..44935587 100644 --- a/app/Models/Estimate.php +++ b/app/Models/Estimate.php @@ -430,10 +430,10 @@ class Estimate extends Model implements HasMedia $company = Company::find($this->company_id); $logo = $company->getMedia('logo')->first(); - $isLocal = $logo->disk == 'local' || $logo->disk == 'public'; + $isSystem = FileDisk::whereSetAsDefault(true)->first()->isSystem(); $isLocalhost = config('session.domain') === 'localhost'; - if ($logo && $isLocalhost && $isLocal) { + 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 85c0c27a..f85011a8 100644 --- a/app/Models/Invoice.php +++ b/app/Models/Invoice.php @@ -514,10 +514,10 @@ class Invoice extends Model implements HasMedia $logo = $company->getMedia('logo')->first(); - $isLocal = $logo->disk == 'local' || $logo->disk == 'public'; + $isSystem = FileDisk::whereSetAsDefault(true)->first()->isSystem() ; $isLocalhost = config('session.domain') === 'localhost'; - if ($logo && $isLocalhost && $isLocal) { + if ($logo && $isLocalhost && $isSystem) { $logo = $logo->getPath(); } else if($logo) { $logo = $logo->getFullUrl(); diff --git a/app/Models/Payment.php b/app/Models/Payment.php index f86a2c24..aeca5109 100644 --- a/app/Models/Payment.php +++ b/app/Models/Payment.php @@ -375,10 +375,10 @@ class Payment extends Model implements HasMedia $logo = $company->getMedia('logo')->first(); - $isLocal = $logo->disk == 'local' || $logo->disk == 'public'; + $isSystem = FileDisk::whereSetAsDefault(true)->first()->isSystem() ; $isLocalhost = config('session.domain') === 'localhost'; - if ($logo && $isLocalhost && $isLocal) { + if ($logo && $isLocalhost && $isSystem) { $logo = $logo->getPath(); } else if($logo) { $logo = $logo->getFullUrl();