From 4c8b26f732b0c87f3ddd33c9cf390f2c0820f6ea Mon Sep 17 00:00:00 2001 From: Logan Swartzendruber Date: Tue, 3 Sep 2019 14:02:55 -0400 Subject: [PATCH] Implement #3088: Add "Generate Label" option to "Actions" dropdown menu in individual Asset Details view. (#7388) * Implement #3088: Add "Generate Label" option to "Actions" dropdown menu in individual Asset Details view. * Add conditional for including the asset number in the URL of the barcode image. * Change case of variables to pass Codacy PR review standards. --- .../Controllers/Assets/AssetsController.php | 23 +++++++++++++++++++ .../Assets/BulkAssetsController.php | 1 + resources/lang/en/button.php | 1 + resources/views/hardware/index.blade.php | 6 ++--- resources/views/hardware/labels.blade.php | 8 +++++++ resources/views/hardware/view.blade.php | 1 + routes/web/hardware.php | 5 ++++ 7 files changed, 42 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/Assets/AssetsController.php b/app/Http/Controllers/Assets/AssetsController.php index cff05b0e47..6025167a15 100755 --- a/app/Http/Controllers/Assets/AssetsController.php +++ b/app/Http/Controllers/Assets/AssetsController.php @@ -481,6 +481,29 @@ class AssetsController extends Controller } } + + /** + * Return a label for an individual asset. + * + * @author [L. Swartzendruber] [ + * @param int $assetId + * @return View + */ + public function getLabel($assetId = null) + { + if (isset($assetId)) { + $asset = Asset::find($assetId); + $this->authorize('view', $asset); + + return view('hardware/labels') + ->with('assets', Asset::find($asset)) + ->with('settings', Setting::getSettings()) + ->with('bulkedit', false) + ->with('count', 0); + } + } + + /** * Returns a view that presents a form to clone an asset. * diff --git a/app/Http/Controllers/Assets/BulkAssetsController.php b/app/Http/Controllers/Assets/BulkAssetsController.php index 993afdea7e..1727607c65 100644 --- a/app/Http/Controllers/Assets/BulkAssetsController.php +++ b/app/Http/Controllers/Assets/BulkAssetsController.php @@ -40,6 +40,7 @@ class BulkAssetsController extends Controller return view('hardware/labels') ->with('assets', Asset::find($asset_ids)) ->with('settings', Setting::getSettings()) + ->with('bulkedit', true) ->with('count', 0); case 'delete': $assets = Asset::with('assignedTo', 'location')->find($asset_ids); diff --git a/resources/lang/en/button.php b/resources/lang/en/button.php index c9487253dd..2b97223250 100644 --- a/resources/lang/en/button.php +++ b/resources/lang/en/button.php @@ -13,4 +13,5 @@ return array( 'upload' => 'Upload', 'select_file' => 'Select File...', 'select_files' => 'Select Files...', + 'generate_labels' => '{1} Generate Label|[2,*] Generate Labels', ); diff --git a/resources/views/hardware/index.blade.php b/resources/views/hardware/index.blade.php index d54abd4aba..3dc8eacaec 100755 --- a/resources/views/hardware/index.blade.php +++ b/resources/views/hardware/index.blade.php @@ -67,9 +67,9 @@ @if (Input::get('status')!='Deleted')
diff --git a/resources/views/hardware/labels.blade.php b/resources/views/hardware/labels.blade.php index d5b2317e35..2ed30ec71e 100644 --- a/resources/views/hardware/labels.blade.php +++ b/resources/views/hardware/labels.blade.php @@ -135,7 +135,11 @@ @if ($settings->qr_code=='1')
+ @if ($bulkedit==False) + + @else + @endif
@endif @@ -182,7 +186,11 @@ @if ((($settings->alt_barcode_enabled=='1') && $settings->alt_barcode!=''))
+ @if ($bulkedit==False) + + @else + @endif
@endif diff --git a/resources/views/hardware/view.blade.php b/resources/views/hardware/view.blade.php index e814e249b3..4d5f39bbb9 100755 --- a/resources/views/hardware/view.blade.php +++ b/resources/views/hardware/view.blade.php @@ -35,6 +35,7 @@ @can('audit', \App\Models\Asset::class)
  • {{ trans('general.audit') }}
  • @endcan +
  • {{ trans_choice('button.generate_labels', 1) }}
  • @endcan diff --git a/routes/web/hardware.php b/routes/web/hardware.php index b7afc1df98..1f34a661e8 100644 --- a/routes/web/hardware.php +++ b/routes/web/hardware.php @@ -80,6 +80,11 @@ Route::group( 'uses' => 'Assets\AssetsController@getClone' ]); + Route::get('{assetId}/label', [ + 'as' => 'label/hardware', + 'uses' => 'Assets\AssetsController@getLabel' + ]); + Route::post('{assetId}/clone', 'Assets\AssetsController@postCreate'); Route::get('{assetId}/checkout', [