Merge pull request #12132 from snipe/fixes/view_assets_page_error_when_no_custom_fields

Handle use case where there are no custom fields for any assigned models
This commit is contained in:
snipe 2022-11-16 17:48:53 +00:00 committed by GitHub
commit cdcd19a7d8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -38,14 +38,23 @@ class ViewAssetsController extends Controller
'licenses',
)->find(Auth::user()->id);
$field_array = array();
// Loop through all the custom fields that are applied to any model the user has assigned
foreach ($user->assets as $asset) {
foreach ($asset->model->fieldset->fields as $field) {
// check and make sure they're allowed to see the value of the custom field
if ($field->display_in_user_view == '1') {
$field_array[$field->db_column] = $field->name;
// Make sure the model has a custom fieldset before trying to loop through the associated fields
if ($asset->model->fieldset) {
foreach ($asset->model->fieldset->fields as $field) {
// check and make sure they're allowed to see the value of the custom field
if ($field->display_in_user_view == '1') {
$field_array[$field->db_column] = $field->name;
}
}
}
}
// Since some models may re-use the same fieldsets/fields, let's make the array unique so we don't repeat columns