From 3ffdb98a4b318a1964c42e1f938b6d782f387f7e Mon Sep 17 00:00:00 2001 From: cuneytsenturk Date: Wed, 3 Jan 2018 15:21:50 +0300 Subject: [PATCH] Invoice logo and Customer profile picture --- app/Http/Controllers/Customers/Profile.php | 15 +++++++----- app/Http/Controllers/Incomes/Invoices.php | 17 ++++++++++---- .../views/customers/profile/edit.blade.php | 23 ++++++++++++++++++- 3 files changed, 44 insertions(+), 11 deletions(-) diff --git a/app/Http/Controllers/Customers/Profile.php b/app/Http/Controllers/Customers/Profile.php index b75ad6d17..7fea1c08f 100644 --- a/app/Http/Controllers/Customers/Profile.php +++ b/app/Http/Controllers/Customers/Profile.php @@ -5,9 +5,11 @@ namespace App\Http\Controllers\Customers; use App\Http\Controllers\Controller; use App\Http\Requests\Customer\Profile as Request; use App\Models\Auth\User; +use App\Traits\Uploads; class Profile extends Controller { + use Uploads; public function index() { @@ -42,12 +44,6 @@ class Profile extends Controller { $user = auth()->user(); - // Upload picture - $picture = $request->file('picture'); - if ($picture && $picture->isValid()) { - $request['picture'] = $picture->store('users'); - } - // Do not reset password if not entered/changed if (empty($request['password'])) { unset($request['password']); @@ -57,6 +53,13 @@ class Profile extends Controller // Update user $user->update($request->input()); + // Upload picture + if ($request->file('picture')) { + $media = $this->getMedia($request->file('picture'), 'users'); + + $user->attachMedia($media, 'picture'); + } + // Update customer $user->customer->update($request->input()); diff --git a/app/Http/Controllers/Incomes/Invoices.php b/app/Http/Controllers/Incomes/Invoices.php index 772216f00..e14fe096c 100644 --- a/app/Http/Controllers/Incomes/Invoices.php +++ b/app/Http/Controllers/Incomes/Invoices.php @@ -20,6 +20,7 @@ use App\Models\Item\Item; use App\Models\Setting\Category; use App\Models\Setting\Currency; use App\Models\Setting\Tax; +use App\Models\Common\Media; use App\Notifications\Income\Invoice as Notification; use App\Notifications\Item\Item as ItemNotification; use App\Traits\Currencies; @@ -784,18 +785,26 @@ class Invoices extends Controller { $logo = ''; + $media_id = setting('general.company_logo'); + if (setting('general.invoice_logo')) { - $file = session('company_id') . '/' . setting('general.invoice_logo'); - } else { - $file = session('company_id') . '/' . setting('general.company_logo'); + $media_id = setting('general.invoice_logo'); } - $path = Storage::path($file); + $media = Media::find($media_id); + + if (empty($media)) { + return $logo; + } + + $path = Storage::path($media->getDiskPath()); + if (!is_file($path)) { return $logo; } $image = Image::make($path)->encode()->getEncoded(); + if (empty($image)) { return $logo; } diff --git a/resources/views/customers/profile/edit.blade.php b/resources/views/customers/profile/edit.blade.php index 72bcf67d2..fbe8b774f 100644 --- a/resources/views/customers/profile/edit.blade.php +++ b/resources/views/customers/profile/edit.blade.php @@ -63,11 +63,32 @@ text : '{{ trans('general.form.select.file') }}', style : 'btn-default', @if($user->picture) - placeholder : 'picture; ?>' + placeholder : 'picture->basename; ?>' @else placeholder : '{{ trans('general.form.no_file_selected') }}' @endif }); + + @if($user->picture) + picture_html = ''; + picture_html += ' '; + picture_html += ' '; + picture_html += ' {{ $user->picture->basename }}'; + picture_html += ' '; + picture_html += ' '; + picture_html += ' {!! Form::open(['id' => 'picture-' . $user->picture->id, 'method' => 'DELETE', 'url' => [url('uploads/' . $user->picture->id)], 'style' => 'display:inline']) !!}'; + picture_html += ' '; + picture_html += ' '; + picture_html += ' '; + picture_html += ' {!! Form::close() !!}'; + picture_html += ''; + + $('.fancy-file .fake-file').append(picture_html); + + $(document).on('click', '#remove-picture', function (e) { + confirmDelete("#picture-{!! $user->picture->id !!}", "{!! trans('general.attachment') !!}", "{!! trans('general.delete_confirm', ['name' => '' . $user->picture->basename . '', 'type' => strtolower(trans('general.attachment'))]) !!}", "{!! trans('general.cancel') !!}", "{!! trans('general.delete') !!}"); + }); + @endif }); @endpush