function salesforce_pull_form_salesforce_settings_form_alter in Salesforce Suite 7.3
Implements hook_form_FORM_ID_alter().
File
- modules/
salesforce_pull/ salesforce_pull.module, line 131 - Pull updates from Salesforce when a Salesforce object is updated.
Code
function salesforce_pull_form_salesforce_settings_form_alter(&$form, &$form_state, $form_id) {
$form['salesforce_pull_throttle'] = array(
'#type' => 'textfield',
'#title' => t('Pull throttle (seconds)'),
'#description' => t('Number of seconds to wait between repeated salesforce pulls.<br>
Prevents the webserver from becoming overloaded in case of too many cron runs, or webhook usage.'),
'#default_value' => variable_get('salesforce_pull_throttle', 5),
'#element_validate' => array(
'element_validate_number',
),
);
$webhooks_enabled = variable_get('salesforce_pull_webhook_enable', FALSE);
$form['salesforce_pull_webhook_enable'] = array(
'#type' => 'checkbox',
'#title' => t('Enable webhooks'),
'#description' => t('Allow external applications to trigger Salesforce sync with a web request.'),
'#default_value' => $webhooks_enabled,
);
$webhook_key = variable_get('salesforce_pull_webhook_key', drupal_random_key());
$url = url('salesforce/webhook/pull', array(
'query' => array(
'key' => $webhook_key,
),
'absolute' => TRUE,
));
$form['salesforce_pull_webhook_key'] = array(
'#type' => 'textfield',
'#title' => t('Webhook key'),
'#description' => t('A secret key that is required in the webhook request url (@url).<br>
Leave blank to auto-generate a new random key.', array(
'@url' => $url,
)),
'#default_value' => $webhook_key,
'#states' => array(
// Only show this field when the 'webhook_enable' checkbox is enabled.
'visible' => array(
':input[name="salesforce_pull_webhook_enable"]' => array(
'checked' => TRUE,
),
),
),
'#element_validate' => array(
'salesforce_pull_webhook_key_validate',
),
);
module_load_include('inc', 'salesforce_mapping', 'includes/salesforce_mapping.admin');
$form[SALESFORCE_MERGE_RECORD] = array(
'#type' => 'select',
'#title' => t('Salesforce Contact Merge Object'),
'#options' => _salesforce_mapping_get_salesforce_object_type_options($form_state),
'#default_value' => variable_get(SALESFORCE_MERGE_RECORD, NULL),
'#weight' => 4,
'#description' => t('Select a Salesforce object that describes merged Salesforce Contacts to automate merging. Not seeing an object? !settings_link', array(
'!settings_link' => l(t('Check your Salesforce object filters settings.'), 'admin/config/salesforce/settings', array(
'fragment' => 'sf_object_filters_anchor',
)),
)),
);
}