From 3d122af5d66cd31219f3fc2b949130d7202316f3 Mon Sep 17 00:00:00 2001 From: Adam Date: Tue, 7 Jun 2022 13:34:40 -0300 Subject: [PATCH] Avoid attempting to refer to an unknown index. (#876) When running in a bare site (without any content... like, in a unit testing rig), this ends up trying to refer to a non-existent offset. ... add an `isset()` test to avoid doing so. --- islandora.views.inc | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/islandora.views.inc b/islandora.views.inc index cd826d08..ad2b141a 100644 --- a/islandora.views.inc +++ b/islandora.views.inc @@ -13,13 +13,16 @@ function islandora_views_data_alter(&$data) { $fields = \Drupal::service('entity_field.manager')->getFieldStorageDefinitions('node'); foreach ($fields as $field => $field_storage_definition) { if ($field_storage_definition->getType() == 'integer' && strpos($field, "field_") === 0) { - $data['node__' . $field][$field . '_value']['field'] = $data['node__' . $field][$field]['field']; - $data['node__' . $field][$field]['title'] = t('Integer Weight Selector (@field)', [ - '@field' => $field, - ]); - $data['node__' . $field][$field]['help'] = t('Provides a drag-n-drop reordering of integer-based weight fields.'); - $data['node__' . $field][$field]['title short'] = t('Integer weight selector'); - $data['node__' . $field][$field]['field']['id'] = 'integer_weight_selector'; + $prefixed_field = 'node__' . $field; + if (isset($data[$prefixed_field])) { + $data[$prefixed_field][$field . '_value']['field'] = $data[$prefixed_field][$field]['field']; + $data[$prefixed_field][$field]['title'] = t('Integer Weight Selector (@field)', [ + '@field' => $field, + ]); + $data[$prefixed_field][$field]['help'] = t('Provides a drag-n-drop reordering of integer-based weight fields.'); + $data[$prefixed_field][$field]['title short'] = t('Integer weight selector'); + $data[$prefixed_field][$field]['field']['id'] = 'integer_weight_selector'; + } } } }