diff -ur salesforce_api/salesforce_api.admin.inc ./salesforce_api/salesforce_api.admin.inc --- salesforce_api/salesforce_api.admin.inc 2009-09-21 16:44:06.000000000 -0500 +++ ./salesforce_api/salesforce_api.admin.inc 2009-09-22 10:56:03.000000000 -0500 @@ -289,11 +289,12 @@ } $form['drupal_sfapi_automatic'] = array( - '#type' => 'checkbox', + '#type' => 'radios', '#title' => t('Automatically Populate Salesforce?'), + '#options' => array(0 => t('None (Do not autopopulate)'), 1 => t('On create only'), 2 => t('On create and update')), '#return_value' => 1, '#default_value' => $map['automatic'], - '#description' => t('Automatically create and link new salesforce objects when Drupal objects are created?'), + '#description' => t('Automatically create and link new salesforce objects when Drupal objects are created/updated?'), ); // Add the data to the form for the required fields table. diff -ur salesforce_api/salesforce_api.install ./salesforce_api/salesforce_api.install --- salesforce_api/salesforce_api.install 2009-08-31 10:00:22.000000000 -0500 +++ ./salesforce_api/salesforce_api.install 2009-09-22 11:11:45.000000000 -0500 @@ -101,7 +101,7 @@ 'default' => '', ), 'automatic' => array( - 'description' => 'Boolean indicating whether this action/map is automatic or triggered.', + 'description' => 'Indicates whether this action/map is automatic or triggered.', 'type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, diff -ur sf_node/sf_node.module ./sf_node/sf_node.module --- sf_node/sf_node.module 2009-09-22 14:19:51.000000000 -0500 +++ ./sf_node/sf_node.module 2009-09-22 15:33:50.000000000 -0500 @@ -61,7 +61,7 @@ } // Are there any automatic fieldmaps for this node type? - $result = db_query("SELECT fieldmap FROM {salesforce_field_map} WHERE drupal = '%s' AND automatic = 1", 'node_'. $node->type); + $result = db_query("SELECT fieldmap FROM {salesforce_field_map} WHERE drupal = '%s' AND automatic > 0", 'node_'. $node->type); $map = db_fetch_object($result); if (!$map) { return; @@ -85,7 +85,12 @@ } $salesforce = salesforce_api_id_load('node', $node->nid); if ($salesforce['fieldmap'] && $salesforce['sfid']) { - sf_node_export($node, $salesforce['fieldmap'], $salesforce['sfid']); + // check if we should auto-update Salesforce + $result = db_query("SELECT automatic FROM {salesforce_field_map} WHERE fieldmap = '%d'", $salesforce['fieldmap']); + $automatic_obj = db_fetch_object($result); + if ($automatic_obj->automatic == 2) { + sf_node_export($node, $salesforce['fieldmap'], $salesforce['sfid']); + } } break; }