diff --git a/app/Http/Controllers/AccessoriesController.php b/app/Http/Controllers/AccessoriesController.php index 77a5d6fe47..7ff9ce2ded 100755 --- a/app/Http/Controllers/AccessoriesController.php +++ b/app/Http/Controllers/AccessoriesController.php @@ -56,12 +56,7 @@ class AccessoriesController extends Controller $this->authorize('create', Accessory::class); // Show the page return view('accessories/edit') - ->with('item', new Accessory) - ->with('category_list', Helper::categoryList('accessory')) - ->with('company_list', Helper::companyList()) - ->with('supplier_list', Helper::suppliersList()) - ->with('location_list', Helper::locationsList()) - ->with('manufacturer_list', Helper::manufacturerList()); + ->with('item', new Accessory); } @@ -137,12 +132,7 @@ class AccessoriesController extends Controller $this->authorize($item); - return view('accessories/edit', compact('item')) - ->with('category_list', Helper::categoryList('accessory')) - ->with('company_list', Helper::companyList()) - ->with('location_list', Helper::locationsList()) - ->with('supplier_list', Helper::suppliersList()) - ->with('manufacturer_list', Helper::manufacturerList()); + return view('accessories/edit', compact('item')); } diff --git a/app/Http/Controllers/Api/CategoriesController.php b/app/Http/Controllers/Api/CategoriesController.php index e3e470f494..9a5a33092e 100644 --- a/app/Http/Controllers/Api/CategoriesController.php +++ b/app/Http/Controllers/Api/CategoriesController.php @@ -159,7 +159,6 @@ class CategoriesController extends Controller // This lets us have more flexibility in special cases like assets, where // they may not have a ->name value but we want to display something anyway foreach ($categories as $category) { - $category->use_text = $category->name; $category->use_image = ($category->image) ? url('/').'/uploads/categories/'.$category->image : null; } diff --git a/app/Http/Controllers/Api/CompaniesController.php b/app/Http/Controllers/Api/CompaniesController.php index cf8d09065c..3a21e80290 100644 --- a/app/Http/Controllers/Api/CompaniesController.php +++ b/app/Http/Controllers/Api/CompaniesController.php @@ -171,7 +171,6 @@ class CompaniesController extends Controller // This lets us have more flexibility in special cases like assets, where // they may not have a ->name value but we want to display something anyway foreach ($companies as $company) { - $company->use_text = $company->name; $company->use_image = ($company->image) ? url('/').'/uploads/companies/'.$company->image : null; } diff --git a/app/Http/Controllers/Api/DepartmentsController.php b/app/Http/Controllers/Api/DepartmentsController.php index e7f0ac2996..a899708ee7 100644 --- a/app/Http/Controllers/Api/DepartmentsController.php +++ b/app/Http/Controllers/Api/DepartmentsController.php @@ -8,6 +8,7 @@ use App\Models\Department; use App\Http\Transformers\DepartmentsTransformer; use App\Helpers\Helper; use Auth; +use App\Http\Transformers\SelectlistTransformer; class DepartmentsController extends Controller { @@ -111,4 +112,39 @@ class DepartmentsController extends Controller } + /** + * Gets a paginated collection for the select2 menus + * + * @author [A. Gianotto] [] + * @since [v4.0.16] + * @see \App\Http\Transformers\SelectlistTransformer + * + */ + public function selectlist(Request $request) + { + $this->authorize('view', Department::class); + + $departments = Department::select([ + 'id', + 'name', + 'image', + ]); + + if ($request->has('search')) { + $departments = $departments->where('name', 'LIKE', '%'.$request->get('search').'%'); + } + + $departments = $departments->orderBy('name', 'ASC')->paginate(50); + + // Loop through and set some custom properties for the transformer to use. + // This lets us have more flexibility in special cases like assets, where + // they may not have a ->name value but we want to display something anyway + foreach ($departments as $department) { + $department->use_image = ($department->image) ? url('/').'/uploads/departments/'.$department->image : null; + } + + return (new SelectlistTransformer)->transformSelectlist($departments); + + } + } diff --git a/app/Http/Controllers/ComponentsController.php b/app/Http/Controllers/ComponentsController.php index 41f4c36152..ac5becd220 100644 --- a/app/Http/Controllers/ComponentsController.php +++ b/app/Http/Controllers/ComponentsController.php @@ -61,10 +61,7 @@ class ComponentsController extends Controller $this->authorize('create', Component::class); // Show the page return view('components/edit') - ->with('item', new Component) - ->with('category_list', Helper::categoryList('component')) - ->with('company_list', Helper::companyList()) - ->with('location_list', Helper::locationsList()); + ->with('item', new Component); } @@ -128,9 +125,7 @@ class ComponentsController extends Controller $this->authorize('update', $item); return view('components/edit', compact('item')) - ->with('category_list', Helper::categoryList('component')) - ->with('company_list', Helper::companyList()) - ->with('location_list', Helper::locationsList()); + ->with('category_list', Helper::categoryList('component')); } diff --git a/app/Http/Controllers/ConsumablesController.php b/app/Http/Controllers/ConsumablesController.php index 6201b8af46..098bb7ab90 100644 --- a/app/Http/Controllers/ConsumablesController.php +++ b/app/Http/Controllers/ConsumablesController.php @@ -58,11 +58,7 @@ class ConsumablesController extends Controller $this->authorize('create', Consumable::class); // Show the page return view('consumables/edit') - ->with('item', new Consumable) - ->with('category_list', Helper::categoryList('consumable')) - ->with('company_list', Helper::companyList()) - ->with('location_list', Helper::locationsList()) - ->with('manufacturer_list', Helper::manufacturerList()); + ->with('item', new Consumable); } diff --git a/app/Http/Controllers/LicensesController.php b/app/Http/Controllers/LicensesController.php index 2d0dcf5a4a..3d4366adbc 100755 --- a/app/Http/Controllers/LicensesController.php +++ b/app/Http/Controllers/LicensesController.php @@ -67,10 +67,7 @@ class LicensesController extends Controller return view('licenses/edit') //->with('license_options',$license_options) ->with('depreciation_list', Helper::depreciationList()) - ->with('supplier_list', Helper::suppliersList()) ->with('maintained_list', $maintained_list) - ->with('company_list', Helper::companyList()) - ->with('manufacturer_list', Helper::manufacturerList()) ->with('item', new License); } @@ -144,10 +141,7 @@ class LicensesController extends Controller return view('licenses/edit', compact('item')) ->with('depreciation_list', Helper::depreciationList()) - ->with('supplier_list', Helper::suppliersList()) - ->with('company_list', Helper::companyList()) - ->with('maintained_list', $maintained_list) - ->with('manufacturer_list', Helper::manufacturerList()); + ->with('maintained_list', $maintained_list); } @@ -254,9 +248,7 @@ class LicensesController extends Controller } $this->authorize('checkout', $licenseSeat); - return view('licenses/checkout', compact('licenseSeat')) - ->with('users_list', Helper::usersList()) - ->with('asset_list', Helper::detailedAssetList()); + return view('licenses/checkout', compact('licenseSeat')); } @@ -472,11 +464,8 @@ class LicensesController extends Controller // Show the page return view('licenses/edit') ->with('depreciation_list', Helper::depreciationList()) - ->with('supplier_list', Helper::suppliersList()) ->with('item', $license) - ->with('maintained_list', $maintained_list) - ->with('company_list', Helper::companyList()) - ->with('manufacturer_list', Helper::manufacturerList()); + ->with('maintained_list', $maintained_list); } diff --git a/app/Http/Controllers/UsersController.php b/app/Http/Controllers/UsersController.php index 0a8eb4c0fa..47859e4bca 100755 --- a/app/Http/Controllers/UsersController.php +++ b/app/Http/Controllers/UsersController.php @@ -85,10 +85,6 @@ class UsersController extends Controller $permissions = $this->filterDisplayable($permissions); return view('users/edit', compact('groups', 'userGroups', 'permissions', 'userPermissions')) - ->with('location_list', Helper::locationsList()) - ->with('manager_list', Helper::managerList()) - ->with('company_list', Helper::companyList()) - ->with('department_list', Helper::departmentList()) ->with('user', new User); } diff --git a/app/Http/Transformers/SelectlistTransformer.php b/app/Http/Transformers/SelectlistTransformer.php index 5ac059e352..54b55122fc 100644 --- a/app/Http/Transformers/SelectlistTransformer.php +++ b/app/Http/Transformers/SelectlistTransformer.php @@ -25,7 +25,7 @@ class SelectlistTransformer foreach ($select_items as $select_item) { $items_array[]= [ 'id' => (int) $select_item->id, - 'text' => e($select_item->use_text), + 'text' => ($select_item->use_text) ? e($select_item->use_text) : e($select_item->name), 'image' => ($select_item->use_image) ? e($select_item->use_image) : null, ]; diff --git a/resources/views/accessories/edit.blade.php b/resources/views/accessories/edit.blade.php index 4c361682ad..2e9d278d80 100755 --- a/resources/views/accessories/edit.blade.php +++ b/resources/views/accessories/edit.blade.php @@ -9,12 +9,12 @@ {{-- Page content --}} @section('inputFields') -@include ('partials.forms.edit.company') +@include ('partials.forms.edit.company-select', ['translated_name' => trans('general.company'), 'fieldname' => 'company_id']) @include ('partials.forms.edit.name', ['translated_name' => trans('admin/accessories/general.accessory_name')]) -@include ('partials.forms.edit.category') -@include ('partials.forms.edit.supplier') -@include ('partials.forms.edit.manufacturer') -@include ('partials.forms.edit.location') +@include ('partials.forms.edit.category-select', ['translated_name' => trans('general.category'), 'fieldname' => 'category_id']) +@include ('partials.forms.edit.supplier-select', ['translated_name' => trans('general.supplier'), 'fieldname' => 'supplier_id']) +@include ('partials.forms.edit.manufacturer-select', ['translated_name' => trans('general.manufacturer'), 'fieldname' => 'manufacturer_id']) +@include ('partials.forms.edit.location-select', ['translated_name' => trans('general.location'), 'fieldname' => 'location_id']) @include ('partials.forms.edit.model_number') @include ('partials.forms.edit.order_number') @include ('partials.forms.edit.purchase_date') diff --git a/resources/views/components/edit.blade.php b/resources/views/components/edit.blade.php index 24f94e9b47..5e1b7e2489 100644 --- a/resources/views/components/edit.blade.php +++ b/resources/views/components/edit.blade.php @@ -11,12 +11,12 @@ @section('inputFields') @include ('partials.forms.edit.name', ['translated_name' => trans('admin/components/table.title')]) -@include ('partials.forms.edit.category') +@include ('partials.forms.edit.category-select', ['translated_name' => trans('general.category'), 'fieldname' => 'category_id']) @include ('partials.forms.edit.quantity') @include ('partials.forms.edit.minimum_quantity') @include ('partials.forms.edit.serial') -@include ('partials.forms.edit.company') -@include ('partials.forms.edit.location') +@include ('partials.forms.edit.company-select', ['translated_name' => trans('general.company'), 'fieldname' => 'company_id']) +@include ('partials.forms.edit.location-select', ['translated_name' => trans('general.location'), 'fieldname' => 'location_id']) @include ('partials.forms.edit.order_number') @include ('partials.forms.edit.purchase_date') @include ('partials.forms.edit.purchase_cost') diff --git a/resources/views/consumables/edit.blade.php b/resources/views/consumables/edit.blade.php index 48f5d38c09..0b391507bc 100644 --- a/resources/views/consumables/edit.blade.php +++ b/resources/views/consumables/edit.blade.php @@ -8,11 +8,11 @@ {{-- Page content --}} @section('inputFields') -@include ('partials.forms.edit.company') +@include ('partials.forms.edit.company-select', ['translated_name' => trans('general.company'), 'fieldname' => 'company_id']) @include ('partials.forms.edit.name', ['translated_name' => trans('admin/consumables/table.title')]) -@include ('partials.forms.edit.category') -@include ('partials.forms.edit.manufacturer') -@include ('partials.forms.edit.location') +@include ('partials.forms.edit.category-select', ['translated_name' => trans('general.category'), 'fieldname' => 'category_id']) +@include ('partials.forms.edit.manufacturer-select', ['translated_name' => trans('general.manufacturer'), 'fieldname' => 'manufacturer_id']) +@include ('partials.forms.edit.location-select', ['translated_name' => trans('general.location'), 'fieldname' => 'location_id']) @include ('partials.forms.edit.model_number') @include ('partials.forms.edit.item_number') @include ('partials.forms.edit.order_number') diff --git a/resources/views/licenses/edit.blade.php b/resources/views/licenses/edit.blade.php index 0e3a8279d2..23854fc826 100755 --- a/resources/views/licenses/edit.blade.php +++ b/resources/views/licenses/edit.blade.php @@ -30,8 +30,8 @@ {!! $errors->first('seats', '
:message
') !!} -@include ('partials.forms.edit.company') -@include ('partials.forms.edit.manufacturer') +@include ('partials.forms.edit.company-select', ['translated_name' => trans('general.company'), 'fieldname' => 'company_id']) +@include ('partials.forms.edit.manufacturer-select', ['translated_name' => trans('general.manufacturer'), 'fieldname' => 'manufacturer_id'])
@@ -61,7 +61,7 @@
-@include ('partials.forms.edit.supplier') +@include ('partials.forms.edit.supplier-select', ['translated_name' => trans('general.supplier'), 'fieldname' => 'supplier_id']) @include ('partials.forms.edit.order_number') @include ('partials.forms.edit.purchase_cost') @include ('partials.forms.edit.purchase_date') diff --git a/resources/views/partials/forms/edit/asset-select.blade.php b/resources/views/partials/forms/edit/asset-select.blade.php index 7143320927..6df7a948ef 100644 --- a/resources/views/partials/forms/edit/asset-select.blade.php +++ b/resources/views/partials/forms/edit/asset-select.blade.php @@ -3,7 +3,7 @@ {{ Form::label($fieldname, $translated_name, array('class' => 'col-md-3 control-label')) }}
- @if ($company_id = Input::old($fieldname, $item->{$fieldname})) + @if ($company_id = Input::old($fieldname, (isset($item)) ? $item->{$fieldname} : '')) @else - + @endif
diff --git a/resources/views/partials/forms/edit/department-select.blade.php b/resources/views/partials/forms/edit/department-select.blade.php new file mode 100644 index 0000000000..8ade5b0188 --- /dev/null +++ b/resources/views/partials/forms/edit/department-select.blade.php @@ -0,0 +1,20 @@ +
+ + {{ Form::label($fieldname, $translated_name, array('class' => 'col-md-3 control-label')) }} + +
+ +
+ + + {!! $errors->first($fieldname, '
:message
') !!} + +
diff --git a/resources/views/partials/forms/edit/location-select.blade.php b/resources/views/partials/forms/edit/location-select.blade.php index 534a8b1ec7..99865af174 100644 --- a/resources/views/partials/forms/edit/location-select.blade.php +++ b/resources/views/partials/forms/edit/location-select.blade.php @@ -4,7 +4,7 @@ {{ Form::label($fieldname, $translated_name, array('class' => 'col-md-3 control-label')) }}
- @if ($user_id = Input::old($fieldname, $item->{$fieldname})) + @if ($user_id = Input::old($fieldname, (isset($item)) ? $item->{$fieldname} : '')) diff --git a/resources/views/users/edit.blade.php b/resources/views/users/edit.blade.php index b4f9b2a5a3..091dc1a60b 100755 --- a/resources/views/users/edit.blade.php +++ b/resources/views/users/edit.blade.php @@ -150,8 +150,7 @@ autocomplete="off" readonly onfocus="this.removeAttribute('readonly');" - {{ ((config('app.lock_passwords') && ($user->id)) ? ' disabled' : '') }} - > + {{ ((config('app.lock_passwords') && ($user->id)) ? ' disabled' : '') }}> @else (Managed via LDAP) @endif @@ -202,8 +201,7 @@ {{ ((config('app.lock_passwords') && ($user->id)) ? ' disabled' : '') }} autocomplete="off" readonly - onfocus="this.removeAttribute('readonly');" - > + onfocus="this.removeAttribute('readonly');"> @if (config('app.lock_passwords') && ($user->id))

{{ trans('admin/users/table.lock_passwords') }}

@endif @@ -213,16 +211,7 @@ @if (\App\Models\Company::canManageUsersCompanies()) - -
-
- {{ Form::label('company_id', trans('general.company')) }} -
-
- {{ Form::select('company_id', $company_list , Input::old('company_id', $user->company_id), array('class'=>'select2', 'style'=>'width:350px')) }} - {!! $errors->first('company_id', ':message') !!} -
-
+ @include ('partials.forms.edit.company-select', ['translated_name' => trans('general.select_company'), 'fieldname' => 'company_id']) @endif @@ -267,35 +256,14 @@ -
- -
- {{ Form::select('manager_id', $manager_list , Input::old('manager_id', $user->manager_id), array('class'=>'select2', 'style'=>'width:350px')) }} - {!! $errors->first('manager_id', ':message') !!} -
-
+ @include ('partials.forms.edit.user-select', ['translated_name' => trans('general.select_user'), 'fieldname' => 'manager_id']) -
- -
- {{ Form::select('department_id', $department_list , Input::old('department_id', $user->department_id), array('class'=>'select2', 'style'=>'width:350px')) }} - {!! $errors->first('department_id', ' :message') !!} -
-
+ @include ('partials.forms.edit.department-select', ['translated_name' => trans('general.select_department'), 'fieldname' => 'department_id']) -
- -
- {{ Form::select('location_id', $location_list , Input::old('location_id', $user->location_id), array('class'=>'select2', 'style'=>'width:350px')) }} - {!! $errors->first('location_id', ':message') !!} -
-
+ @include ('partials.forms.edit.location-select', ['translated_name' => trans('general.select_location'), 'fieldname' => 'location_id'])
diff --git a/resources/views/users/index.blade.php b/resources/views/users/index.blade.php index 1fcd3a10b2..4403984e59 100755 --- a/resources/views/users/index.blade.php +++ b/resources/views/users/index.blade.php @@ -67,7 +67,7 @@ array('deleted'=> (Input::get('status')=='deleted') ? 'true' : 'false','company_id'=>e(Input::get('company_id')))) }}" data-cookie="true" data-click-to-select="true" - data-cookie-id-table="userTableDisplay-{{ config('version.hash_version') }}"> + data-cookie-id-table="userlTableDisplay-{{ config('version.hash_version') }}"> diff --git a/routes/api.php b/routes/api.php index b6268e8cbb..2b5cb63d30 100644 --- a/routes/api.php +++ b/routes/api.php @@ -98,6 +98,20 @@ Route::group(['prefix' => 'v1','namespace' => 'Api'], function () { /*--- Departments API ---*/ + /*--- Suppliers API ---*/ + Route::group(['prefix' => 'departments'], function () { + + + Route::get('selectlist', + [ + 'as' => 'api.departments.selectlist', + 'uses' => 'DepartmentsController@selectlist' + ] + ); + }); // Departments group + + + Route::resource('departments', 'DepartmentsController', [ 'names' => @@ -568,7 +582,7 @@ Route::group(['prefix' => 'v1','namespace' => 'Api'], function () { 'uses' => 'SuppliersController@selectlist' ] ); - }); // Categories group + }); // Suppliers group Route::resource('suppliers', 'SuppliersController',