From b6af25ce99e105037fe58208289eea307cfe43fa Mon Sep 17 00:00:00 2001 From: snipe Date: Sun, 10 Aug 2025 17:20:49 +0100 Subject: [PATCH 1/6] Fixed #17548 - treeview menu class on people menu Signed-off-by: snipe --- resources/views/layouts/default.blade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/views/layouts/default.blade.php b/resources/views/layouts/default.blade.php index cc2a2b7b58..a3bf426445 100644 --- a/resources/views/layouts/default.blade.php +++ b/resources/views/layouts/default.blade.php @@ -651,7 +651,7 @@ dir="{{ Helper::determineLanguageDirection() }}"> @endcan @can('view', \App\Models\User::class) -
  • is('users*') ? ' class="active"' : '') !!}> +
  • shortcuts_enabled == 1 ? "accesskey=6" : ''}}> {{ trans('general.people') }} From b2d10f7ccf8d8d92222eb5c4efbacef5bb268a32 Mon Sep 17 00:00:00 2001 From: snipe Date: Sun, 10 Aug 2025 17:56:59 +0100 Subject: [PATCH 2/6] Rename directory Signed-off-by: snipe --- storage/private_uploads/{assetmodels => models}/.gitignore | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename storage/private_uploads/{assetmodels => models}/.gitignore (100%) diff --git a/storage/private_uploads/assetmodels/.gitignore b/storage/private_uploads/models/.gitignore similarity index 100% rename from storage/private_uploads/assetmodels/.gitignore rename to storage/private_uploads/models/.gitignore From ea84728a3f9dbda3129f25bc761340405726f708 Mon Sep 17 00:00:00 2001 From: snipe Date: Sun, 10 Aug 2025 17:58:11 +0100 Subject: [PATCH 3/6] Rename models uploads dir Signed-off-by: snipe --- app/Http/Controllers/Api/UploadedFilesController.php | 2 +- app/Http/Controllers/UploadedFilesController.php | 2 +- app/Http/Requests/ImageUploadRequest.php | 10 +++++----- app/Models/Actionlog.php | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/app/Http/Controllers/Api/UploadedFilesController.php b/app/Http/Controllers/Api/UploadedFilesController.php index ca507d1b51..b5d729f671 100644 --- a/app/Http/Controllers/Api/UploadedFilesController.php +++ b/app/Http/Controllers/Api/UploadedFilesController.php @@ -50,7 +50,7 @@ class UploadedFilesController extends Controller 'hardware' => 'private_uploads/assets/', 'licenses' => 'private_uploads/licenses/', 'locations' => 'private_uploads/locations/', - 'models' => 'private_uploads/assetmodels/', + 'models' => 'private_uploads/models/', 'users' => 'private_uploads/users/', ]; diff --git a/app/Http/Controllers/UploadedFilesController.php b/app/Http/Controllers/UploadedFilesController.php index bce40f7787..f0dad12e10 100644 --- a/app/Http/Controllers/UploadedFilesController.php +++ b/app/Http/Controllers/UploadedFilesController.php @@ -53,7 +53,7 @@ class UploadedFilesController extends Controller 'hardware' => 'private_uploads/assets/', 'licenses' => 'private_uploads/licenses/', 'locations' => 'private_uploads/locations/', - 'models' => 'private_uploads/assetmodels/', + 'models' => 'private_uploads/models/', 'users' => 'private_uploads/users/', ]; diff --git a/app/Http/Requests/ImageUploadRequest.php b/app/Http/Requests/ImageUploadRequest.php index 52d61d5bd3..add54aadf4 100644 --- a/app/Http/Requests/ImageUploadRequest.php +++ b/app/Http/Requests/ImageUploadRequest.php @@ -71,20 +71,20 @@ class ImageUploadRequest extends Request public function handleImages($item, $w = 600, $form_fieldname = 'image', $path = null, $db_fieldname = 'image') { - $type = Str::snake(class_basename(get_class($item))); + $type = class_basename(get_class($item)); if (is_null($path)) { + + $path = Str::of(str_plural($type)); - \Log::debug('path is null'); - $path = Str::of(str_plural($type))->snake(); - - if ($type == 'assetmodel') { + if ($type == 'AssetModel') { $path = 'models'; } if ($type == 'user') { $path = 'avatars'; } + } diff --git a/app/Models/Actionlog.php b/app/Models/Actionlog.php index ed485c910b..bc1b5c72a2 100755 --- a/app/Models/Actionlog.php +++ b/app/Models/Actionlog.php @@ -491,7 +491,7 @@ class Actionlog extends SnipeModel case Asset::class: return 'private_uploads/assets/'.$this->filename; case AssetModel::class: - return 'private_uploads/assetmodels/'.$this->filename; + return 'private_uploads/models/'.$this->filename; case Consumable::class: return 'private_uploads/consumables/'.$this->filename; case Component::class: From a2217d7dbc4e4f9449474191180bad6640ae1047 Mon Sep 17 00:00:00 2001 From: snipe Date: Sun, 10 Aug 2025 18:08:15 +0100 Subject: [PATCH 4/6] Specify the public disk for creating directories Signed-off-by: snipe --- app/Http/Requests/ImageUploadRequest.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/Http/Requests/ImageUploadRequest.php b/app/Http/Requests/ImageUploadRequest.php index add54aadf4..9a31503357 100644 --- a/app/Http/Requests/ImageUploadRequest.php +++ b/app/Http/Requests/ImageUploadRequest.php @@ -74,7 +74,7 @@ class ImageUploadRequest extends Request $type = class_basename(get_class($item)); if (is_null($path)) { - + $path = Str::of(str_plural($type)); if ($type == 'AssetModel') { @@ -88,8 +88,8 @@ class ImageUploadRequest extends Request } - if (!Storage::exists($path)) { - Storage::makeDirectory($path); + if (!Storage::disk('public')->exists($path)) { + Storage::disk('public')->makeDirectory($path); } if ($this->offsetGet($form_fieldname) instanceof UploadedFile) { From 8da0dd7563dd1de5ccfbb84bc3048527a5b404c8 Mon Sep 17 00:00:00 2001 From: snipe Date: Sun, 10 Aug 2025 18:11:39 +0100 Subject: [PATCH 5/6] Use strtolower Signed-off-by: snipe --- app/Http/Requests/ImageUploadRequest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Http/Requests/ImageUploadRequest.php b/app/Http/Requests/ImageUploadRequest.php index 9a31503357..be5f854dce 100644 --- a/app/Http/Requests/ImageUploadRequest.php +++ b/app/Http/Requests/ImageUploadRequest.php @@ -75,7 +75,7 @@ class ImageUploadRequest extends Request if (is_null($path)) { - $path = Str::of(str_plural($type)); + $path = strtolower(str_plural($type)); if ($type == 'AssetModel') { $path = 'models'; From 2f146abe918ea12f8ed4a86b0bebfb811f15c5aa Mon Sep 17 00:00:00 2001 From: snipe Date: Sun, 10 Aug 2025 18:20:35 +0100 Subject: [PATCH 6/6] Let people upload images on the demo Signed-off-by: snipe --- app/Http/Requests/ImageUploadRequest.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/app/Http/Requests/ImageUploadRequest.php b/app/Http/Requests/ImageUploadRequest.php index be5f854dce..3a62212e36 100644 --- a/app/Http/Requests/ImageUploadRequest.php +++ b/app/Http/Requests/ImageUploadRequest.php @@ -100,7 +100,6 @@ class ImageUploadRequest extends Request if (isset($image)) { - if (!config('app.lock_passwords')) { $ext = $image->guessExtension(); $file_name = $type.'-'.$form_fieldname.($item->id ?? '-'.$item->id).'-'.str_random(10).'.'.$ext; @@ -145,7 +144,7 @@ class ImageUploadRequest extends Request // Remove Current image if exists $item = $this->deleteExistingImage($item, $path, $db_fieldname); $item->{$db_fieldname} = $file_name; - } + // If the user isn't uploading anything new but wants to delete their old image, do so