You are here

function webform_civicrm_webform_submission_actions in Webform CiviCRM Integration 7.5

Same name and namespace in other branches
  1. 8.5 webform_civicrm.module \webform_civicrm_webform_submission_actions()
  2. 6.2 webform_civicrm.module \webform_civicrm_webform_submission_actions()
  3. 7.2 webform_civicrm.module \webform_civicrm_webform_submission_actions()
  4. 7.3 webform_civicrm.module \webform_civicrm_webform_submission_actions()
  5. 7.4 webform_civicrm.module \webform_civicrm_webform_submission_actions()

Implements hook_webform_submission_actions(). Add links to view contact & activity.

File

./webform_civicrm.module, line 373
Webform CiviCRM Integration Module: Links webform submissions to contacts in a CiviCRM database. @author Coleman Watts

Code

function webform_civicrm_webform_submission_actions($node, $submission) {
  $actions = [];
  if (!empty($node->webform_civicrm) && !empty($submission->civicrm) && webform_results_access($node) && user_access('access CiviCRM')) {
    $data = $submission->civicrm;
    if (!empty($data['contact'][1]['display_name'])) {
      $actions['civicrm_action contact_view'] = [
        'title' => t('View @name', [
          '@name' => $data['contact'][1]['display_name'],
        ]),
        'href' => 'civicrm/contact/view',
        'query' => [
          'reset' => 1,
          'cid' => $data['contact'][1]['id'],
        ],
      ];
      if (!empty($data['activity'][1]['id'])) {
        $actions['civicrm_action activity_view'] = [
          'title' => t('View Activity'),
          'href' => 'civicrm/activity',
          'query' => [
            'action' => 'view',
            'reset' => 1,
            'cid' => $data['contact'][1]['id'],
            'id' => $data['activity'][1]['id'],
          ],
        ];
      }
      if (!empty($data['contribution'][1]['id'])) {
        $actions['civicrm_action contribution_view'] = [
          'title' => t('View Contribution'),
          'href' => 'civicrm/contact/view/contribution',
          'query' => [
            'action' => 'view',
            'reset' => 1,
            'cid' => $data['contact'][1]['id'],
            'id' => $data['contribution'][1]['id'],
          ],
        ];
      }
      if (!empty($data['participant'][1]['id'])) {
        $actions['civicrm_action participant_view'] = [
          'title' => t('View Participant'),
          'href' => 'civicrm/contact/view/participant',
          'query' => [
            'action' => 'view',
            'reset' => 1,
            'cid' => $data['contact'][1]['id'],
            'id' => $data['participant'][1]['id'],
          ],
        ];
      }
    }
  }
  return $actions;
}