function sf_node_salesforce_form_submit in Salesforce Suite 6.2
Same name and namespace in other branches
- 5.2 sf_node/sf_node.module \sf_node_salesforce_form_submit()
File
- sf_node/
sf_node.module, line 596 - Integrates the core node object and various node related modules with the Salesforce API.
Code
function sf_node_salesforce_form_submit($form, &$form_state) {
switch ($form_state['values']['op']) {
// Export the node to Salesforce.
case t('Export node'):
case t('Export changes to Salesforce'):
if (sf_node_export($form_state['values']['nid'], $form_state['values']['fieldmap'], $form_state['values']['sfid'])) {
drupal_set_message(t('Changes successfully exported to Salesforce.'));
}
else {
drupal_set_message(t('An error occurred while exporting the changes to Salesforce. Check the watchdog for more information.'), 'error');
}
break;
// Import changes from Salesforce.
case t('Import changes from Salesforce'):
if (sf_node_import($form_state['values']['sfid'], $form_state['values']['fieldmap'], $form_state['values']['nid'])) {
drupal_set_message(t('The node has been updated with values from Salesforce.'));
}
else {
drupal_set_message(t('An error occurred while importing the changes from Salesforce. Check the watchdog for more information.'), 'error');
}
break;
case $form_state['values']['link']:
if (!is_sfid($form_state['values']['sfid'])) {
drupal_set_message(t('Invalid SFID provided.'), 'error');
break;
}
salesforce_api_id_save('node', $form_state['values']['nid'], $form_state['values']['sfid'], $form_state['values']['fieldmap'], 'link');
break;
case $form_state['values']['unlink']:
case t('Unlink'):
if (!isset($form_state['storage']['confirm'])) {
$form_state['storage']['confirm'] = TRUE;
$form_state['rebuild'] = TRUE;
}
else {
unset($form_state['storage']['confirm']);
$node = $form_state['values']['node'];
salesforce_api_id_unlink(array(
'oid' => $node->nid,
'name' => $node->salesforce->name,
));
drupal_set_message(t('The node !nid has been unlinked from Salesforce !sfid.', array(
'!nid' => $node->nid,
'!sfid' => $node->salesforce->sfid,
)));
}
break;
}
}