civicrm / org.civicrm.contactlayout

Customize the contact summary screen
Other
15 stars 20 forks source link

Network error: unable to reach server - Multi contact record field #142

Closed adevapp closed 4 months ago

adevapp commented 7 months ago

When editing a block with a multi record custom field present on a contact summary layout, CiviCRM produces a network error instead of loading the edit screen. This used to work, but has broken since upgrading to 5.70.1

The layout editor profile block contains several single record contact fields and one multi record custom field (Pseudonym) which comes from the Privacy and Consent tab/multi contact records. When the Pseudonym is added to the contact summary layout block, then the network error is displayed. If this field is removed, the edit block loads. It seems multi fields are no longer supported on the contact summary layout in the context explained.

The stack track:

[04-Apr-2024 17:28:54 Australia/Sydney] PHP Warning:  Undefined array key "location" in /home/xxx/public_html/wp-content/uploads/civicrm/templates_c/en_AU/%%ED/ED7/ED78F5CC%%formButtons.tpl.php on line 44
[04-Apr-2024 17:28:54 Australia/Sydney] PHP Warning:  Undefined array key "location" in /home/xxx/public_html/wp-content/uploads/civicrm/templates_c/en_AU/%%ED/ED7/ED78F5CC%%formButtons.tpl.php on line 44
[04-Apr-2024 17:28:54 Australia/Sydney] PHP Warning:  Undefined array key "options_per_line" in /home/xxx/public_html/wp-content/uploads/civicrm/templates_c/en_AU/%%CC/CC2/CC20B997%%ProfileBlock.tpl.php on line 37
[04-Apr-2024 17:28:54 Australia/Sydney] PHP Warning:  Undefined array key "options_per_line" in /home/xxx/public_html/wp-content/uploads/civicrm/templates_c/en_AU/%%CC/CC2/CC20B997%%ProfileBlock.tpl.php on line 37
[04-Apr-2024 17:28:54 Australia/Sydney] PHP Warning:  Undefined array key "options_per_line" in /home/xxx/public_html/wp-content/uploads/civicrm/templates_c/en_AU/%%CC/CC2/CC20B997%%ProfileBlock.tpl.php on line 37
[04-Apr-2024 17:28:54 Australia/Sydney] PHP Fatal error:  Uncaught TypeError: Cannot access offset of type string on string in /home/xxx/public_html/wp-content/uploads/civicrm/templates_c/en_AU/%%CC/CC2/CC20B997%%ProfileBlock.tpl.php:48
Stack trace:
#0 /home/xxx/public_html/wp-content/plugins/civicrm/civicrm/packages/Smarty/Smarty.class.php(1953): include()
#1 /home/xxx/public_html/wp-content/uploads/civicrm/templates_c/en_AU/%%0C/0CB/0CBEC124%%default.tpl.php(19): Smarty->_smarty_include(Array)
#2 /home/xxx/public_html/wp-content/plugins/civicrm/civicrm/packages/Smarty/Smarty.class.php(1953): include('/home/thefamily...')
#3 /home/xxx/public_html/wp-content/uploads/civicrm/templates_c/en_AU/%%A0/A0D/A0D7E591%%snippet.tpl.php(26): Smarty->_smarty_include(Array)
#4 /home/xxx/public_html/wp-content/plugins/civicrm/civicrm/packages/Smarty/Smarty.class.php(1290): include('/home/thefamily...')
#5 /home/xxx/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/QuickForm/Action/Display.php(117): Smarty->fetch('CRM/common/snip...')
#6 /home/xxx/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/QuickForm/Action/Display.php(83): CRM_Core_QuickForm_Action_Display->renderForm(Object(CRM_Contactlayout_Form_Inline_ProfileBlock))
#7 /home/xxx/public_html/wp-content/plugins/civicrm/civicrm/packages/HTML/QuickForm/Controller.php(203): CRM_Core_QuickForm_Action_Display->perform(Object(CRM_Contactlayout_Form_Inline_ProfileBlock), 'display')
#8 /home/xxx/public_html/wp-content/plugins/civicrm/civicrm/packages/HTML/QuickForm/Page.php(103): HTML_QuickForm_Controller->handle(Object(CRM_Contactlayout_Form_Inline_ProfileBlock), 'display')
#9 /home/xxx/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Controller.php(355): HTML_QuickForm_Page->handle('display')
#10 /home/xxx/public_html/wp-content/plugins/civicrm/civicrm/CRM/Utils/Wrapper.php(98): CRM_Core_Controller->run()
#11 /home/xxx/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Page/AJAX.php(63): CRM_Utils_Wrapper->run('CRM_Contactlayo...')
#12 /home/xxx/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(288): CRM_Core_Page_AJAX::run()
#13 /home/xxx/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(69): CRM_Core_Invoke::runItem(Array)
#14 /home/xxx/public_html/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(36): CRM_Core_Invoke::_invoke(Array)
#15 /home/xxx/public_html/wp-content/plugins/civicrm/civicrm.php(1231): CRM_Core_Invoke::invoke(Array)
#16 /home/xxx/public_html/wp-includes/class-wp-hook.php(324): CiviCRM_For_WordPress->invoke('')
#17 /home/xxx/public_html/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters('', Array)
#18 /home/xxx/public_html/wp-includes/plugin.php(517): WP_Hook->do_action(Array)
#19 /home/xxx/public_html/wp-admin/admin.php(259): do_action('toplevel_page_C...')
#20 {main}
  thrown in /home/xxx/public_html/wp-content/uploads/civicrm/templates_c/en_AU/%%CC/CC2/CC20B997%%ProfileBlock.tpl.php on line 48

Some screen shots:

multi field mutli field 2 privacy and consent privacy and consent main record
adevapp commented 4 months ago

Thanks. This has been fixed in the latest release. Tested and working on a few sites.