diff --git a/app/Http/Controllers/CompanyController.php b/app/Http/Controllers/CompanyController.php index c703fe983b8f..f6668b6048f9 100644 --- a/app/Http/Controllers/CompanyController.php +++ b/app/Http/Controllers/CompanyController.php @@ -408,6 +408,10 @@ class CompanyController extends BaseController */ public function update(UpdateCompanyRequest $request, Company $company) { + + if($request->hasFile('company_logo') || !array_key_exists('company_logo', $request->input('settings'))) + $this->removeLogo($company); + $company = $this->company_repo->save($request->all(), $company); $company->saveSettings($request->input('settings'), $company); diff --git a/app/Models/Credit.php b/app/Models/Credit.php index 63050b2a7b65..cd11e9ea578c 100644 --- a/app/Models/Credit.php +++ b/app/Models/Credit.php @@ -26,6 +26,7 @@ use App\Utils\Traits\MakesInvoiceValues; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; use Illuminate\Support\Carbon; +use Illuminate\Support\Facades\Storage; use Laracasts\Presenter\PresentableTrait; class Credit extends BaseModel diff --git a/app/Utils/Traits/Uploadable.php b/app/Utils/Traits/Uploadable.php index b802bb5e10d6..d11f53f5396c 100644 --- a/app/Utils/Traits/Uploadable.php +++ b/app/Utils/Traits/Uploadable.php @@ -11,13 +11,33 @@ namespace App\Utils\Traits; +use App\Jobs\Util\UnlinkFile; use App\Jobs\Util\UploadAvatar; +use Illuminate\Support\Facades\Storage; /** * Class Uploadable. */ trait Uploadable { + + public function removeLogo($company) + { + $company_logo = $company->settings->company_logo; + +info("company logo to be deleted = {$company_logo}"); + + $file_name = basename($company_logo); + + $storage_path = $company->company_key . '/' . $file_name; + + if (Storage::exists($storage_path)) { + UnlinkFile::dispatchNow(config('filesystems.default'), $storage_path); + } + + + } + public function uploadLogo($file, $company, $entity) { if ($file) {