diff --git a/app/Http/Controllers/Api/AssetsController.php b/app/Http/Controllers/Api/AssetsController.php
index ced1f013c6..16cef00d4d 100644
--- a/app/Http/Controllers/Api/AssetsController.php
+++ b/app/Http/Controllers/Api/AssetsController.php
@@ -136,68 +136,6 @@ class AssetsController extends Controller
}
}
- if ($request->filled('status_id')) {
- $assets->where('assets.status_id', '=', $request->input('status_id'));
- }
-
- if ($request->filled('asset_tag')) {
- $assets->where('assets.asset_tag', '=', $request->input('asset_tag'));
- }
-
- if ($request->filled('serial')) {
- $assets->where('assets.serial', '=', $request->input('serial'));
- }
-
- if ($request->input('requestable') == 'true') {
- $assets->where('assets.requestable', '=', '1');
- }
-
- if ($request->filled('model_id')) {
- $assets->InModelList([$request->input('model_id')]);
- }
-
- if ($request->filled('category_id')) {
- $assets->InCategory($request->input('category_id'));
- }
-
- if ($request->filled('location_id')) {
- $assets->where('assets.location_id', '=', $request->input('location_id'));
- }
-
- if ($request->filled('rtd_location_id')) {
- $assets->where('assets.rtd_location_id', '=', $request->input('rtd_location_id'));
- }
-
- if ($request->filled('supplier_id')) {
- $assets->where('assets.supplier_id', '=', $request->input('supplier_id'));
- }
-
- if ($request->filled('asset_eol_date')) {
- $assets->where('assets.asset_eol_date', '=', $request->input('asset_eol_date'));
- }
-
- if (($request->filled('assigned_to')) && ($request->filled('assigned_type'))) {
- $assets->where('assets.assigned_to', '=', $request->input('assigned_to'))
- ->where('assets.assigned_type', '=', $request->input('assigned_type'));
- }
-
- if ($request->filled('company_id')) {
- $assets->where('assets.company_id', '=', $request->input('company_id'));
- }
-
- if ($request->filled('manufacturer_id')) {
- $assets->ByManufacturer($request->input('manufacturer_id'));
- }
-
- if ($request->filled('depreciation_id')) {
- $assets->ByDepreciationId($request->input('depreciation_id'));
- }
-
- if ($request->filled('byod')) {
- $assets->where('assets.byod', '=', $request->input('byod'));
- }
-
- $request->filled('order_number') ? $assets = $assets->where('assets.order_number', '=', e($request->get('order_number'))) : '';
// Make sure the offset and limit are actually integers and do not exceed system limits
$offset = ($request->input('offset') > $assets->count()) ? $assets->count() : abs($request->input('offset'));
@@ -300,6 +238,71 @@ class AssetsController extends Controller
$assets->TextSearch($request->input('search'));
}
+ // Leave these under the TextSearch scope, else the fuzziness will override the specific ID (status ID, etc) requested
+ if ($request->filled('status_id')) {
+ $assets->where('assets.status_id', '=', $request->input('status_id'));
+ }
+
+ if ($request->filled('asset_tag')) {
+ $assets->where('assets.asset_tag', '=', $request->input('asset_tag'));
+ }
+
+ if ($request->filled('serial')) {
+ $assets->where('assets.serial', '=', $request->input('serial'));
+ }
+
+ if ($request->input('requestable') == 'true') {
+ $assets->where('assets.requestable', '=', '1');
+ }
+
+ if ($request->filled('model_id')) {
+ $assets->InModelList([$request->input('model_id')]);
+ }
+
+ if ($request->filled('category_id')) {
+ $assets->InCategory($request->input('category_id'));
+ }
+
+ if ($request->filled('location_id')) {
+ $assets->where('assets.location_id', '=', $request->input('location_id'));
+ }
+
+ if ($request->filled('rtd_location_id')) {
+ $assets->where('assets.rtd_location_id', '=', $request->input('rtd_location_id'));
+ }
+
+ if ($request->filled('supplier_id')) {
+ $assets->where('assets.supplier_id', '=', $request->input('supplier_id'));
+ }
+
+ if ($request->filled('asset_eol_date')) {
+ $assets->where('assets.asset_eol_date', '=', $request->input('asset_eol_date'));
+ }
+
+ if (($request->filled('assigned_to')) && ($request->filled('assigned_type'))) {
+ $assets->where('assets.assigned_to', '=', $request->input('assigned_to'))
+ ->where('assets.assigned_type', '=', $request->input('assigned_type'));
+ }
+
+ if ($request->filled('company_id')) {
+ $assets->where('assets.company_id', '=', $request->input('company_id'));
+ }
+
+ if ($request->filled('manufacturer_id')) {
+ $assets->ByManufacturer($request->input('manufacturer_id'));
+ }
+
+ if ($request->filled('depreciation_id')) {
+ $assets->ByDepreciationId($request->input('depreciation_id'));
+ }
+
+ if ($request->filled('byod')) {
+ $assets->where('assets.byod', '=', $request->input('byod'));
+ }
+
+ if ($request->filled('order_number')) {
+ $assets->where('assets.order_number', '=', $request->get('order_number'));
+ }
// This is kinda gross, but we need to do this because the Bootstrap Tables
// API passes custom field ordering as custom_fields.fieldname, and we have to strip
diff --git a/app/Importer/AssetImporter.php b/app/Importer/AssetImporter.php
index e8da1e06b4..be19455618 100644
--- a/app/Importer/AssetImporter.php
+++ b/app/Importer/AssetImporter.php
@@ -12,7 +12,10 @@ class AssetImporter extends ItemImporter
public function __construct($filename)
{
parent::__construct($filename);
- $this->defaultStatusLabelId = Statuslabel::first()->id;
+
+ if (!is_null(Statuslabel::first())) {
+ $this->defaultStatusLabelId = Statuslabel::first()->id;
+ }
}
protected function handle($row)
diff --git a/app/Models/Asset.php b/app/Models/Asset.php
index 1d7595e5d9..c716b77d1e 100644
--- a/app/Models/Asset.php
+++ b/app/Models/Asset.php
@@ -1566,7 +1566,7 @@ class Asset extends Depreciable
*/
public function scopeOrderModelNumber($query, $order)
{
- return $query->join('models', 'assets.model_id', '=', 'models.id')->orderBy('models.model_number', $order);
+ return $query->leftJoin('models as model_number_sort', 'assets.model_id', '=', 'models.id')->orderBy('models.model_number', $order);
}
diff --git a/app/Presenters/AssetAuditPresenter.php b/app/Presenters/AssetAuditPresenter.php
index 2c25a6aa06..a332950de1 100644
--- a/app/Presenters/AssetAuditPresenter.php
+++ b/app/Presenters/AssetAuditPresenter.php
@@ -44,13 +44,13 @@ class AssetAuditPresenter extends Presenter
'visible' => true,
'formatter' => 'hardwareLinkFormatter',
], [
- 'field' => 'image',
+ 'field' => 'file',
'searchable' => false,
'sortable' => true,
'switchable' => true,
'title' => trans('admin/hardware/table.image'),
'visible' => false,
- 'formatter' => 'imageFormatter',
+ 'formatter' => 'auditImageFormatter',
], [
'field' => 'asset_tag',
'searchable' => true,
diff --git a/resources/views/partials/bootstrap-table.blade.php b/resources/views/partials/bootstrap-table.blade.php
index 0a4ac1b031..473110fbf5 100644
--- a/resources/views/partials/bootstrap-table.blade.php
+++ b/resources/views/partials/bootstrap-table.blade.php
@@ -652,11 +652,15 @@
}
}
+ function auditImageFormatter(value){
+ if (value){
+ return ''
+ }
+ }
+
function imageFormatter(value, row) {
-
-
if (value) {
// This is a clunky override to handle unusual API responses where we're presenting a link instead of an array
diff --git a/resources/views/reports/audit.blade.php b/resources/views/reports/audit.blade.php
index 15ad80964d..3d16b0714b 100644
--- a/resources/views/reports/audit.blade.php
+++ b/resources/views/reports/audit.blade.php
@@ -34,7 +34,7 @@
- {{ trans('admin/hardware/table.image') }} |
+ {{ trans('admin/hardware/table.image') }} |
{{ trans('general.audit') }} |
{{ trans('general.admin') }} |
{{ trans('general.item') }} |