From f89d789832bcdb175f2c2765204a4ad318acbb73 Mon Sep 17 00:00:00 2001 From: Ivan Nieto Date: Tue, 16 Feb 2021 14:52:55 -0600 Subject: [PATCH 1/7] Fixes #8918 The validation rules on Manufacturer Model 'name' attribute are malformed. (#9133) * Fixes the validation rules on Manufacturer Model * Fixes a little issue; if the manufacturer is active soft-deletes it, if is already deleted permanently deletes it --- app/Http/Controllers/ManufacturersController.php | 10 +++++++--- app/Models/Manufacturer.php | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/app/Http/Controllers/ManufacturersController.php b/app/Http/Controllers/ManufacturersController.php index 7cf14371d..1943300e3 100755 --- a/app/Http/Controllers/ManufacturersController.php +++ b/app/Http/Controllers/ManufacturersController.php @@ -158,7 +158,7 @@ class ManufacturersController extends Controller public function destroy($manufacturerId) { $this->authorize('delete', Manufacturer::class); - if (is_null($manufacturer = Manufacturer::withCount('models as models_count')->find($manufacturerId))) { + if (is_null($manufacturer = Manufacturer::withTrashed()->withCount('models as models_count')->find($manufacturerId))) { return redirect()->route('manufacturers.index')->with('error', trans('admin/manufacturers/message.not_found')); } @@ -174,8 +174,12 @@ class ManufacturersController extends Controller } } - // Delete the manufacturer - $manufacturer->delete(); + // Soft delete the manufacturer if active, permanent delete if is already deleted + if($manufacturer->deleted_at === NULL) { + $manufacturer->delete(); + } else { + $manufacturer->forceDelete(); + } // Redirect to the manufacturers management page return redirect()->route('manufacturers.index')->with('success', trans('admin/manufacturers/message.delete.success')); } diff --git a/app/Models/Manufacturer.php b/app/Models/Manufacturer.php index 00ac8e760..085bed2d3 100755 --- a/app/Models/Manufacturer.php +++ b/app/Models/Manufacturer.php @@ -17,7 +17,7 @@ class Manufacturer extends SnipeModel // Declare the rules for the form validation protected $rules = array( - 'name' => 'required|min:2|max:255|unique:manufacturers,name,NULL,deleted_at', + 'name' => 'required|min:2|max:255|unique:manufacturers,name,NULL,id,deleted_at,NULL', 'url' => 'url|nullable', 'support_url' => 'url|nullable', 'support_email' => 'email|nullable' From 12ff465cdb2c210d510a5297a2da20075c7d5e1a Mon Sep 17 00:00:00 2001 From: Ivan Nieto Date: Tue, 16 Feb 2021 19:20:29 -0600 Subject: [PATCH 2/7] Added feature: Checkbox Custom Fields as list of values. (#9112) * Added functionality for checkboxes in custom fields. Similar to how radio buttons work. * Added the same functionality when the custom fieldset is encrypted. * Added missing bits, so the edit custom assets view shows what values have been already stored in database --- .../Controllers/Assets/AssetsController.php | 25 +++++++++++++++---- .../views/custom_fields/fields/edit.blade.php | 4 +-- .../views/models/custom_fields_form.blade.php | 2 +- 3 files changed, 23 insertions(+), 8 deletions(-) diff --git a/app/Http/Controllers/Assets/AssetsController.php b/app/Http/Controllers/Assets/AssetsController.php index 2a31d75ca..7b2f8a34f 100755 --- a/app/Http/Controllers/Assets/AssetsController.php +++ b/app/Http/Controllers/Assets/AssetsController.php @@ -165,10 +165,17 @@ class AssetsController extends Controller foreach ($model->fieldset->fields as $field) { if ($field->field_encrypted=='1') { if (Gate::allows('admin')) { - $asset->{$field->convertUnicodeDbSlug()} = \Crypt::encrypt($request->input($field->convertUnicodeDbSlug())); - } + if(is_array($request->input($field->convertUnicodeDbSlug()))){ + $asset->{$field->convertUnicodeDbSlug()} = \Crypt::encrypt(e(implode(', ', $request->input($field->convertUnicodeDbSlug())))); + }else{ + $asset->{$field->convertUnicodeDbSlug()} = \Crypt::encrypt(e($request->input($field->convertUnicodeDbSlug()))); + } } } else { - $asset->{$field->convertUnicodeDbSlug()} = $request->input($field->convertUnicodeDbSlug()); + if(is_array($request->input($field->convertUnicodeDbSlug()))){ + $asset->{$field->convertUnicodeDbSlug()} = implode(', ', $request->input($field->convertUnicodeDbSlug())); + }else{ + $asset->{$field->convertUnicodeDbSlug()} = $request->input($field->convertUnicodeDbSlug()); + } } } } @@ -342,10 +349,18 @@ class AssetsController extends Controller foreach ($model->fieldset->fields as $field) { if ($field->field_encrypted=='1') { if (Gate::allows('admin')) { - $asset->{$field->convertUnicodeDbSlug()} = \Crypt::encrypt(e($request->input($field->convertUnicodeDbSlug()))); + if(is_array($request->input($field->convertUnicodeDbSlug()))){ + $asset->{$field->convertUnicodeDbSlug()} = \Crypt::encrypt(e(implode(', ', $request->input($field->convertUnicodeDbSlug())))); + }else{ + $asset->{$field->convertUnicodeDbSlug()} = \Crypt::encrypt(e($request->input($field->convertUnicodeDbSlug()))); + } } } else { - $asset->{$field->convertUnicodeDbSlug()} = $request->input($field->convertUnicodeDbSlug()); + if(is_array($request->input($field->convertUnicodeDbSlug()))){ + $asset->{$field->convertUnicodeDbSlug()} = implode(', ', $request->input($field->convertUnicodeDbSlug())); + }else{ + $asset->{$field->convertUnicodeDbSlug()} = $request->input($field->convertUnicodeDbSlug()); + } } } } diff --git a/resources/views/custom_fields/fields/edit.blade.php b/resources/views/custom_fields/fields/edit.blade.php index 2eb223852..53da152ef 100644 --- a/resources/views/custom_fields/fields/edit.blade.php +++ b/resources/views/custom_fields/fields/edit.blade.php @@ -168,10 +168,10 @@ }); }).change(); - // If the element is a radiobutton, doesn't show the format input box + // If the element is a radiobutton/checkbox, doesn't show the format input box $(".field_element").change(function(){ $(this).find("option:selected").each(function(){ - if (($(this).attr("value") != "radio")){ + if (($(this).attr("value") != "radio") && ($(this).attr("value") != "checkbox")){ $("#format_values").show(); } else{ $("#format_values").hide(); diff --git a/resources/views/models/custom_fields_form.blade.php b/resources/views/models/custom_fields_form.blade.php index e84839214..41cfc759b 100644 --- a/resources/views/models/custom_fields_form.blade.php +++ b/resources/views/models/custom_fields_form.blade.php @@ -21,7 +21,7 @@
From 8fb97da314003d299e8badd99b343fea3383ede9 Mon Sep 17 00:00:00 2001 From: Godfrey Martinez <47435081+Godmartinz@users.noreply.github.com> Date: Wed, 17 Feb 2021 12:56:26 -0800 Subject: [PATCH 3/7] Color of asset selection in bulk checkout [ch15525] (#9145) --- public/css/dist/skins/skin-black.css | 3 +++ public/css/dist/skins/skin-blue.css | 3 +++ public/css/dist/skins/skin-green.css | 3 +++ public/css/dist/skins/skin-orange.css | 3 +++ public/css/dist/skins/skin-purple.css | 3 +++ public/css/dist/skins/skin-red.css | 3 +++ public/css/dist/skins/skin-yellow.css | 3 +++ public/mix-manifest.json | 14 +++++++------- resources/assets/less/ekko-lightbox.less | 1 + resources/assets/less/skins/skin-black.less | 3 +++ resources/assets/less/skins/skin-blue.less | 3 +++ resources/assets/less/skins/skin-green.less | 3 +++ resources/assets/less/skins/skin-orange.less | 3 +++ resources/assets/less/skins/skin-purple.less | 7 ++++++- resources/assets/less/skins/skin-red.less | 3 +++ resources/assets/less/skins/skin-yellow.less | 3 +++ 16 files changed, 53 insertions(+), 8 deletions(-) diff --git a/public/css/dist/skins/skin-black.css b/public/css/dist/skins/skin-black.css index a8bd363d2..d877413b6 100644 --- a/public/css/dist/skins/skin-black.css +++ b/public/css/dist/skins/skin-black.css @@ -174,3 +174,6 @@ a:visited { .skin-black .main-header .navbar .nav > li > a { text-decoration: none; } +.select2-container--default .select2-selection--multiple .select2-selection__choice { + background-color: #111; +} diff --git a/public/css/dist/skins/skin-blue.css b/public/css/dist/skins/skin-blue.css index 52ae512df..764cc18fc 100644 --- a/public/css/dist/skins/skin-blue.css +++ b/public/css/dist/skins/skin-blue.css @@ -189,3 +189,6 @@ a:visited { .fixed-table-container tbody .selected td { background-color: #fff8af; } +.select2-container--default .select2-selection--multiple .select2-selection__choice { + background-color: #3c8dbc; +} diff --git a/public/css/dist/skins/skin-green.css b/public/css/dist/skins/skin-green.css index a9b0de79d..14b319335 100644 --- a/public/css/dist/skins/skin-green.css +++ b/public/css/dist/skins/skin-green.css @@ -166,3 +166,6 @@ a:visited { .fixed-table-container tbody .selected td { background-color: #fff8af; } +.select2-container--default .select2-selection--multiple .select2-selection__choice { + background-color: #00a65a; +} diff --git a/public/css/dist/skins/skin-orange.css b/public/css/dist/skins/skin-orange.css index c5e0ee8b4..ba4201ebe 100644 --- a/public/css/dist/skins/skin-orange.css +++ b/public/css/dist/skins/skin-orange.css @@ -166,3 +166,6 @@ a:visited { .fixed-table-container tbody .selected td { background-color: #fff8af; } +.select2-container--default .select2-selection--multiple .select2-selection__choice { + background-color: #FF8C00; +} diff --git a/public/css/dist/skins/skin-purple.css b/public/css/dist/skins/skin-purple.css index bd2fb43c7..2bf4309d1 100644 --- a/public/css/dist/skins/skin-purple.css +++ b/public/css/dist/skins/skin-purple.css @@ -166,3 +166,6 @@ a:visited { .fixed-table-container tbody .selected td { background-color: #fff8af; } +.select2-container--default .select2-selection--multiple .select2-selection__choice { + background-color: #605ca8; +} diff --git a/public/css/dist/skins/skin-red.css b/public/css/dist/skins/skin-red.css index fc1884475..2c3276816 100644 --- a/public/css/dist/skins/skin-red.css +++ b/public/css/dist/skins/skin-red.css @@ -166,3 +166,6 @@ a:visited { .fixed-table-container tbody .selected td { background-color: #fff8af; } +.select2-container--default .select2-selection--multiple .select2-selection__choice { + background-color: #dd4b39; +} diff --git a/public/css/dist/skins/skin-yellow.css b/public/css/dist/skins/skin-yellow.css index cbf81d0eb..b8e36d069 100644 --- a/public/css/dist/skins/skin-yellow.css +++ b/public/css/dist/skins/skin-yellow.css @@ -166,3 +166,6 @@ a:visited { .fixed-table-container tbody .selected td { background-color: #fff8af; } +.select2-container--default .select2-selection--multiple .select2-selection__choice { + background-color: #f39c12; +} diff --git a/public/mix-manifest.json b/public/mix-manifest.json index aac2fc32a..728c22971 100644 --- a/public/mix-manifest.json +++ b/public/mix-manifest.json @@ -3,21 +3,21 @@ "/css/build/AdminLTE.css": "/css/build/AdminLTE.css?id=5d8ce6b758f170008cd6", "/css/build/app.css": "/css/build/app.css?id=9b6ddbece1a3cfc99036", "/css/build/overrides.css": "/css/build/overrides.css?id=0a65220cdae6fbb6d913", - "/css/dist/skins/skin-blue.css": "/css/dist/skins/skin-blue.css?id=07ea041939045be9f35e", - "/css/dist/skins/skin-red.css": "/css/dist/skins/skin-red.css?id=9f62f7b52ce7bc11ddfd", + "/css/dist/skins/skin-blue.css": "/css/dist/skins/skin-blue.css?id=a5c05d669800b5f5afa1", + "/css/dist/skins/skin-red.css": "/css/dist/skins/skin-red.css?id=1d5974e034b61b5795ec", "/css/dist/skins/skin-contrast.css": "/css/dist/skins/skin-contrast.css?id=cf23e72b9c963c5ab23a", - "/css/dist/skins/skin-green.css": "/css/dist/skins/skin-green.css?id=77ce26763889742cbb58", + "/css/dist/skins/skin-green.css": "/css/dist/skins/skin-green.css?id=76d0cc15e24e6a03fd2f", "/css/dist/skins/skin-green-dark.css": "/css/dist/skins/skin-green-dark.css?id=97a05b4e3c6f0e31b895", - "/css/dist/skins/skin-black.css": "/css/dist/skins/skin-black.css?id=87b54289d2c1370974d1", + "/css/dist/skins/skin-black.css": "/css/dist/skins/skin-black.css?id=d3c953fe66305cef3b54", "/css/dist/skins/skin-black-dark.css": "/css/dist/skins/skin-black-dark.css?id=c2d8517bfd68b3bf3509", "/css/dist/skins/skin-red-dark.css": "/css/dist/skins/skin-red-dark.css?id=51a2ad946665800523fb", - "/css/dist/skins/skin-purple.css": "/css/dist/skins/skin-purple.css?id=3e904c2867143e27aebf", + "/css/dist/skins/skin-purple.css": "/css/dist/skins/skin-purple.css?id=56d008e86c006d37bc23", "/css/dist/skins/skin-purple-dark.css": "/css/dist/skins/skin-purple-dark.css?id=7af6dbd5a265f3fe205e", - "/css/dist/skins/skin-yellow.css": "/css/dist/skins/skin-yellow.css?id=11813086909e31b3d753", + "/css/dist/skins/skin-yellow.css": "/css/dist/skins/skin-yellow.css?id=2b17e31c820ef66db5a1", "/css/dist/skins/skin-yellow-dark.css": "/css/dist/skins/skin-yellow-dark.css?id=36169e10a1d74507c371", "/css/dist/skins/skin-blue-dark.css": "/css/dist/skins/skin-blue-dark.css?id=86ff7070f892baa764c7", "/css/dist/skins/skin-orange-dark.css": "/css/dist/skins/skin-orange-dark.css?id=f12f9af189df0ff1c615", - "/css/dist/skins/skin-orange.css": "/css/dist/skins/skin-orange.css?id=d1cda85cbff0723be5f7", + "/css/dist/skins/skin-orange.css": "/css/dist/skins/skin-orange.css?id=4bf9e22405edb2dc2b76", "/css/dist/all.css": "/css/dist/all.css?id=fc64989106daf3be016b", "/css/blue.png": "/css/blue.png?id=4c85d6a97173123bd14a", "/css/blue@2x.png": "/css/blue@2x.png?id=62c67c6a822439e8a4ac", diff --git a/resources/assets/less/ekko-lightbox.less b/resources/assets/less/ekko-lightbox.less index 166166d29..a36e2fb40 100755 --- a/resources/assets/less/ekko-lightbox.less +++ b/resources/assets/less/ekko-lightbox.less @@ -61,4 +61,5 @@ .modal-footer { text-align: left; } + } \ No newline at end of file diff --git a/resources/assets/less/skins/skin-black.less b/resources/assets/less/skins/skin-black.less index 879687bb5..7dfb52534 100755 --- a/resources/assets/less/skins/skin-black.less +++ b/resources/assets/less/skins/skin-black.less @@ -106,3 +106,6 @@ a { .skin-black .main-header .navbar .nav>li>a, .skin-black .main-header .navbar .nav>li>a { text-decoration: none; } +.select2-container--default .select2-selection--multiple .select2-selection__choice { + background-color: @black; +} \ No newline at end of file diff --git a/resources/assets/less/skins/skin-blue.less b/resources/assets/less/skins/skin-blue.less index 1c41a7f3e..1268415f5 100755 --- a/resources/assets/less/skins/skin-blue.less +++ b/resources/assets/less/skins/skin-blue.less @@ -117,4 +117,7 @@ a { .fixed-table-container tbody .selected td { background-color: #fff8af; +} +.select2-container--default .select2-selection--multiple .select2-selection__choice { + background-color: #3c8dbc; } \ No newline at end of file diff --git a/resources/assets/less/skins/skin-green.less b/resources/assets/less/skins/skin-green.less index 5662f9bd0..d8fcf8403 100755 --- a/resources/assets/less/skins/skin-green.less +++ b/resources/assets/less/skins/skin-green.less @@ -102,4 +102,7 @@ a { .fixed-table-container tbody .selected td { background-color: #fff8af; +} +.select2-container--default .select2-selection--multiple .select2-selection__choice { + background-color: @green; } \ No newline at end of file diff --git a/resources/assets/less/skins/skin-orange.less b/resources/assets/less/skins/skin-orange.less index 3f4ab432d..1884b66d0 100644 --- a/resources/assets/less/skins/skin-orange.less +++ b/resources/assets/less/skins/skin-orange.less @@ -102,4 +102,7 @@ a { .fixed-table-container tbody .selected td { background-color: #fff8af; +} +.select2-container--default .select2-selection--multiple .select2-selection__choice { + background-color: @orange; } \ No newline at end of file diff --git a/resources/assets/less/skins/skin-purple.less b/resources/assets/less/skins/skin-purple.less index eb59269a2..294839e43 100755 --- a/resources/assets/less/skins/skin-purple.less +++ b/resources/assets/less/skins/skin-purple.less @@ -102,4 +102,9 @@ a { .fixed-table-container tbody .selected td { background-color: #fff8af; -} \ No newline at end of file +} + +.select2-container--default .select2-selection--multiple .select2-selection__choice { + background-color: @purple; +} + diff --git a/resources/assets/less/skins/skin-red.less b/resources/assets/less/skins/skin-red.less index d54a6e8c9..3aab107e4 100755 --- a/resources/assets/less/skins/skin-red.less +++ b/resources/assets/less/skins/skin-red.less @@ -102,4 +102,7 @@ a { .fixed-table-container tbody .selected td { background-color: #fff8af; +} +.select2-container--default .select2-selection--multiple .select2-selection__choice { + background-color: @red; } \ No newline at end of file diff --git a/resources/assets/less/skins/skin-yellow.less b/resources/assets/less/skins/skin-yellow.less index 6baaaae0d..fadb5824f 100755 --- a/resources/assets/less/skins/skin-yellow.less +++ b/resources/assets/less/skins/skin-yellow.less @@ -103,3 +103,6 @@ a { .fixed-table-container tbody .selected td { background-color: #fff8af; } +.select2-container--default .select2-selection--multiple .select2-selection__choice { + background-color: @yellow; +} From bfadb2cea66df25b3f00235ddaea853b9e4ed760 Mon Sep 17 00:00:00 2001 From: snipe Date: Wed, 17 Feb 2021 12:58:57 -0800 Subject: [PATCH 4/7] Add @koelle25 as a contributor --- .all-contributorsrc | 9 +++++++++ README.md | 3 ++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index 49e4a5206..6382d8c5e 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -2110,6 +2110,15 @@ "contributions": [ "code" ] + }, + { + "login": "koelle25", + "name": "Kevin Köllmann", + "avatar_url": "https://avatars.githubusercontent.com/u/915514?v=4", + "profile": "https://www.kevinkoellmann.de", + "contributions": [ + "code" + ] } ] } diff --git a/README.md b/README.md index 4d2ce1345..42283c625 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ ![Build Status](https://app.chipperci.com/projects/0e5f8979-31eb-4ee6-9abf-050b76ab0383/status/master) [![Crowdin](https://d322cqt584bo4o.cloudfront.net/snipe-it/localized.svg)](https://crowdin.com/project/snipe-it) [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/snipe/snipe-it?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Docker Pulls](https://img.shields.io/docker/pulls/snipe/snipe-it.svg)](https://hub.docker.com/r/snipe/snipe-it/) [![Twitter Follow](https://img.shields.io/twitter/follow/snipeitapp.svg?style=social)](https://twitter.com/snipeitapp) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/553ce52037fc43ea99149785afcfe641)](https://www.codacy.com/app/snipe/snipe-it?utm_source=github.com&utm_medium=referral&utm_content=snipe/snipe-it&utm_campaign=Badge_Grade) -[![All Contributors](https://img.shields.io/badge/all_contributors-231-orange.svg?style=flat-square)](#contributors) +[![All Contributors](https://img.shields.io/badge/all_contributors-232-orange.svg?style=flat-square)](#contributors) ## Snipe-IT - Open Source Asset Management System @@ -122,6 +122,7 @@ Thanks goes to all of these wonderful people ([emoji key](https://github.com/ken | [
Peter Upfold](https://peter.upfold.org.uk/)
[💻](https://github.com/snipe/snipe-it/commits?author=PeterUpfold "Code") | [
Jared Biel](https://github.com/jbiel)
[💻](https://github.com/snipe/snipe-it/commits?author=jbiel "Code") | [
Dampfklon](https://github.com/dampfklon)
[💻](https://github.com/snipe/snipe-it/commits?author=dampfklon "Code") | [
Charles Hamilton](https://communityclosing.com)
[💻](https://github.com/snipe/snipe-it/commits?author=chamilton-ccn "Code") | [
Giuseppe Iannello](https://github.com/giannello)
[💻](https://github.com/snipe/snipe-it/commits?author=giannello "Code") | [
Peter Dave Hello](https://www.peterdavehello.org/)
[💻](https://github.com/snipe/snipe-it/commits?author=PeterDaveHello "Code") | [
sigmoidal](https://github.com/sigmoidal)
[💻](https://github.com/snipe/snipe-it/commits?author=sigmoidal "Code") | | [
Vincent Lainé](https://github.com/phenixdotnet)
[💻](https://github.com/snipe/snipe-it/commits?author=phenixdotnet "Code") | [
Lucas Pleß](http://www.lucas-pless.com)
[💻](https://github.com/snipe/snipe-it/commits?author=derlucas "Code") | [
Ian Littman](http://twitter.com/iansltx)
[💻](https://github.com/snipe/snipe-it/commits?author=iansltx "Code") | [
João Paulo](https://github.com/PauloLuna)
[💻](https://github.com/snipe/snipe-it/commits?author=PauloLuna "Code") | [
ThoBur](https://github.com/ThoBur)
[💻](https://github.com/snipe/snipe-it/commits?author=ThoBur "Code") | [
Alexander Chibrikin](http://phpprofi.ru/)
[💻](https://github.com/snipe/snipe-it/commits?author=alek13 "Code") | [
Anthony Winstanley](https://github.com/winstan)
[💻](https://github.com/snipe/snipe-it/commits?author=winstan "Code") | | [
Folke](https://github.com/fashberg)
[💻](https://github.com/snipe/snipe-it/commits?author=fashberg "Code") | [
Bennett Blodinger](https://github.com/benwa)
[💻](https://github.com/snipe/snipe-it/commits?author=benwa "Code") | [
NMC](https://nmc.dev)
[💻](https://github.com/snipe/snipe-it/commits?author=ncareau "Code") | [
andres-baller](https://github.com/andres-baller)
[💻](https://github.com/snipe/snipe-it/commits?author=andres-baller "Code") | [
sean-borg](https://github.com/sean-borg)
[💻](https://github.com/snipe/snipe-it/commits?author=sean-borg "Code") | [
EDVLeer](https://github.com/EDVLeer)
[💻](https://github.com/snipe/snipe-it/commits?author=EDVLeer "Code") | [
Kurokat](https://github.com/Kurokat)
[💻](https://github.com/snipe/snipe-it/commits?author=Kurokat "Code") | +| [
Kevin Köllmann](https://www.kevinkoellmann.de)
[💻](https://github.com/snipe/snipe-it/commits?author=koelle25 "Code") | This project follows the [all-contributors](https://github.com/kentcdodds/all-contributors) specification. Contributions of any kind welcome! From 2e2d087639ba9ba915c1e28bba5f2b6f19a4fdbf Mon Sep 17 00:00:00 2001 From: Ivan Nieto Date: Wed, 17 Feb 2021 15:13:17 -0600 Subject: [PATCH 5/7] Added logic to handle the CLI importer. (#9088) --- app/Importer/AssetImporter.php | 2 +- app/Models/Asset.php | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/app/Importer/AssetImporter.php b/app/Importer/AssetImporter.php index bdc254cb0..09f0b1d37 100644 --- a/app/Importer/AssetImporter.php +++ b/app/Importer/AssetImporter.php @@ -121,7 +121,7 @@ class AssetImporter extends ItemImporter // If we have a target to checkout to, lets do so. if(isset($target)) { - $asset->fresh()->checkOut($target); + $asset->fresh()->checkOut($target, $this->user_id); } return; } diff --git a/app/Models/Asset.php b/app/Models/Asset.php index f84c2ca70..aaec5edd5 100644 --- a/app/Models/Asset.php +++ b/app/Models/Asset.php @@ -279,7 +279,7 @@ class Asset extends Depreciable * @since [v3.0] * @return boolean */ - public function checkOut($target, $admin = null, $checkout_at = null, $expected_checkin = null, $note = null, $name = null, $location = null) + public function checkOut($target, $admin_id = null, $checkout_at = null, $expected_checkin = null, $note = null, $name = null, $location = null) { if (!$target) { return false; @@ -313,9 +313,14 @@ class Asset extends Depreciable } if ($this->save()) { + if(isset($admin_id)){ + $checkedOutBy = User::find($admin_id); - event(new CheckoutableCheckedOut($this, $target, Auth::user(), $note)); - + event(new CheckoutableCheckedOut($this, $target, $checkedOutBy, $note)); + } else { + event(new CheckoutableCheckedOut($this, $target, Auth::user(), $note)); + } + $this->increment('checkout_counter', 1); return true; } From 9deb4204c8e51a3332b7e1c172218122189c1b10 Mon Sep 17 00:00:00 2001 From: snipe Date: Wed, 17 Feb 2021 13:41:08 -0800 Subject: [PATCH 6/7] Fixed #9116 - incorrect parameter name sent to hardware.show in expected assets report --- .../notifications/markdown/report-expected-checkins.blade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/views/notifications/markdown/report-expected-checkins.blade.php b/resources/views/notifications/markdown/report-expected-checkins.blade.php index f27555f97..06ebcc1fb 100644 --- a/resources/views/notifications/markdown/report-expected-checkins.blade.php +++ b/resources/views/notifications/markdown/report-expected-checkins.blade.php @@ -10,7 +10,7 @@ The following {{ $assets->count() }} items are due to be checked in soon: @php $checkin = \App\Helpers\Helper::getFormattedDateObject($asset->expected_checkin, 'date'); @endphp -| [{{ $asset->present()->name }}]({{ route('hardware.show', ['assetId' => $asset->id]) }}) | [{{ $asset->assigned->present()->fullName }}]({{ route('users.show', ['user'=>$asset->assigned->id]) }}) | {{ $checkin['formatted'] }} +| [{{ $asset->present()->name }}]({{ route('hardware.show', ['hardware' => $asset->id]) }}) | [{{ $asset->assigned->present()->fullName }}]({{ route('users.show', ['user'=>$asset->assigned->id]) }}) | {{ $checkin['formatted'] }} @endforeach @endcomponent From 9d50e0e8d000345e9c7f63bc70982b1321140496 Mon Sep 17 00:00:00 2001 From: snipe Date: Wed, 17 Feb 2021 13:44:35 -0800 Subject: [PATCH 7/7] Fixed weird table formatting in expected checkin report --- .../notifications/markdown/report-expected-checkins.blade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/views/notifications/markdown/report-expected-checkins.blade.php b/resources/views/notifications/markdown/report-expected-checkins.blade.php index 06ebcc1fb..dbf588505 100644 --- a/resources/views/notifications/markdown/report-expected-checkins.blade.php +++ b/resources/views/notifications/markdown/report-expected-checkins.blade.php @@ -5,7 +5,7 @@ The following {{ $assets->count() }} items are due to be checked in soon: @component('mail::table') | Asset | Checked Out to | Expected Checkin | -| ------------- | ------------- | +| ------------- | ------------- | ------------- | @foreach ($assets as $asset) @php $checkin = \App\Helpers\Helper::getFormattedDateObject($asset->expected_checkin, 'date');