function salesforce_api_admin_object in Salesforce Suite 7.2
Same name and namespace in other branches
- 6.2 salesforce_api/salesforce_api.admin.inc \salesforce_api_admin_object()
- 7 salesforce_api/salesforce_api.admin.inc \salesforce_api_admin_object()
Ask Salesforce for a list of objects and display a checklist for the user. Based on user selection, set up or tear down cached/synched Salesforce data. @todo make this more user-friendly. At the moment it's possible for an admin user to blow away their entire local Salesforce cache with a few clicks. This is not necessarily desirable.
Parameters
string $form_state:
Return value
void
1 string reference to 'salesforce_api_admin_object'
- salesforce_api_menu in salesforce_api/
salesforce_api.module - Implements hook_menu().
File
- salesforce_api/
salesforce_api.admin.inc, line 1234 - Contains the admin page callbacks for the Salesforce module, including forms for general settings and fieldmap administration.
Code
function salesforce_api_admin_object($form, &$form_state) {
$response = salesforce_api_describeGlobal();
if (empty($response->types)) {
drupal_set_message(t('There was an error retrieving the list of Salesforce objects. Please verify that your Salesforce instance is properly configured.'), 'error');
return;
}
$fieldmap_objects = salesforce_api_fieldmap_objects('salesforce');
$defaults = array_keys($fieldmap_objects['salesforce']);
$options = $disabled = array();
foreach ($response->types as $obj) {
$options[$obj->name] = $obj->name . ' (' . $obj->label . ')';
}
// Disable any Salesforce object types currently in use by fieldmap(s).
$fieldmaps = salesforce_api_salesforce_fieldmap_load_all();
foreach ($fieldmaps as $map) {
$disabled[$map->salesforce] = $map->salesforce;
}
$fields = array(
'objects' => array(
'#type' => 'checkboxes',
'#title' => 'Object Name (Object Label)',
'#description' => 'Check the Salesforce objects you would like to synchronize locally.',
'#options' => $options,
'#default_value' => $defaults,
),
'disabled_types' => array(
'#type' => 'value',
'#value' => $disabled,
),
'#theme' => 'salesforce_api_object_options',
'submit' => array(
'#type' => 'submit',
'#value' => 'Save',
),
);
return $fields;
}