From 7ea862787c734317b3128d50ef4608418cef1e42 Mon Sep 17 00:00:00 2001 From: Daniel Meltzer <dmeltzer.devel@gmail.com> Date: Sat, 23 May 2020 12:19:19 -0400 Subject: [PATCH] Refactor controller to use one method that shows all modals based on name. --- .gitattributes | 4 +- app/Http/Controllers/ModalController.php | 52 ++++--------------- resources/assets/js/snipeit_modals.js | 2 +- resources/views/kits/edit.blade.php | 8 +-- .../views/modals/kit-accessory.blade.php | 4 +- .../views/modals/kit-consumable.blade.php | 4 +- resources/views/modals/kit-license.blade.php | 4 +- resources/views/modals/kit-model.blade.php | 2 +- .../forms/edit/category-select.blade.php | 2 +- .../partials/forms/edit/kit-select.blade.php | 2 +- .../forms/edit/location-select.blade.php | 2 +- .../forms/edit/manufacturer-select.blade.php | 2 +- .../forms/edit/model-select.blade.php | 2 +- .../partials/forms/edit/status.blade.php | 2 +- .../forms/edit/supplier-select.blade.php | 2 +- .../partials/forms/edit/supplier.blade.php | 2 +- .../partials/forms/edit/user-select.blade.php | 2 +- routes/web.php | 12 +---- 18 files changed, 35 insertions(+), 75 deletions(-) diff --git a/.gitattributes b/.gitattributes index 212566614..5ad9d096e 100755 --- a/.gitattributes +++ b/.gitattributes @@ -1 +1,3 @@ -* text=auto \ No newline at end of file +* text=auto +public/js/** binary +public/css/** binary diff --git a/app/Http/Controllers/ModalController.php b/app/Http/Controllers/ModalController.php index d5b993d3a..61a3cf10b 100644 --- a/app/Http/Controllers/ModalController.php +++ b/app/Http/Controllers/ModalController.php @@ -6,47 +6,15 @@ use App\Helpers\Helper; class ModalController extends Controller { - function location() { - return view('modals.location'); - } - - function model() { - return view('modals.model'); - } - - function statuslabel() { - return view('modals.statuslabel')->with('statuslabel_types', Helper::statusTypeList()); - } - - function supplier() { - return view('modals.supplier'); - } - - function user() { - return view('modals.user'); - } - - function category() { - return view('modals.category'); - } - - function manufacturer() { - return view('modals.manufacturer'); - } - - function kitModel() { - return view('modals.kit-model'); - } - - function kitLicense() { - return view('modals.kit-license'); - } - - function kitConsumable() { - return view('modals.kit-consumable'); - } - - function kitAccessory() { - return view('modals.kit-accessory'); + function show($type, $itemId = null) { + $view = view("modals.${type}"); + + if($type == "statuslabel") { + $view->with('statuslabel_types', Helper::statusTypeList()); + } + if(in_array($type, ['kit-model', 'kit-license', 'kit-consumable', 'kit-accessory'])) { + $view->with('kitId', $itemId); + } + return $view; } } diff --git a/resources/assets/js/snipeit_modals.js b/resources/assets/js/snipeit_modals.js index 6866802b6..f1301b03f 100644 --- a/resources/assets/js/snipeit_modals.js +++ b/resources/assets/js/snipeit_modals.js @@ -11,7 +11,7 @@ Create a Button looking like this: - <a href='{{ route('modal.user') }}' data-toggle="modal" data-target="#createModal" data-select='assigned_to' class="btn btn-sm btn-primary">New</a> + <a href='{{ route('modal.show', 'user') }}' data-toggle="modal" data-target="#createModal" data-select='assigned_to' class="btn btn-sm btn-primary">New</a> If you don't have access to Blade commands (like {{ and }}, etc), you can hard-code a URL as the 'href' diff --git a/resources/views/kits/edit.blade.php b/resources/views/kits/edit.blade.php index 791de26d8..22c584557 100644 --- a/resources/views/kits/edit.blade.php +++ b/resources/views/kits/edit.blade.php @@ -39,7 +39,7 @@ "ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"] }'> </table> - <a href="{{ route('modal.kit.model', ['kit' => $item->id]) }}" data-refresh="kitModelsTable" data-toggle="modal" data-target="#createModal" class="btn btn-primary pull-right"><i class="fa fa-plus icon-white"></i> Append</a> + <a href="{{ route('modal.show', ['type' => 'kit-model', 'itemId' => $item->id]) }}" data-refresh="kitModelsTable" data-toggle="modal" data-target="#createModal" class="btn btn-primary pull-right"><i class="fa fa-plus icon-white"></i> Append</a> </div> </div> <!--.box-body--> </div> <!-- /.box.box-default--> @@ -73,7 +73,7 @@ "ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"] }'> </table> - <a href="{{ route('modal.kit.license', ['kit' => $item->id]) }}" data-refresh="kitLicensesTable" data-toggle="modal" data-target="#createModal" class="btn btn-primary pull-right"><i class="fa fa-plus icon-white"></i> Append{{-- TODO: trans --}}</a> + <a href="{{ route('modal.show', [ 'type' => 'kit-license', 'itemId' => $item->id]) }}" data-refresh="kitLicensesTable" data-toggle="modal" data-target="#createModal" class="btn btn-primary pull-right"><i class="fa fa-plus icon-white"></i> Append{{-- TODO: trans --}}</a> </div> </div> <!--.box-body--> </div> <!-- /.box.box-default--> @@ -107,7 +107,7 @@ "ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"] }'> </table> - <a href="{{ route('modal.kit.consumable', ['kit' => $item->id]) }}" data-refresh="kitConsumablesTable" data-toggle="modal" data-target="#createModal" class="btn btn-primary pull-right"><i class="fa fa-plus icon-white"></i> Append{{-- TODO: trans --}}</a> + <a href="{{ route('modal.show', ['type' => 'kit-consumable', 'itemId' => $item->id]) }}" data-refresh="kitConsumablesTable" data-toggle="modal" data-target="#createModal" class="btn btn-primary pull-right"><i class="fa fa-plus icon-white"></i> Append{{-- TODO: trans --}}</a> </div> </div> <!--.box-body--> </div> <!-- /.box.box-default--> @@ -141,7 +141,7 @@ "ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"] }'> </table> - <a href="{{ route('modal.kit.accessory', ['kit' => $item->id]) }}" data-refresh="kitAccessoriesTable" data-toggle="modal" data-target="#createModal" class="btn btn-primary pull-right"><i class="fa fa-plus icon-white"></i> Append{{-- TODO: trans --}}</a> + <a href="{{ route('modal.show', ['type' => 'kit-accessory', 'itemId' => $item->id]) }}" data-refresh="kitAccessoriesTable" data-toggle="modal" data-target="#createModal" class="btn btn-primary pull-right"><i class="fa fa-plus icon-white"></i> Append{{-- TODO: trans --}}</a> </div> </div> <!--.box-body--> </div> <!-- /.box.box-default--> diff --git a/resources/views/modals/kit-accessory.blade.php b/resources/views/modals/kit-accessory.blade.php index 61d004f4f..6e5fd6807 100644 --- a/resources/views/modals/kit-accessory.blade.php +++ b/resources/views/modals/kit-accessory.blade.php @@ -7,11 +7,11 @@ <h4 class="modal-title">Append accessory{{-- TODO: trans --}}</h4> </div> <div class="modal-body"> - <form action="{{ route('api.kits.accessories.store', ['kit_id' => request('kit')]) }}" onsubmit="return false"> + <form action="{{ route('api.kits.accessories.store', $kitId) }}" onsubmit="return false"> {{ csrf_field() }} <div class="alert alert-danger" id="modal_error_msg" style="display:none"> </div> - + <div class="dynamic-form-row"> <div class="col-md-4 col-xs-12"><label for="modal-accessory_id">{{ trans('general.accessory') }}: </label></div> diff --git a/resources/views/modals/kit-consumable.blade.php b/resources/views/modals/kit-consumable.blade.php index 764055b6e..bdf027557 100644 --- a/resources/views/modals/kit-consumable.blade.php +++ b/resources/views/modals/kit-consumable.blade.php @@ -7,11 +7,11 @@ <h4 class="modal-title">Append consumable{{-- TODO: trans --}}</h4> </div> <div class="modal-body"> - <form action="{{ route('api.kits.consumables.store', ['kit_id' => request('kit')]) }}" onsubmit="return false"> + <form action="{{ route('api.kits.consumables.store', $kitId) }}" onsubmit="return false"> {{ csrf_field() }} <div class="alert alert-danger" id="modal_error_msg" style="display:none"> </div> - + <div class="dynamic-form-row"> <div class="col-md-4 col-xs-12"><label for="modal-consumable_id">{{ trans('general.consumable') }}: </label></div> diff --git a/resources/views/modals/kit-license.blade.php b/resources/views/modals/kit-license.blade.php index 2d2295648..dc2d30cf9 100644 --- a/resources/views/modals/kit-license.blade.php +++ b/resources/views/modals/kit-license.blade.php @@ -7,11 +7,11 @@ <h4 class="modal-title">Append license{{-- TODO: trans --}}</h4> </div> <div class="modal-body"> - <form action="{{ route('api.kits.licenses.store', ['kit_id' => request('kit')]) }}" onsubmit="return false"> + <form action="{{ route('api.kits.licenses.store', $kitId) }}" onsubmit="return false"> {{ csrf_field() }} <div class="alert alert-danger" id="modal_error_msg" style="display:none"> </div> - + <div class="dynamic-form-row"> <div class="col-md-4 col-xs-12"><label for="modal-license_id">{{ trans('general.license') }}: </label></div> diff --git a/resources/views/modals/kit-model.blade.php b/resources/views/modals/kit-model.blade.php index 33b9cfd67..d994c61a9 100644 --- a/resources/views/modals/kit-model.blade.php +++ b/resources/views/modals/kit-model.blade.php @@ -7,7 +7,7 @@ <h4 class="modal-title">Append model{{-- TODO: trans --}}</h4> </div> <div class="modal-body"> - <form action="{{ route('api.kits.models.store', ['kit_id' => request('kit')]) }}" onsubmit="return false"> + <form action="{{ route('api.kits.models.store', $kitId) }}" onsubmit="return false"> {{ csrf_field() }} <div class="alert alert-danger" id="modal_error_msg" style="display:none"> </div> diff --git a/resources/views/partials/forms/edit/category-select.blade.php b/resources/views/partials/forms/edit/category-select.blade.php index 10f0f8c0c..36f7d284e 100644 --- a/resources/views/partials/forms/edit/category-select.blade.php +++ b/resources/views/partials/forms/edit/category-select.blade.php @@ -18,7 +18,7 @@ <div class="col-md-1 col-sm-1 text-left"> @can('create', \App\Models\Category::class) @if ((!isset($hide_new)) || ($hide_new!='true')) - <a href='{{ route('modal.category',['category_type' => isset($category_type) ? $category_type : 'assets' ]) }}' data-toggle="modal" data-target="#createModal" data-select='category_select_id' class="btn btn-sm btn-primary">New</a> + <a href='{{ route('modal.show',['type' => 'category', 'category_type' => isset($category_type) ? $category_type : 'assets' ]) }}' data-toggle="modal" data-target="#createModal" data-select='category_select_id' class="btn btn-sm btn-primary">New</a> @endif @endcan </div> diff --git a/resources/views/partials/forms/edit/kit-select.blade.php b/resources/views/partials/forms/edit/kit-select.blade.php index fdbb31de8..98941a3e8 100644 --- a/resources/views/partials/forms/edit/kit-select.blade.php +++ b/resources/views/partials/forms/edit/kit-select.blade.php @@ -17,7 +17,7 @@ <div class="col-md-1 col-sm-1 text-left"> @can('create', \App\Models\PredefinedKit::class) @if ((!isset($hide_new)) || ($hide_new!='true')) - {{-- <a href='{{ route('modal.kit') }}' data-toggle="modal" data-target="#createModal" data-select='kit_id_select' class="btn btn-sm btn-default">New</a> --}} + {{-- <a href='{{ route('modal.show, 'kit') }}' data-toggle="modal" data-target="#createModal" data-select='kit_id_select' class="btn btn-sm btn-default">New</a> --}} @endif @endcan </div> diff --git a/resources/views/partials/forms/edit/location-select.blade.php b/resources/views/partials/forms/edit/location-select.blade.php index 4fa0351dc..2c2e0045a 100644 --- a/resources/views/partials/forms/edit/location-select.blade.php +++ b/resources/views/partials/forms/edit/location-select.blade.php @@ -17,7 +17,7 @@ <div class="col-md-1 col-sm-1 text-left"> @can('create', \App\Models\Location::class) @if ((!isset($hide_new)) || ($hide_new!='true')) - <a href='{{ route('modal.location') }}' data-toggle="modal" data-target="#createModal" data-select='{{ $fieldname }}_location_select' class="btn btn-sm btn-primary">New</a> + <a href='{{ route('modal.show', 'location') }}' data-toggle="modal" data-target="#createModal" data-select='{{ $fieldname }}_location_select' class="btn btn-sm btn-primary">New</a> @endif @endcan </div> diff --git a/resources/views/partials/forms/edit/manufacturer-select.blade.php b/resources/views/partials/forms/edit/manufacturer-select.blade.php index fa5a858f5..17af4ac8d 100644 --- a/resources/views/partials/forms/edit/manufacturer-select.blade.php +++ b/resources/views/partials/forms/edit/manufacturer-select.blade.php @@ -19,7 +19,7 @@ <div class="col-md-1 col-sm-1 text-left"> @can('create', \App\Models\Manufacturer::class) @if ((!isset($hide_new)) || ($hide_new!='true')) - <a href='{{ route('modal.manufacturer') }}' data-toggle="modal" data-target="#createModal" data-select='manufacturer_select_id' class="btn btn-sm btn-primary">New</a> + <a href='{{ route('modal.show', 'manufacturer') }}' data-toggle="modal" data-target="#createModal" data-select='manufacturer_select_id' class="btn btn-sm btn-primary">New</a> @endif @endcan </div> diff --git a/resources/views/partials/forms/edit/model-select.blade.php b/resources/views/partials/forms/edit/model-select.blade.php index 638aabe06..6010cb492 100644 --- a/resources/views/partials/forms/edit/model-select.blade.php +++ b/resources/views/partials/forms/edit/model-select.blade.php @@ -18,7 +18,7 @@ <div class="col-md-1 col-sm-1 text-left"> @can('create', \App\Models\AssetModel::class) @if ((!isset($hide_new)) || ($hide_new!='true')) - <a href='{{ route('modal.model') }}' data-toggle="modal" data-target="#createModal" data-select='model_select_id' class="btn btn-sm btn-primary">New</a> + <a href='{{ route('modal.show', 'model') }}' data-toggle="modal" data-target="#createModal" data-select='model_select_id' class="btn btn-sm btn-primary">New</a> <span class="mac_spinner" style="padding-left: 10px; color: green; display:none; width: 30px;"> <i class="fa fa-spinner fa-spin" aria-hidden="true"></i> </span> diff --git a/resources/views/partials/forms/edit/status.blade.php b/resources/views/partials/forms/edit/status.blade.php index 4c657f5e6..2800ff3e2 100644 --- a/resources/views/partials/forms/edit/status.blade.php +++ b/resources/views/partials/forms/edit/status.blade.php @@ -8,7 +8,7 @@ <div class="col-md-2 col-sm-2 text-left"> @can('create', \App\Models\Statuslabel::class) - <a href='{{ route('modal.statuslabel') }}' data-toggle="modal" data-target="#createModal" data-select='status_select_id' class="btn btn-sm btn-primary">New</a> + <a href='{{ route('modal.show', 'statuslabel') }}' data-toggle="modal" data-target="#createModal" data-select='status_select_id' class="btn btn-sm btn-primary">New</a> @endcan <span class="status_spinner" style="padding-left: 10px; color: green; display:none; width: 30px;"><i class="fa fa-spinner fa-spin" aria-hidden="true"></i> </span> diff --git a/resources/views/partials/forms/edit/supplier-select.blade.php b/resources/views/partials/forms/edit/supplier-select.blade.php index 9315b8d5f..345153926 100644 --- a/resources/views/partials/forms/edit/supplier-select.blade.php +++ b/resources/views/partials/forms/edit/supplier-select.blade.php @@ -17,7 +17,7 @@ <div class="col-md-1 col-sm-1 text-left"> @can('create', \App\Models\Supplier::class) @if ((!isset($hide_new)) || ($hide_new!='true')) - <a href='{{ route('modal.supplier') }}' data-toggle="modal" data-target="#createModal" data-select='supplier_select' class="btn btn-sm btn-primary">New</a> + <a href='{{ route('modal.show', 'supplier') }}' data-toggle="modal" data-target="#createModal" data-select='supplier_select' class="btn btn-sm btn-primary">New</a> @endif @endcan </div> diff --git a/resources/views/partials/forms/edit/supplier.blade.php b/resources/views/partials/forms/edit/supplier.blade.php index 422c88707..f49c7cc34 100644 --- a/resources/views/partials/forms/edit/supplier.blade.php +++ b/resources/views/partials/forms/edit/supplier.blade.php @@ -6,6 +6,6 @@ {!! $errors->first('supplier_id', '<span class="alert-msg" aria-hidden="true"><i class="fa fa-times" aria-hidden="true"></i> :message</span>') !!} </div> <div class="col-md-1 col-sm-1 text-left"> - <a href='{{ route('modal.supplier') }}' data-toggle="modal" data-target="#createModal" data-dependency="supplier" data-select='supplier_select_id' class="btn btn-sm btn-primary">New</a> + <a href='{{ route('modal.show', 'supplier') }}' data-toggle="modal" data-target="#createModal" data-dependency="supplier" data-select='supplier_select_id' class="btn btn-sm btn-primary">New</a> </div> </div> diff --git a/resources/views/partials/forms/edit/user-select.blade.php b/resources/views/partials/forms/edit/user-select.blade.php index 9d30dfd1b..1b98398b8 100644 --- a/resources/views/partials/forms/edit/user-select.blade.php +++ b/resources/views/partials/forms/edit/user-select.blade.php @@ -17,7 +17,7 @@ <div class="col-md-1 col-sm-1 text-left"> @can('create', \App\Models\User::class) @if ((!isset($hide_new)) || ($hide_new!='true')) - <a href='{{ route('modal.user') }}' data-toggle="modal" data-target="#createModal" data-select='assigned_user_select' class="btn btn-sm btn-primary">New</a> + <a href='{{ route('modal.show', 'user') }}' data-toggle="modal" data-target="#createModal" data-select='assigned_user_select' class="btn btn-sm btn-primary">New</a> @endif @endcan </div> diff --git a/routes/web.php b/routes/web.php index 7ecc4b1fe..a9cf2162d 100644 --- a/routes/web.php +++ b/routes/web.php @@ -80,17 +80,7 @@ Route::group(['middleware' => 'auth'], function () { */ Route::group(['middleware' => 'auth','prefix' => 'modals'], function () { - Route::get('location',['as' => 'modal.location','uses' => 'ModalController@location']); - Route::get('category',['as' => 'modal.category','uses' => 'ModalController@category']); - Route::get('manufacturer',['as' => 'modal.manufacturer','uses' => 'ModalController@manufacturer']); - Route::get('model',['as' => 'modal.model','uses' => 'ModalController@model']); - Route::get('statuslabel',['as' => 'modal.statuslabel','uses' => 'ModalController@statuslabel']); - Route::get('supplier',['as' => 'modal.supplier','uses' => 'ModalController@supplier']); - Route::get('user',['as' => 'modal.user','uses' => 'ModalController@user']); - Route::get('kit-model',['as' => 'modal.kit.model','uses' => 'ModalController@kitModel']); - Route::get('kit-license',['as' => 'modal.kit.license','uses' => 'ModalController@kitLicense']); - Route::get('kit-consumable',['as' => 'modal.kit.consumable','uses' => 'ModalController@kitConsumable']); - Route::get('kit-accessory',['as' => 'modal.kit.accessory','uses' => 'ModalController@kitAccessory']); + Route::get('{type}/{itemId?}',['as' => 'modal.show', 'uses' => 'ModalController@show']); }); /* -- GitLab