From c0074baa266ae0bb15d81e7b9dc62757eef8200d Mon Sep 17 00:00:00 2001 From: akemidx Date: Tue, 7 Feb 2023 17:27:39 -0500 Subject: [PATCH 01/19] functionality to Apple Warranty link --- resources/views/hardware/view.blade.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/resources/views/hardware/view.blade.php b/resources/views/hardware/view.blade.php index b4cd6d4988..d8adad00d8 100755 --- a/resources/views/hardware/view.blade.php +++ b/resources/views/hardware/view.blade.php @@ -595,10 +595,12 @@ {{ $asset->warranty_months }} {{ trans('admin/hardware/form.months') }} - @if (($asset->serial && $asset->model->manufacturer) && $asset->model->manufacturer->name == 'Apple') + @if ($asset->serial) + @if ((strtolower($asset->model->manufacturer->name) == "apple") || (str_starts_with(str_replace(' ','',strtolower($asset->model->manufacturer->name)),"appleinc"))) + @endif @endif From 75f3cb30790d6140cbd8a8fb34b6193134849d16 Mon Sep 17 00:00:00 2001 From: akemidx Date: Tue, 7 Feb 2023 19:02:12 -0500 Subject: [PATCH 02/19] fixing external if statement --- resources/views/hardware/view.blade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/views/hardware/view.blade.php b/resources/views/hardware/view.blade.php index d8adad00d8..933392d8e9 100755 --- a/resources/views/hardware/view.blade.php +++ b/resources/views/hardware/view.blade.php @@ -595,7 +595,7 @@ {{ $asset->warranty_months }} {{ trans('admin/hardware/form.months') }} - @if ($asset->serial) + @if ($asset->serial && $asset->model->manufacturer) @if ((strtolower($asset->model->manufacturer->name) == "apple") || (str_starts_with(str_replace(' ','',strtolower($asset->model->manufacturer->name)),"appleinc"))) From 5962f1b6271713e8157ddea158188cf15d4eb938 Mon Sep 17 00:00:00 2001 From: Marcus Moore Date: Wed, 8 Feb 2023 12:21:51 -0800 Subject: [PATCH 03/19] Catch json encoding exceptions and display them to the user --- app/Http/Controllers/Api/ImportController.php | 28 +++++++++++++++++-- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/Api/ImportController.php b/app/Http/Controllers/Api/ImportController.php index 9742cc1644..15f46f2df8 100644 --- a/app/Http/Controllers/Api/ImportController.php +++ b/app/Http/Controllers/Api/ImportController.php @@ -10,6 +10,7 @@ use App\Models\Asset; use App\Models\Company; use App\Models\Import; use Artisan; +use Illuminate\Database\Eloquent\JsonEncodingException; use Illuminate\Support\Facades\Request; use Illuminate\Support\Facades\Session; use Illuminate\Support\Facades\Storage; @@ -64,7 +65,18 @@ class ImportController extends Controller ini_set('auto_detect_line_endings', '1'); } $reader = Reader::createFromFileObject($file->openFile('r')); //file pointer leak? - $import->header_row = $reader->fetchOne(0); + + try { + $import->header_row = $reader->fetchOne(0); + } catch (JsonEncodingException $e) { + return response()->json( + Helper::formatStandardApiResponse( + 'error', + null, + 'One or more attributes in the header row contain malformed UTF-8 characters'), + 500 + ); + } //duplicate headers check $duplicate_headers = []; @@ -85,8 +97,18 @@ class ImportController extends Controller return response()->json(Helper::formatStandardApiResponse('error', null, implode('; ', $duplicate_headers)), 500); //should this be '4xx'? } - // Grab the first row to display via ajax as the user picks fields - $import->first_row = $reader->fetchOne(1); + try { + // Grab the first row to display via ajax as the user picks fields + $import->first_row = $reader->fetchOne(1); + } catch (JsonEncodingException $e) { + return response()->json( + Helper::formatStandardApiResponse( + 'error', + null, + 'One or more attributes in row 2 contain malformed UTF-8 characters'), + 500 + ); + } $date = date('Y-m-d-his'); $fixed_filename = str_slug($file->getClientOriginalName()); From c2c666aef09e995de739919a6a87423961e4a70b Mon Sep 17 00:00:00 2001 From: Marcus Moore Date: Wed, 8 Feb 2023 12:32:57 -0800 Subject: [PATCH 04/19] Formatting --- app/Http/Controllers/Api/ImportController.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Api/ImportController.php b/app/Http/Controllers/Api/ImportController.php index 15f46f2df8..54ebea6ba5 100644 --- a/app/Http/Controllers/Api/ImportController.php +++ b/app/Http/Controllers/Api/ImportController.php @@ -73,7 +73,8 @@ class ImportController extends Controller Helper::formatStandardApiResponse( 'error', null, - 'One or more attributes in the header row contain malformed UTF-8 characters'), + 'One or more attributes in the header row contain malformed UTF-8 characters' + ), 500 ); } @@ -105,7 +106,8 @@ class ImportController extends Controller Helper::formatStandardApiResponse( 'error', null, - 'One or more attributes in row 2 contain malformed UTF-8 characters'), + 'One or more attributes in row 2 contain malformed UTF-8 characters' + ), 500 ); } From b3881a43a7963831677c364828e1e4633ba4aa8d Mon Sep 17 00:00:00 2001 From: Marcus Moore Date: Wed, 8 Feb 2023 12:34:25 -0800 Subject: [PATCH 05/19] Fix return type --- app/Http/Controllers/Api/ImportController.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/Api/ImportController.php b/app/Http/Controllers/Api/ImportController.php index 54ebea6ba5..d76decfc53 100644 --- a/app/Http/Controllers/Api/ImportController.php +++ b/app/Http/Controllers/Api/ImportController.php @@ -36,7 +36,7 @@ class ImportController extends Controller * Process and store a CSV upload file. * * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\Response + * @return \Illuminate\Http\JsonResponse */ public function store() { @@ -132,9 +132,9 @@ class ImportController extends Controller } $results = (new ImportsTransformer)->transformImports($results); - return [ + return response()->json([ 'files' => $results, - ]; + ]); } return response()->json(Helper::formatStandardApiResponse('error', null, trans('general.feature_disabled')), 500); From 73f355f3a8036e4d3d6227656616db44878dadff Mon Sep 17 00:00:00 2001 From: Marcus Moore Date: Wed, 8 Feb 2023 12:39:42 -0800 Subject: [PATCH 06/19] Return 422 instead of 500 when import is invalid --- app/Http/Controllers/Api/ImportController.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/Http/Controllers/Api/ImportController.php b/app/Http/Controllers/Api/ImportController.php index d76decfc53..9820b9ca0b 100644 --- a/app/Http/Controllers/Api/ImportController.php +++ b/app/Http/Controllers/Api/ImportController.php @@ -57,7 +57,7 @@ class ImportController extends Controller 'text/tsv', ])) { $results['error'] = 'File type must be CSV. Uploaded file is '.$file->getMimeType(); - return response()->json(Helper::formatStandardApiResponse('error', null, $results['error']), 500); + return response()->json(Helper::formatStandardApiResponse('error', null, $results['error']), 422); } //TODO: is there a lighter way to do this? @@ -75,7 +75,7 @@ class ImportController extends Controller null, 'One or more attributes in the header row contain malformed UTF-8 characters' ), - 500 + 422 ); } @@ -95,7 +95,7 @@ class ImportController extends Controller } } if (count($duplicate_headers) > 0) { - return response()->json(Helper::formatStandardApiResponse('error', null, implode('; ', $duplicate_headers)), 500); //should this be '4xx'? + return response()->json(Helper::formatStandardApiResponse('error', null, implode('; ', $duplicate_headers)),422); } try { @@ -108,7 +108,7 @@ class ImportController extends Controller null, 'One or more attributes in row 2 contain malformed UTF-8 characters' ), - 500 + 422 ); } @@ -137,7 +137,7 @@ class ImportController extends Controller ]); } - return response()->json(Helper::formatStandardApiResponse('error', null, trans('general.feature_disabled')), 500); + return response()->json(Helper::formatStandardApiResponse('error', null, trans('general.feature_disabled')), 422); } /** From 1a651b33fc46fb2a8879b2b867856188189aae10 Mon Sep 17 00:00:00 2001 From: akemidx Date: Wed, 8 Feb 2023 17:31:39 -0500 Subject: [PATCH 07/19] manufacturer marker removal --- resources/views/modals/model.blade.php | 12 ++++++------ resources/views/models/edit.blade.php | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/resources/views/modals/model.blade.php b/resources/views/modals/model.blade.php index 6fc0359c81..519767f304 100644 --- a/resources/views/modals/model.blade.php +++ b/resources/views/modals/model.blade.php @@ -16,17 +16,17 @@
-
+
- +
-
-
- +
+
+
diff --git a/resources/views/models/edit.blade.php b/resources/views/models/edit.blade.php index f7ec2796b6..a643ee2fe2 100755 --- a/resources/views/models/edit.blade.php +++ b/resources/views/models/edit.blade.php @@ -11,8 +11,8 @@ @section('inputFields') @include ('partials.forms.edit.name', ['translated_name' => trans('admin/models/table.name'), 'required' => 'true']) -@include ('partials.forms.edit.manufacturer-select', ['translated_name' => trans('general.manufacturer'), 'fieldname' => 'manufacturer_id', 'required' => 'true']) @include ('partials.forms.edit.category-select', ['translated_name' => trans('admin/categories/general.category_name'), 'fieldname' => 'category_id', 'required' => 'true', 'category_type' => 'asset']) +@include ('partials.forms.edit.manufacturer-select', ['translated_name' => trans('general.manufacturer'), 'fieldname' => 'manufacturer_id']) @include ('partials.forms.edit.model_number') @include ('partials.forms.edit.depreciation') From 32ed70259e26a7f00b0ebccf35ccdc15b432be10 Mon Sep 17 00:00:00 2001 From: akemidx Date: Thu, 9 Feb 2023 15:39:10 -0500 Subject: [PATCH 08/19] sweedish chef fixes up your typos --- resources/views/modals/model.blade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/views/modals/model.blade.php b/resources/views/modals/model.blade.php index 519767f304..360d14ce32 100644 --- a/resources/views/modals/model.blade.php +++ b/resources/views/modals/model.blade.php @@ -26,7 +26,7 @@
- +
From 5714824aa77e6a2955f7b5882c24148634960a71 Mon Sep 17 00:00:00 2001 From: akemidx Date: Thu, 9 Feb 2023 17:24:34 -0500 Subject: [PATCH 09/19] translations for the layout setup --- resources/lang/en/general.php | 6 ++++++ resources/views/layouts/default.blade.php | 9 +++++---- resources/views/layouts/setup.blade.php | 5 +++-- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/resources/lang/en/general.php b/resources/lang/en/general.php index e071124a05..cc7ee7fa1c 100644 --- a/resources/lang/en/general.php +++ b/resources/lang/en/general.php @@ -397,6 +397,12 @@ return [ 'placeholder_kit' => 'Select a kit', 'file_not_found' => 'File not found', 'preview_not_available' => '(no preview)', + 'setup' => 'Setup', + 'pre_flight' => 'Pre-Flight', + 'skip_to_main_content' => 'Skip to main content', + 'toggle_navigation' => 'Toggle navigation', + 'alerts' => 'Alerts', + 'tasks_view_all' => 'View all tasks', diff --git a/resources/views/layouts/default.blade.php b/resources/views/layouts/default.blade.php index ceabe13553..2bb9bc8cf9 100644 --- a/resources/views/layouts/default.blade.php +++ b/resources/views/layouts/default.blade.php @@ -88,7 +88,7 @@ @endif -
Skip to main content + {{ trans('general.skip_to_main_content') }}
@@ -100,7 +100,7 @@