public function preProcess() {
$id = $this->getID();
+ // Check permission for action.
+ if (!CRM_Core_Permission::checkActionPermission('CiviContribute', $this->_action)) {
+ CRM_Core_Error::statusBounce(ts('You do not have permission to access this page.'));
+ }
+ $params = ['id' => $id];
$context = CRM_Utils_Request::retrieve('context', 'Alphanumeric', $this);
$this->assign('context', $context);
$values = (array) $contribution;
$contributionStatus = CRM_Core_PseudoConstant::getName('CRM_Contribute_BAO_Contribution', 'contribution_status_id', $values['contribution_status_id']);
- if (!isset($this->get_template_vars()['hookDiscount'])) {
- $this->assign('hookDiscount', ['message' => '']);
- }
$this->addExpectedSmartyVariables([
+ 'hookDiscount',
'pricesetFieldsCount',
'pcp_id',
+ 'getTaxDetails',
// currencySymbol maybe doesn't make sense but is probably old?
'currencySymbol',
]);
}
}
- $participantLineItems = \Civi\Api4\LineItem::get()
- ->addSelect('entity_id', 'participant.role_id:label', 'participant.fee_level', 'participant.contact_id', 'contact.display_name')
- ->addJoin('Participant AS participant', 'LEFT', ['participant.id', '=', 'entity_id'])
- ->addJoin('Contact AS contact', 'LEFT', ['contact.id', '=', 'participant.contact_id'])
- ->addWhere('entity_table', '=', 'civicrm_participant')
- ->addWhere('contribution_id', '=', $id)
- ->execute();
+ try {
+ $participantLineItems = \Civi\Api4\LineItem::get()
+ ->addSelect('entity_id', 'participant.role_id:label', 'participant.fee_level', 'participant.contact_id', 'contact.display_name')
+ ->addJoin('Participant AS participant', 'LEFT', ['participant.id', '=', 'entity_id'])
+ ->addJoin('Contact AS contact', 'LEFT', ['contact.id', '=', 'participant.contact_id'])
+ ->addWhere('entity_table', '=', 'civicrm_participant')
+ ->addWhere('contribution_id', '=', $id)
+ ->execute();
+ }
+ catch (API_Exception $e) {
+ // likely don't have permission for events/participants
+ $participantLineItems = [];
+ }
$associatedParticipants = FALSE;
- if ($participantLineItems->count()) {
- foreach ($participantLineItems as $participant) {
- $associatedParticipants[] = [
- 'participantLink' => CRM_Utils_System::url('civicrm/contact/view/participant',
- "action=view&reset=1&id={$participant['entity_id']}&cid={$participant['participant.contact_id']}&context=home"
- ),
- 'participantName' => $participant['contact.display_name'],
- 'fee' => implode(', ', $participant['participant.fee_level']),
- 'role' => implode(', ', $participant['participant.role_id:label']),
- ];
- }
+ foreach ($participantLineItems as $participant) {
+ $associatedParticipants[] = [
+ 'participantLink' => CRM_Utils_System::url('civicrm/contact/view/participant',
+ "action=view&reset=1&id={$participant['entity_id']}&cid={$participant['participant.contact_id']}&context=home"
+ ),
+ 'participantName' => $participant['contact.display_name'],
+ 'fee' => implode(', ', $participant['participant.fee_level']),
+ 'role' => implode(', ', $participant['participant.role_id:label']),
+ ];
}
$this->assign('associatedParticipants', $associatedParticipants);
$values['note'] = array_values($noteValue);
// show billing address location details, if exists
+ $values['billing_address'] = '';
if (!empty($values['address_id'])) {
$addressParams = ['id' => $values['address_id']];
$addressDetails = CRM_Core_BAO_Address::getValues($addressParams, FALSE, 'id');