Fix for removing company logo from storage

This commit is contained in:
David Bomba 2020-11-04 10:56:29 +11:00
parent a3acc6a019
commit 870a41a93e
3 changed files with 25 additions and 0 deletions

View File

@ -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);

View File

@ -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

View File

@ -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) {