Skip to content

Commit 8fc1227

Browse files
authored
Merge pull request #16003 from snipe/asset_maintenance_api_fix
Check for valid asset before accessing properties
2 parents 3edb501 + d410f16 commit 8fc1227

File tree

2 files changed

+9
-8
lines changed

2 files changed

+9
-8
lines changed

app/Http/Controllers/Api/AssetMaintenancesController.php

+4-4
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ public function index(Request $request) : JsonResponse | array
122122
* @version v1.0
123123
* @since [v1.8]
124124
*/
125-
public function store(Request $request) : JsonResponse
125+
public function store(Request $request) : JsonResponse | array
126126
{
127127
$this->authorize('update', Asset::class);
128128
// create a new model instance
@@ -149,7 +149,7 @@ public function store(Request $request) : JsonResponse
149149
* @version v1.0
150150
* @since [v4.0]
151151
*/
152-
public function update(Request $request, $id) : JsonResponse
152+
public function update(Request $request, $id) : JsonResponse | array
153153
{
154154
$this->authorize('update', Asset::class);
155155

@@ -186,7 +186,7 @@ public function update(Request $request, $id) : JsonResponse
186186
* @version v1.0
187187
* @since [v4.0]
188188
*/
189-
public function destroy($assetMaintenanceId) : JsonResponse
189+
public function destroy($assetMaintenanceId) : JsonResponse | array
190190
{
191191
$this->authorize('update', Asset::class);
192192
// Check if the asset maintenance exists
@@ -208,7 +208,7 @@ public function destroy($assetMaintenanceId) : JsonResponse
208208
* @version v1.0
209209
* @since [v4.0]
210210
*/
211-
public function show($assetMaintenanceId) : JsonResponse
211+
public function show($assetMaintenanceId) : JsonResponse | array
212212
{
213213
$this->authorize('view', Asset::class);
214214
$assetMaintenance = AssetMaintenance::findOrFail($assetMaintenanceId);

app/Http/Transformers/AssetMaintenancesTransformer.php

+5-4
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,15 @@ public function transformAssetMaintenance(AssetMaintenance $assetmaintenance)
2929
'name'=> ($assetmaintenance->asset->name) ? e($assetmaintenance->asset->name) : null,
3030
'asset_tag'=> e($assetmaintenance->asset->asset_tag),
3131
'serial'=> e($assetmaintenance->asset->serial),
32-
'deleted_at'=> e($assetmaintenance->asset->deleted_at),
33-
'created_at'=> e($assetmaintenance->asset->created_at),
32+
'deleted_at'=> Helper::getFormattedDateObject($assetmaintenance->asset->deleted_at, 'datetime'),
33+
'created_at' => Helper::getFormattedDateObject($assetmaintenance->asset->created_at, 'datetime'),
34+
'updated_at' => Helper::getFormattedDateObject($assetmaintenance->asset->updated_at, 'datetime'),
3435
] : null,
3536
'model' => (($assetmaintenance->asset) && ($assetmaintenance->asset->model)) ? [
3637
'id' => (int) $assetmaintenance->asset->model->id,
3738
'name'=> ($assetmaintenance->asset->model->name) ? e($assetmaintenance->asset->model->name).' '.e($assetmaintenance->asset->model->model_number) : null,
3839
] : null,
39-
'status_label' => ($assetmaintenance->asset->assetstatus) ? [
40+
'status_label' => (($assetmaintenance->asset) && ($assetmaintenance->asset->assetstatus)) ? [
4041
'id' => (int) $assetmaintenance->asset->assetstatus->id,
4142
'name'=> e($assetmaintenance->asset->assetstatus->name),
4243
'status_type'=> e($assetmaintenance->asset->assetstatus->getStatuslabelType()),
@@ -79,7 +80,7 @@ public function transformAssetMaintenance(AssetMaintenance $assetmaintenance)
7980
];
8081

8182
$permissions_array['available_actions'] = [
82-
'update' => (Gate::allows('update', Asset::class) && ($assetmaintenance->asset->deleted_at=='')) ? true : false,
83+
'update' => (Gate::allows('update', Asset::class) && ((($assetmaintenance->asset) && $assetmaintenance->asset->deleted_at==''))) ? true : false,
8384
'delete' => Gate::allows('delete', Asset::class),
8485
];
8586

0 commit comments

Comments
 (0)