From ccd07ddd19e318e923e3dd5263b28a5a6a7db63f Mon Sep 17 00:00:00 2001
From: Devin Howard <devin@callysto.com>
Date: Thu, 31 Mar 2016 09:25:14 +0800
Subject: [PATCH] import fixes

---
 app/assets/javascripts/src/Metamaps.Import.js.erb | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/app/assets/javascripts/src/Metamaps.Import.js.erb b/app/assets/javascripts/src/Metamaps.Import.js.erb
index def71168..05c6b673 100644
--- a/app/assets/javascripts/src/Metamaps.Import.js.erb
+++ b/app/assets/javascripts/src/Metamaps.Import.js.erb
@@ -240,12 +240,18 @@ Metamaps.Import = {
 
     parsedSynapses.forEach(function(synapse) {
       //only createSynapseWithParameters once both topics are persisted
-      var topic1 = Metamaps.Topics.get(self.cidMappings[node1_id]);
-      var topic2 = Metamaps.Topics.get(self.cidMappings[node2_id]);
+      var topic1 = Metamaps.Topics.get(self.cidMappings[synapse.topic1]);
+      var topic2 = Metamaps.Topics.get(self.cidMappings[synapse.topic2]);
+      if (!topic1 || !topic2) {
+        console.error("One of the two topics doesn't exist!")
+        console.error(synapse)
+        return true;
+      }
+
       var synapse_created = false
       topic1.once('sync', function() {
         if (topic1.id && topic2.id && !synapse_created) {
-          synaprse_created = true
+          synapse_created = true
           self.createSynapseWithParameters(
             synapse.desc, synapse.category, synapse.permission,
             topic1, topic2
@@ -254,7 +260,7 @@ Metamaps.Import = {
       });
       topic2.once('sync', function() {
         if (topic1.id && topic2.id && !synapse_created) {
-          synaprse_created = true
+          synapse_created = true
           self.createSynapseWithParameters(
             synapse.desc, synapse.category, synapse.permission,
             topic1, topic2