From 976957ddd453db3035b0cf04864694ad886b126f Mon Sep 17 00:00:00 2001 From: NMC Date: Sun, 1 Aug 2021 14:30:16 -0400 Subject: [PATCH 01/10] Add Maintained filed in licenses view and api. + Expires in API --- app/Http/Controllers/Api/LicensesController.php | 7 +++++++ resources/views/licenses/view.blade.php | 11 +++++++++++ 2 files changed, 18 insertions(+) diff --git a/app/Http/Controllers/Api/LicensesController.php b/app/Http/Controllers/Api/LicensesController.php index 268248ab7..fc153f0ac 100644 --- a/app/Http/Controllers/Api/LicensesController.php +++ b/app/Http/Controllers/Api/LicensesController.php @@ -77,6 +77,13 @@ class LicensesController extends Controller $licenses->where('supplier_id','=',$request->input('supplier_id')); } + if (($request->filled('maintained')) && ($request->input('maintained')=='true')) { + $licenses->where('maintained','=',1); + } + + if (($request->filled('expires')) && ($request->input('expires')=='true')) { + $licenses->whereNotNull('expiration_date'); + } if ($request->filled('search')) { $licenses = $licenses->TextSearch($request->input('search')); diff --git a/resources/views/licenses/view.blade.php b/resources/views/licenses/view.blade.php index 96b426d3d..990e5e90b 100755 --- a/resources/views/licenses/view.blade.php +++ b/resources/views/licenses/view.blade.php @@ -285,6 +285,17 @@ @endif +
+
+ + {{ trans('admin/licenses/form.maintained') }} + +
+
+ {{ $license->maintained ? 'Yes' : 'No' }} +
+
+ @if (($license->seats) && ($license->seats) > 0)
From 4cfc4aec1dd9324c25e63a7952131cfc1ca052a6 Mon Sep 17 00:00:00 2001 From: NMC Date: Sun, 1 Aug 2021 15:10:22 -0400 Subject: [PATCH 02/10] fix false search in api. --- app/Http/Controllers/Api/LicensesController.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/Http/Controllers/Api/LicensesController.php b/app/Http/Controllers/Api/LicensesController.php index fc153f0ac..d9a420eb9 100644 --- a/app/Http/Controllers/Api/LicensesController.php +++ b/app/Http/Controllers/Api/LicensesController.php @@ -79,10 +79,14 @@ class LicensesController extends Controller if (($request->filled('maintained')) && ($request->input('maintained')=='true')) { $licenses->where('maintained','=',1); + } elseif (($request->filled('maintained')) && ($request->input('maintained')=='false')) { + $licenses->where('maintained','=',0); } if (($request->filled('expires')) && ($request->input('expires')=='true')) { $licenses->whereNotNull('expiration_date'); + } elseif (($request->filled('expires')) && ($request->input('expires')=='false')) { + $licenses->whereNull('expiration_date'); } if ($request->filled('search')) { From eced1ab77f428ab5eac7a3fe6c442933a085ddea Mon Sep 17 00:00:00 2001 From: Tobias Regnery Date: Thu, 5 Aug 2021 15:07:28 +0200 Subject: [PATCH 03/10] Fix advanced search with serial and another field The advanced search in /hardware produces incorrect results if the serial is combined with another field like category. There is a typo as the fieldname 'product_key' doesn't exist. Change this to 'serial'. Also change the last If-Statement from ->orWhere() to ->where(). Now additional fields like custom fields can be combined with other searches in an And-Clause. I think this function could be simplified further, but this is the minimal bugfix. --- app/Models/Asset.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/Models/Asset.php b/app/Models/Asset.php index d26f8dbc9..cabc5638a 100644 --- a/app/Models/Asset.php +++ b/app/Models/Asset.php @@ -1314,7 +1314,7 @@ class Asset extends Depreciable $query->where('assets.name', 'LIKE', '%'.$search_val.'%'); } - if ($fieldname =='product_key') { + if ($fieldname =='serial') { $query->where('assets.serial', 'LIKE', '%'.$search_val.'%'); } @@ -1436,7 +1436,7 @@ class Asset extends Depreciable */ if (($fieldname!='category') && ($fieldname!='model_number') && ($fieldname!='rtd_location') && ($fieldname!='location') && ($fieldname!='supplier') && ($fieldname!='status_label') && ($fieldname!='model') && ($fieldname!='company') && ($fieldname!='manufacturer')) { - $query->orWhere('assets.'.$fieldname, 'LIKE', '%' . $search_val . '%'); + $query->where('assets.'.$fieldname, 'LIKE', '%' . $search_val . '%'); } From 4a0c8de82a09de6c8294245f57334b81ca0d4754 Mon Sep 17 00:00:00 2001 From: Godfrey M Date: Tue, 21 Sep 2021 19:13:09 -0700 Subject: [PATCH 04/10] adds jquery eventlistner to monitor chart.js width and refresh accordingly --- public/css/build/app.css | 6 ++++++ public/css/build/overrides.css | 6 ++++++ public/css/dist/all.css | 12 ++++++++++++ public/mix-manifest.json | 6 +++--- resources/assets/less/overrides.less | 2 +- resources/views/dashboard.blade.php | 14 +++++++++++--- 6 files changed, 39 insertions(+), 7 deletions(-) diff --git a/public/css/build/app.css b/public/css/build/app.css index 437bb21e4..18037c5fb 100644 --- a/public/css/build/app.css +++ b/public/css/build/app.css @@ -857,4 +857,10 @@ th.css-accessory > .th-inner::before { .form-group.has-error label { color: #a94442; } +.chart-container { + position: relative; + margin: auto; + height: 80vh; + width: 80vw; +} diff --git a/public/css/build/overrides.css b/public/css/build/overrides.css index 3a2e2dbdb..afb96a696 100644 --- a/public/css/build/overrides.css +++ b/public/css/build/overrides.css @@ -490,4 +490,10 @@ th.css-accessory > .th-inner::before { .form-group.has-error label { color: #a94442; } +.chart-container { + position: relative; + margin: auto; + height: 80vh; + width: 80vw; +} diff --git a/public/css/dist/all.css b/public/css/dist/all.css index 5a22019c3..bf6f413e7 100644 --- a/public/css/dist/all.css +++ b/public/css/dist/all.css @@ -18118,6 +18118,12 @@ th.css-accessory > .th-inner::before { .form-group.has-error label { color: #a94442; } +.chart-container { + position: relative; + margin: auto; + height: 80vh; + width: 80vw; +} .select2-container { @@ -19094,4 +19100,10 @@ th.css-accessory > .th-inner::before { .form-group.has-error label { color: #a94442; } +.chart-container { + position: relative; + margin: auto; + height: 80vh; + width: 80vw; +} diff --git a/public/mix-manifest.json b/public/mix-manifest.json index 1796d19d5..a70c1fe6b 100644 --- a/public/mix-manifest.json +++ b/public/mix-manifest.json @@ -1,8 +1,8 @@ { "/js/build/app.js": "/js/build/app.js?id=8beeabe6e636080bceea", "/css/dist/skins/skin-blue.css": "/css/dist/skins/skin-blue.css?id=83e39e254b7f9035eddc", - "/css/build/overrides.css": "/css/build/overrides.css?id=b9b59d80509972c3b16a", - "/css/build/app.css": "/css/build/app.css?id=1da91ae0ff24d10b7207", + "/css/build/overrides.css": "/css/build/overrides.css?id=ba5b2e0c743ab27c250d", + "/css/build/app.css": "/css/build/app.css?id=2b6c8fc2299606d50eef", "/css/build/AdminLTE.css": "/css/build/AdminLTE.css?id=65ca7a34198fa16ba846", "/css/dist/skins/skin-orange.css": "/css/dist/skins/skin-orange.css?id=83271cb3576583918804", "/css/dist/skins/skin-orange-dark.css": "/css/dist/skins/skin-orange-dark.css?id=400089ea82795d45c8dc", @@ -18,7 +18,7 @@ "/css/dist/skins/skin-green.css": "/css/dist/skins/skin-green.css?id=efda2335fa5243175850", "/css/dist/skins/skin-contrast.css": "/css/dist/skins/skin-contrast.css?id=6a9d0ac448c28b88e5d6", "/css/dist/skins/skin-red.css": "/css/dist/skins/skin-red.css?id=c24716a423d375902723", - "/css/dist/all.css": "/css/dist/all.css?id=683ab3f90a03310078d5", + "/css/dist/all.css": "/css/dist/all.css?id=8da06c56702777a39c20", "/css/blue.png": "/css/blue.png?id=e83a6c29e04fe851f212", "/css/blue@2x.png": "/css/blue@2x.png?id=51135dd4d24f88f5de0b", "/css/dist/signature-pad.css": "/css/dist/signature-pad.css?id=6a89d3cd901305e66ced", diff --git a/resources/assets/less/overrides.less b/resources/assets/less/overrides.less index 73ab8ad1b..c9d66d3bf 100644 --- a/resources/assets/less/overrides.less +++ b/resources/assets/less/overrides.less @@ -563,4 +563,4 @@ th.css-accessory > .th-inner::before .form-group.has-error label { color: #a94442; -} \ No newline at end of file +} diff --git a/resources/views/dashboard.blade.php b/resources/views/dashboard.blade.php index 1e4f70698..377f99ea9 100755 --- a/resources/views/dashboard.blade.php +++ b/resources/views/dashboard.blade.php @@ -418,14 +418,15 @@ // --------------------------- // - ASSET STATUS CHART - // --------------------------- + var pieChartCanvas = $("#statusPieChart").get(0).getContext("2d"); var pieChart = new Chart(pieChartCanvas); var ctx = document.getElementById("statusPieChart"); var pieOptions = { legend: { position: 'top', - responsive: true, - maintainAspectRatio: true, + responsive: true, + maintainAspectRatio: false, } }; @@ -446,7 +447,14 @@ }, error: function (data) { // window.location.reload(true); - } + }, + }); + var last = document.getElementById('statusPieChart').clientWidth; + addEventListener('resize', function() { + var current = document.getElementById('statusPieChart').clientWidth; + if (current != last) location.reload(); + last = current; + }); @endpush From 941cba73b9d8af7547db401c370f03fbdc54dc43 Mon Sep 17 00:00:00 2001 From: Godfrey M Date: Tue, 21 Sep 2021 19:27:17 -0700 Subject: [PATCH 05/10] removed deadspace and unnecessary css changes --- public/css/build/app.css | 6 ------ public/css/build/overrides.css | 7 +------ public/css/dist/all.css | 13 +------------ public/mix-manifest.json | 6 +++--- resources/assets/less/overrides.less | 2 +- resources/views/dashboard.blade.php | 4 +--- 6 files changed, 7 insertions(+), 31 deletions(-) diff --git a/public/css/build/app.css b/public/css/build/app.css index 18037c5fb..437bb21e4 100644 --- a/public/css/build/app.css +++ b/public/css/build/app.css @@ -857,10 +857,4 @@ th.css-accessory > .th-inner::before { .form-group.has-error label { color: #a94442; } -.chart-container { - position: relative; - margin: auto; - height: 80vh; - width: 80vw; -} diff --git a/public/css/build/overrides.css b/public/css/build/overrides.css index afb96a696..cbe8a1f53 100644 --- a/public/css/build/overrides.css +++ b/public/css/build/overrides.css @@ -490,10 +490,5 @@ th.css-accessory > .th-inner::before { .form-group.has-error label { color: #a94442; } -.chart-container { - position: relative; - margin: auto; - height: 80vh; - width: 80vw; -} + diff --git a/public/css/dist/all.css b/public/css/dist/all.css index bf6f413e7..d2d68dfe7 100644 --- a/public/css/dist/all.css +++ b/public/css/dist/all.css @@ -18118,12 +18118,7 @@ th.css-accessory > .th-inner::before { .form-group.has-error label { color: #a94442; } -.chart-container { - position: relative; - margin: auto; - height: 80vh; - width: 80vw; -} + .select2-container { @@ -19100,10 +19095,4 @@ th.css-accessory > .th-inner::before { .form-group.has-error label { color: #a94442; } -.chart-container { - position: relative; - margin: auto; - height: 80vh; - width: 80vw; -} diff --git a/public/mix-manifest.json b/public/mix-manifest.json index a70c1fe6b..1796d19d5 100644 --- a/public/mix-manifest.json +++ b/public/mix-manifest.json @@ -1,8 +1,8 @@ { "/js/build/app.js": "/js/build/app.js?id=8beeabe6e636080bceea", "/css/dist/skins/skin-blue.css": "/css/dist/skins/skin-blue.css?id=83e39e254b7f9035eddc", - "/css/build/overrides.css": "/css/build/overrides.css?id=ba5b2e0c743ab27c250d", - "/css/build/app.css": "/css/build/app.css?id=2b6c8fc2299606d50eef", + "/css/build/overrides.css": "/css/build/overrides.css?id=b9b59d80509972c3b16a", + "/css/build/app.css": "/css/build/app.css?id=1da91ae0ff24d10b7207", "/css/build/AdminLTE.css": "/css/build/AdminLTE.css?id=65ca7a34198fa16ba846", "/css/dist/skins/skin-orange.css": "/css/dist/skins/skin-orange.css?id=83271cb3576583918804", "/css/dist/skins/skin-orange-dark.css": "/css/dist/skins/skin-orange-dark.css?id=400089ea82795d45c8dc", @@ -18,7 +18,7 @@ "/css/dist/skins/skin-green.css": "/css/dist/skins/skin-green.css?id=efda2335fa5243175850", "/css/dist/skins/skin-contrast.css": "/css/dist/skins/skin-contrast.css?id=6a9d0ac448c28b88e5d6", "/css/dist/skins/skin-red.css": "/css/dist/skins/skin-red.css?id=c24716a423d375902723", - "/css/dist/all.css": "/css/dist/all.css?id=8da06c56702777a39c20", + "/css/dist/all.css": "/css/dist/all.css?id=683ab3f90a03310078d5", "/css/blue.png": "/css/blue.png?id=e83a6c29e04fe851f212", "/css/blue@2x.png": "/css/blue@2x.png?id=51135dd4d24f88f5de0b", "/css/dist/signature-pad.css": "/css/dist/signature-pad.css?id=6a89d3cd901305e66ced", diff --git a/resources/assets/less/overrides.less b/resources/assets/less/overrides.less index c9d66d3bf..73ab8ad1b 100644 --- a/resources/assets/less/overrides.less +++ b/resources/assets/less/overrides.less @@ -563,4 +563,4 @@ th.css-accessory > .th-inner::before .form-group.has-error label { color: #a94442; -} +} \ No newline at end of file diff --git a/resources/views/dashboard.blade.php b/resources/views/dashboard.blade.php index 377f99ea9..7486464a4 100755 --- a/resources/views/dashboard.blade.php +++ b/resources/views/dashboard.blade.php @@ -418,7 +418,6 @@ // --------------------------- // - ASSET STATUS CHART - // --------------------------- - var pieChartCanvas = $("#statusPieChart").get(0).getContext("2d"); var pieChart = new Chart(pieChartCanvas); var ctx = document.getElementById("statusPieChart"); @@ -426,7 +425,7 @@ legend: { position: 'top', responsive: true, - maintainAspectRatio: false, + maintainAspectRatio: true, } }; @@ -448,7 +447,6 @@ error: function (data) { // window.location.reload(true); }, - }); var last = document.getElementById('statusPieChart').clientWidth; addEventListener('resize', function() { From 160017c720dabf256b7b41ffef6693af4d2ee42e Mon Sep 17 00:00:00 2001 From: Godfrey M Date: Tue, 21 Sep 2021 19:28:39 -0700 Subject: [PATCH 06/10] more deadspace --- public/css/build/overrides.css | 2 -- public/css/dist/all.css | 2 -- 2 files changed, 4 deletions(-) diff --git a/public/css/build/overrides.css b/public/css/build/overrides.css index cbe8a1f53..94adeae5d 100644 --- a/public/css/build/overrides.css +++ b/public/css/build/overrides.css @@ -490,5 +490,3 @@ th.css-accessory > .th-inner::before { .form-group.has-error label { color: #a94442; } - - diff --git a/public/css/dist/all.css b/public/css/dist/all.css index d2d68dfe7..d2edb6eab 100644 --- a/public/css/dist/all.css +++ b/public/css/dist/all.css @@ -18119,8 +18119,6 @@ th.css-accessory > .th-inner::before { color: #a94442; } - - .select2-container { box-sizing: border-box; display: inline-block; From 9ae7d0b23a3e128bbbdda30f44bbd5fb28375550 Mon Sep 17 00:00:00 2001 From: Godfrey M Date: Wed, 20 Oct 2021 17:01:25 -0700 Subject: [PATCH 07/10] when parent asset is assigned to other location, children assets location are updated as well. --- app/Http/Controllers/CheckInOutRequest.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/Http/Controllers/CheckInOutRequest.php b/app/Http/Controllers/CheckInOutRequest.php index c521c7a3e..6dd7e4aba 100644 --- a/app/Http/Controllers/CheckInOutRequest.php +++ b/app/Http/Controllers/CheckInOutRequest.php @@ -39,6 +39,8 @@ trait CheckInOutRequest switch (request('checkout_to_type')) { case 'location': $asset->location_id = $target->id; + Asset::where('assigned_type', 'App\Models\Asset')->where('assigned_to', $asset->id) + ->update(['location_id' => $asset->location_id]); break; case 'asset': $asset->location_id = $target->rtd_location_id; From ee9133f72254ef01b3d00e236de602c587ab9dcc Mon Sep 17 00:00:00 2001 From: Ivan Nieto Vivanco Date: Wed, 27 Oct 2021 16:42:51 -0500 Subject: [PATCH 08/10] Return the proper Asset-Components relationship --- app/Models/Asset.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Models/Asset.php b/app/Models/Asset.php index 7a7818094..928a81ee8 100644 --- a/app/Models/Asset.php +++ b/app/Models/Asset.php @@ -386,7 +386,7 @@ class Asset extends Depreciable */ public function components() { - + return $this->belongsToMany('\App\Models\Component', 'components_assets', 'asset_id', 'component_id')->withPivot('id', 'assigned_qty', 'created_at')->withTrashed(); } From efc644c960bbc59ac5a48ecef085d0feda195e27 Mon Sep 17 00:00:00 2001 From: Steven Daniele Date: Thu, 28 Oct 2021 14:23:38 -0400 Subject: [PATCH 09/10] support apache REDIRECT_* for remote user login --- app/Http/Controllers/Auth/LoginController.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/Http/Controllers/Auth/LoginController.php b/app/Http/Controllers/Auth/LoginController.php index b7bbe4536..2c94cc70b 100644 --- a/app/Http/Controllers/Auth/LoginController.php +++ b/app/Http/Controllers/Auth/LoginController.php @@ -154,6 +154,9 @@ class LoginController extends Controller { $header_name = Setting::getSettings()->login_remote_user_header_name ?: 'REMOTE_USER'; $remote_user = $request->server($header_name); + if (!isset($remote_user)) { + $remote_user = $request->server('REDIRECT_'.$header_name); + } if (Setting::getSettings()->login_remote_user_enabled == '1' && isset($remote_user) && ! empty($remote_user)) { Log::debug("Authenticating via HTTP header $header_name."); From 52ef9280ba57fecac417b10f5ce3bd7a2284c163 Mon Sep 17 00:00:00 2001 From: snipe Date: Thu, 28 Oct 2021 15:15:54 -0700 Subject: [PATCH 10/10] Adds reqestable as model bulk edit field Signed-off-by: snipe --- .../Controllers/BulkAssetModelsController.php | 5 +++++ app/Presenters/AssetModelPresenter.php | 8 ++++++++ resources/views/models/bulk-edit.blade.php | 19 ++++++++++++++++++- resources/views/users/bulk-edit.blade.php | 4 ++-- 4 files changed, 33 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/BulkAssetModelsController.php b/app/Http/Controllers/BulkAssetModelsController.php index 19cd7f11d..acb8e30b7 100644 --- a/app/Http/Controllers/BulkAssetModelsController.php +++ b/app/Http/Controllers/BulkAssetModelsController.php @@ -80,6 +80,11 @@ class BulkAssetModelsController extends Controller $update_array['depreciation_id'] = $request->input('depreciation_id'); } + if ($request->filled('requestable') != '') { + $update_array['requestable'] = $request->input('requestable'); + } + + if (count($update_array) > 0) { AssetModel::whereIn('id', $models_raw_array)->update($update_array); diff --git a/app/Presenters/AssetModelPresenter.php b/app/Presenters/AssetModelPresenter.php index 08fec1520..78e0776ac 100644 --- a/app/Presenters/AssetModelPresenter.php +++ b/app/Presenters/AssetModelPresenter.php @@ -106,6 +106,14 @@ class AssetModelPresenter extends Presenter 'visible' => true, 'formatter' => 'fieldsetsLinkObjFormatter', ], + [ + 'field' => 'requestable', + 'searchable' => false, + 'sortable' => true, + 'visible' => false, + 'title' => trans('admin/hardware/general.requestable'), + 'formatter' => 'trueFalseFormatter', + ], [ 'field' => 'notes', 'searchable' => true, diff --git a/resources/views/models/bulk-edit.blade.php b/resources/views/models/bulk-edit.blade.php index 5e4866564..392441898 100644 --- a/resources/views/models/bulk-edit.blade.php +++ b/resources/views/models/bulk-edit.blade.php @@ -72,13 +72,30 @@
+ +
+
+ + +
+ +
+ +
+
+ @foreach ($models as $model) @endforeach - diff --git a/resources/views/users/bulk-edit.blade.php b/resources/views/users/bulk-edit.blade.php index 4916287dd..991c64702 100644 --- a/resources/views/users/bulk-edit.blade.php +++ b/resources/views/users/bulk-edit.blade.php @@ -73,7 +73,7 @@
@@ -113,7 +113,7 @@ @endforeach
-