function salesforce_api_admin_object in Salesforce Suite 6.2
Same name and namespace in other branches
- 7 salesforce_api/salesforce_api.admin.inc \salesforce_api_admin_object()
- 7.2 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.
@author aaron
Parameters
string $form_state:
Return value
void
1 string reference to 'salesforce_api_admin_object'
- salesforce_api_menu in salesforce_api/
salesforce_api.module - Implementation of hook_menu().
File
- salesforce_api/
salesforce_api.admin.inc, line 1090 - Contains the admin page callbacks for the Salesforce module, including forms for general settings and fieldmap administration.
Code
function salesforce_api_admin_object(&$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;
}
$defaults = array_keys(salesforce_api_fieldmap_objects());
$options = $disabled = array();
foreach ($response->types as $obj) {
$options[$obj->name] = $obj->name . ' (' . $obj->label . ')';
}
// Disable any SF Object types currently in use by fieldmap(s).
$result = db_query('SELECT DISTINCT salesforce FROM {salesforce_field_map}');
$fieldmaps = salesforce_api_salesforce_field_map_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;
}