From e78d275cb7d96a99eb95e29ac1a6c5efe38dd1bf Mon Sep 17 00:00:00 2001
From: ironsizide <ironsizide@787980.no-reply.drupal.org>
Date: Fri, 5 Apr 2019 10:49:52 -0400
Subject: [PATCH] Issue #3018864 by ironsizide, cwcorrigan: Column
 'salesforce_id' cannot be null while I'm pushing Case objects to Salesforce

---
 modules/salesforce_push/salesforce_push.module | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/modules/salesforce_push/salesforce_push.module b/modules/salesforce_push/salesforce_push.module
index aa67b52b..b4a9d608 100644
--- a/modules/salesforce_push/salesforce_push.module
+++ b/modules/salesforce_push/salesforce_push.module
@@ -190,11 +190,14 @@ function salesforce_push_entity_crud_mapping(EntityInterface $entity, $op, Sales
       \Drupal::service('event_dispatcher')->dispatch(SalesforceEvents::ERROR, new SalesforceErrorEvent($e));
     }
 
-    $mapped_object
-      ->set('last_sync_action', $op)
-      ->set('last_sync_status', FALSE)
-      ->set('revision_log_message', $e->getMessage())
-      ->save();
+    if (!$mapped_object->isNew()) {
+      // Only update existing mapped objects.
+      $mapped_object
+        ->set('last_sync_action', $op)
+        ->set('last_sync_status', FALSE)
+        ->set('revision_log_message', $e->getMessage())
+        ->save();
+    }
   }
 }
 
-- 
GitLab