You are here

protected function SalesforceMappingFormBase::ensureConnection in Salesforce Suite 8.4

Same name and namespace in other branches
  1. 5.0.x modules/salesforce_mapping_ui/src/Form/SalesforceMappingFormBase.php \Drupal\salesforce_mapping_ui\Form\SalesforceMappingFormBase::ensureConnection()

Test the Salesforce connection by issuing the given api call.

Parameters

string $method: Which method to test on the Salesforce client. Defaults to "objects".

mixed $arg: An argument to send to the test method. Defaults to empty array.

Return value

bool TRUE if Salesforce endpoint (or cache) responded correctly.

2 calls to SalesforceMappingFormBase::ensureConnection()
SalesforceMappingFieldsForm::buildForm in modules/salesforce_mapping_ui/src/Form/SalesforceMappingFieldsForm.php
Form constructor.
SalesforceMappingFormCrudBase::buildForm in modules/salesforce_mapping_ui/src/Form/SalesforceMappingFormCrudBase.php
Form constructor.

File

modules/salesforce_mapping_ui/src/Form/SalesforceMappingFormBase.php, line 96

Class

SalesforceMappingFormBase
Salesforce Mapping Form base.

Namespace

Drupal\salesforce_mapping_ui\Form

Code

protected function ensureConnection($method = 'objects', $arg = [
  [],
  TRUE,
]) {
  $message = '';
  if ($this->client
    ->isInit()) {
    try {
      call_user_func_array([
        $this->client,
        $method,
      ], $arg);
      return TRUE;
    } catch (\Exception $e) {

      // Fall through.
      $message = $e
        ->getMessage() ?: get_class($e);
    }
  }
  $href = new Url('salesforce.auth_config');
  $this
    ->messenger()
    ->addError($this
    ->t('Error when connecting to Salesforce. Please <a href="@href">check your credentials</a> and try again: %message', [
    '@href' => $href
      ->toString(),
    '%message' => $message,
  ]), 'error');
  return FALSE;
}