• Resolved gmcinnes

    (@gmcinnes)


    It is tempting fate to send empty fields to Salesforce using the SOAP API. It can lead to type errors and extra complexity. This patch filters out empty fields before sending the fields to SalesForce.

    It should apply cleanly to 2.1.1, as long as this previous patch is applied:

    http://wordpress.org/support/topic/cleaning-utf-8-for-soap-submission?replies=3

    --- salesforce-api.php	2012-11-27 16:41:10.000000000 -0500
    +++ salesforce-api.php.no_empty_merge_vars	2012-11-29 20:11:34.000000000 -0500
    @@ -1424,6 +1424,12 @@
             }
             $merge_vars = array_map(function($merge_var) { return clean_utf8_xml_string($merge_var); }, $merge_vars);
    
    +	// Don't send merge_vars that are empty. It can cause problems with Salesforce strict typing.  For example,
    +        // if the form has a text field where a number should go, but that number isn't always required, when it's
    +        // not supplied, we don't want to send <var></var> to Salesforce. It might choke because it expects a Double
    +        // data type, not an empty string
    +	$merge_vars = array_filter($merge_vars, function($merge_var) { return strlen($merge_var) > 0; } );
    +
             $account = new SObject();
    
             $account->fields = $merge_vars;

    http://wordpress.org/extend/plugins/gravity-forms-salesforce/

Viewing 1 replies (of 1 total)
Viewing 1 replies (of 1 total)
  • The topic ‘[PATCH][2.1.1] Don't send empty fields to Salesforce’ is closed to new replies.