diff --git a/CRM/DataprocessorSearch/Form/ParticipantSearch.php b/CRM/DataprocessorSearch/Form/ParticipantSearch.php index 9ad9f0e3afe91595047cb1b628fa5f78e73bece2..b716a41e32ee237481317e79bcf470ce8bf4a9d1 100644 --- a/CRM/DataprocessorSearch/Form/ParticipantSearch.php +++ b/CRM/DataprocessorSearch/Form/ParticipantSearch.php @@ -25,7 +25,17 @@ class CRM_DataprocessorSearch_Form_ParticipantSearch extends CRM_DataprocessorSe * @return false|string */ protected function link($row):? string { - return CRM_Utils_System::url('civicrm/contact/view/participant', 'reset=1&id='.$row['id'].'&cid='.$row['id'].'&action=view'); + $contact_id = false; + try { + $contact_id = civicrm_api3('Participant', 'getvalue', [ + 'return' => 'contact_id', + 'id' => $row['id'] + ]); + } catch (CiviCRM_API3_Exception $ex) { + // Do nothing. + } + + return CRM_Utils_System::url('civicrm/contact/view/participant', 'reset=1&id='.$row['id'].'&cid='.$contact_id.'&action=view'); } /**