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