From a0a0727b5cab6198955ee6c04b59ca3f4235e144 Mon Sep 17 00:00:00 2001 From: snipe Date: Sat, 22 Feb 2025 18:08:13 +0000 Subject: [PATCH 01/14] Corrected route breadcrumbs Signed-off-by: snipe --- routes/web/hardware.php | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/routes/web/hardware.php b/routes/web/hardware.php index 3f858b1201..2ca0ccf641 100644 --- a/routes/web/hardware.php +++ b/routes/web/hardware.php @@ -101,19 +101,24 @@ Route::group( [AssetsController::class, 'getLabel'] )->name('label/hardware'); - Route::get('{asset}/checkout', [AssetCheckoutController::class, 'create'])->name('hardware.checkout.create') + Route::get('{asset}/checkout', [AssetCheckoutController::class, 'create']) + ->name('hardware.checkout.create') ->breadcrumbs(fn (Trail $trail, Asset $asset) => $trail->parent('hardware.show', $asset) - ->push(trans('admin/hardware/general.bulk_checkout'), route('hardware.index')) + ->push(trans('admin/hardware/general.checkout'), route('hardware.index')) ); Route::post('{assetId}/checkout', [AssetCheckoutController::class, 'store'] )->name('hardware.checkout.store'); - Route::get('{assetId}/checkin/{backto?}', + Route::get('{asset}/checkin/{backto?}', [AssetCheckinController::class, 'create'] - )->name('hardware.checkin.create'); + )->name('hardware.checkin.create') + ->breadcrumbs(fn (Trail $trail, Asset $asset) => + $trail->parent('hardware.show', $asset) + ->push(trans('admin/hardware/general.checkin'), route('hardware.index')) + ); Route::post('{assetId}/checkin/{backto?}', [AssetCheckinController::class, 'store'] From 1b9d046f5f93d9af301f6bceeb4ac3085db919af Mon Sep 17 00:00:00 2001 From: snipe Date: Sat, 22 Feb 2025 18:08:25 +0000 Subject: [PATCH 02/14] Fixed test for RMB Signed-off-by: snipe --- .../Feature/Checkins/Ui/AssetCheckinTest.php | 29 +++++++++---------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/tests/Feature/Checkins/Ui/AssetCheckinTest.php b/tests/Feature/Checkins/Ui/AssetCheckinTest.php index 58194dbfc4..9c7b371e2b 100644 --- a/tests/Feature/Checkins/Ui/AssetCheckinTest.php +++ b/tests/Feature/Checkins/Ui/AssetCheckinTest.php @@ -18,16 +18,14 @@ class AssetCheckinTest extends TestCase public function testCheckingInAssetRequiresCorrectPermission() { $this->actingAs(User::factory()->create()) - ->post(route('hardware.checkin.store', [ - 'assetId' => Asset::factory()->assignedToUser()->create()->id, - ])) + ->post(route('hardware.checkin.store', [Asset::factory()->assignedToUser()->create()])) ->assertForbidden(); } public function testCannotCheckInAssetThatIsNotCheckedOut() { $this->actingAs(User::factory()->checkinAssets()->create()) - ->post(route('hardware.checkin.store', ['assetId' => Asset::factory()->create()->id])) + ->post(route('hardware.checkin.store', [Asset::factory()->create()])) ->assertStatus(302) ->assertSessionHas('error') ->assertRedirect(route('hardware.index')); @@ -36,7 +34,7 @@ class AssetCheckinTest extends TestCase public function testCannotStoreAssetCheckinThatIsNotCheckedOut() { $this->actingAs(User::factory()->checkinAssets()->create()) - ->get(route('hardware.checkin.store', ['assetId' => Asset::factory()->create()->id])) + ->get(route('hardware.checkin.store', [Asset::factory()->create()])) ->assertStatus(302) ->assertSessionHas('error') ->assertRedirect(route('hardware.index')); @@ -68,7 +66,7 @@ class AssetCheckinTest extends TestCase $this->actingAs(User::factory()->checkinAssets()->create()) ->post( - route('hardware.checkin.store', ['assetId' => $asset->id]), + route('hardware.checkin.store', [$asset]), [ 'name' => 'Changed Name', 'status_id' => $status->id, @@ -101,7 +99,7 @@ class AssetCheckinTest extends TestCase ]); $this->actingAs(User::factory()->checkinAssets()->create()) - ->post(route('hardware.checkin.store', ['assetId' => $asset->id])); + ->post(route('hardware.checkin.store', [$asset])); $this->assertTrue($asset->refresh()->location()->is($rtdLocation)); } @@ -112,7 +110,7 @@ class AssetCheckinTest extends TestCase $asset = Asset::factory()->assignedToUser()->create(); $this->actingAs(User::factory()->checkinAssets()->create()) - ->post(route('hardware.checkin.store', ['assetId' => $asset->id]), [ + ->post(route('hardware.checkin.store', [$asset]), [ 'location_id' => $location->id, 'update_default_location' => 0 ]); @@ -128,7 +126,7 @@ class AssetCheckinTest extends TestCase $this->assertNotNull($asset->licenseseats->first()->assigned_to); $this->actingAs(User::factory()->checkinAssets()->create()) - ->post(route('hardware.checkin.store', ['assetId' => $asset->id])); + ->post(route('hardware.checkin.store', [$asset])); $this->assertNull($asset->refresh()->licenseseats->first()->assigned_to); } @@ -141,7 +139,7 @@ class AssetCheckinTest extends TestCase ]); $this->actingAs(User::factory()->checkinAssets()->create()) - ->post(route('hardware.checkin.store', ['assetId' => $asset->id])); + ->post(route('hardware.checkin.store', [$asset])); $this->assertNull($asset->refresh()->rtd_location_id); $this->assertEquals($asset->location_id, $asset->rtd_location_id); @@ -154,7 +152,7 @@ class AssetCheckinTest extends TestCase $acceptance = CheckoutAcceptance::factory()->for($asset, 'checkoutable')->pending()->create(); $this->actingAs(User::factory()->checkinAssets()->create()) - ->post(route('hardware.checkin.store', ['assetId' => $asset->id])); + ->post(route('hardware.checkin.store', [$asset])); $this->assertFalse($acceptance->exists(), 'Acceptance was not deleted'); } @@ -165,8 +163,7 @@ class AssetCheckinTest extends TestCase $this->actingAs(User::factory()->checkinAssets()->create()) ->post(route( - 'hardware.checkin.store', - ['assetId' => Asset::factory()->assignedToUser()->create()->id] + 'hardware.checkin.store', [Asset::factory()->assignedToUser()->create()] ), [ 'checkin_at' => '2023-01-02', 'note' => 'hello' @@ -185,10 +182,10 @@ class AssetCheckinTest extends TestCase $asset->forceSave(); $this->actingAs(User::factory()->admin()->create()) - ->get(route('hardware.checkin.create', ['assetId' => $asset->id])) + ->get(route('hardware.checkin.create', [$asset])) ->assertStatus(302) ->assertSessionHas('error') - ->assertRedirect(route('hardware.show', $asset->id)); + ->assertRedirect(route('hardware.show', $asset)); } public function testAssetCheckinPagePostIsRedirectedIfModelIsInvalid() @@ -198,7 +195,7 @@ class AssetCheckinTest extends TestCase $asset->forceSave(); $this->actingAs(User::factory()->admin()->create()) - ->post(route('hardware.checkin.store', ['assetId' => $asset->id])) + ->post(route('hardware.checkin.store', $asset)) ->assertStatus(302) ->assertSessionHas('error') ->assertRedirect(route('hardware.show', $asset)); From 2434c82a75b3bdd27756f985823f14a82709fcda Mon Sep 17 00:00:00 2001 From: snipe Date: Sat, 22 Feb 2025 18:11:04 +0000 Subject: [PATCH 03/14] Added if/else for custom fields model partial Signed-off-by: snipe --- resources/views/models/custom_fields_form.blade.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/resources/views/models/custom_fields_form.blade.php b/resources/views/models/custom_fields_form.blade.php index 4949fae71c..325540c6e1 100644 --- a/resources/views/models/custom_fields_form.blade.php +++ b/resources/views/models/custom_fields_form.blade.php @@ -1,10 +1,18 @@ @if (($model) && ($model->fieldset)) @foreach($model->fieldset->fields AS $field) + @if ( + ((!isset($show_display_checkin_fields)) + || (($field->display_checkin == '1') + && ($show_display_checkin_fields =='true'))) && + ((!isset($show_display_checkout_fields)) + || (($field->display_checkout == '1') + && ($show_display_checkout_fields =='true'))) + ) +
- @if ($field->element!='text') @if ($field->element=='listbox') @@ -83,6 +91,7 @@
+ @endif @endforeach @endif From 42eda089e21fb8406fb6a33c86d7f7a8c46a4e85 Mon Sep 17 00:00:00 2001 From: snipe Date: Sat, 22 Feb 2025 18:11:27 +0000 Subject: [PATCH 04/14] Added include for custom fields partial Signed-off-by: snipe --- resources/views/hardware/checkin.blade.php | 18 +++++++++++++++--- resources/views/hardware/checkout.blade.php | 6 ++++++ 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/resources/views/hardware/checkin.blade.php b/resources/views/hardware/checkin.blade.php index 9188d81eaa..d08f91cf5b 100755 --- a/resources/views/hardware/checkin.blade.php +++ b/resources/views/hardware/checkin.blade.php @@ -53,9 +53,9 @@ {{ $asset->model->name }} @else - - {{ trans('admin/hardware/general.model_invalid')}} - + + {{ trans('admin/hardware/general.model_invalid')}} + {{ trans('admin/hardware/general.model_invalid_fix')}} {{ trans('admin/hardware/general.edit') }} @@ -113,6 +113,18 @@
+ + @include("models/custom_fields_form", [ + 'model' => $asset->model, + 'show_display_checkin_fields' => 'true' + ]) + + + + + + +
+ + @include("models/custom_fields_form", [ + 'model' => $asset->model, + 'show_display_checkout_fields' => 'true' + ]) +
+
-
+
+
-
+
-
+
@endif - + + +
+ +
+ + +
+ +
+ + +