Set contact ID instead of formatted value on output
Setup a dataprocessor such as below json. Display contact id as link to contact record.
- What happens: Fatal error because
$ids
passed toCRM_Contact_Form_DataProcessorContactSearch::alterRows
is an array of fully formatted URLs (eg. <a href...) instead of the expected list of contact IDs. - What should happen: List of contacts displayed.
I'm not sure if this fix is completely correct, but the issue is that the $ids
array needs to contain integer IDs and it does not!
{
"name": "test",
"title": "test",
"type": "default",
"is_active": "1",
"configuration": [],
"aggregation": [],
"storage_configuration": [],
"data_sources": [
{
"weight": "1",
"name": "contact",
"title": "Contact",
"type": "contact",
"configuration": {
"filter": {
"is_deleted": {
"op": "=",
"value": "0"
}
}
},
"join_configuration": {
"left_prefix": "contact",
"left_field": "id",
"right_prefix": "participant",
"right_field": "contact_id"
}
}
],
"filters": [],
"fields": [
{
"weight": "1",
"name": "contact_id",
"title": "Contact ID",
"type": "contact_link",
"configuration": {
"contact_id_field": "id",
"contact_id_datasource": "contact",
"contact_name_field": "display_name",
"contact_name_datasource": "contact"
}
}
],
"outputs": [
{
"type": "contact_search",
"configuration": {
"title": "test",
"contact_id_field": "contact_id",
"hide_id_field": "0",
"help_text": "",
"navigation_parent_path": "Search"
},
"permission": "access CiviCRM"
}
]
}