Skip to content

Commit 5fa4f85

Browse files
authored
Merge pull request #16106 from marcusmoore/bug/sc-27960
Fixed asset show page erroring when asset not associated with model
2 parents 43b8c0b + 31097bd commit 5fa4f85

File tree

2 files changed

+43
-15
lines changed

2 files changed

+43
-15
lines changed

resources/views/hardware/view.blade.php

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1440,21 +1440,23 @@ class="table table-striped snipe-table"
14401440
</div> <!-- /.row -->
14411441
</div> <!-- /.tab-pane files -->
14421442

1443-
@can('view', $asset->model)
1444-
<div class="tab-pane fade" id="modelfiles">
1445-
<div class="row{{ (($asset->model) && ($asset->model->uploads->count() > 0)) ? '' : ' hidden-print' }}">
1446-
<div class="col-md-12">
1447-
1448-
<x-filestable
1449-
filepath="private_uploads/assetmodels/"
1450-
showfile_routename="show/modelfile"
1451-
deletefile_routename="delete/modelfile"
1452-
:object="$asset->model" />
1453-
1454-
</div> <!-- /.col-md-12 -->
1455-
</div> <!-- /.row -->
1456-
</div> <!-- /.tab-pane files -->
1457-
@endcan
1443+
@if ($asset->model)
1444+
@can('view', $asset->model)
1445+
<div class="tab-pane fade" id="modelfiles">
1446+
<div class="row{{ (($asset->model) && ($asset->model->uploads->count() > 0)) ? '' : ' hidden-print' }}">
1447+
<div class="col-md-12">
1448+
1449+
<x-filestable
1450+
filepath="private_uploads/assetmodels/"
1451+
showfile_routename="show/modelfile"
1452+
deletefile_routename="delete/modelfile"
1453+
:object="$asset->model" />
1454+
1455+
</div> <!-- /.col-md-12 -->
1456+
</div> <!-- /.row -->
1457+
</div> <!-- /.tab-pane files -->
1458+
@endcan
1459+
@endif
14581460
</div><!-- /.tab-content -->
14591461
</div><!-- nav-tabs-custom -->
14601462
</div>
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<?php
2+
3+
namespace Tests\Feature\Assets\Ui;
4+
5+
use App\Models\Asset;
6+
use App\Models\User;
7+
use Tests\TestCase;
8+
9+
class ShowAssetTest extends TestCase
10+
{
11+
public function testPageForAssetWithMissingModelStillRenders()
12+
{
13+
$asset = Asset::factory()->create();
14+
15+
$asset->model_id = null;
16+
$asset->forceSave();
17+
18+
$asset->refresh();
19+
20+
$this->assertNull($asset->fresh()->model_id, 'This test needs model_id to be null to be helpful.');
21+
22+
$this->actingAs(User::factory()->superuser()->create())
23+
->get(route('hardware.show', $asset))
24+
->assertOk();
25+
}
26+
}

0 commit comments

Comments
 (0)