Browse Source

Fixed bug in new bulk loader export/import code

Stephen Ficklin 9 years ago
parent
commit
a70f34bb3e

+ 5 - 1
tripal_bulk_loader/api/tripal_bulk_loader.api.templates.inc

@@ -157,9 +157,13 @@ function tripal_insert_bulk_loader_template($options, &$errors, &$warnings) {
     // do nothing it's in PHP serialized format
   }
   // The typical format is JSON
-  elseif (preg_match('/^\{/', $template_array)) {
+  elseif (json_decode($template_array)) {
     $template_array = serialize(json_decode($template_array, TRUE));
   }
+  else {
+    $errors['template_array'] = t('Unrecognized array type.');
+    return FALSE;
+  }
 
   $record = array(
     'name' => $template_name,

+ 2 - 2
tripal_bulk_loader/includes/tripal_bulk_loader.admin.templates.inc

@@ -807,7 +807,7 @@ function tripal_bulk_loader_export_template_form($form, &$form_state) {
   if ($template_id > 0) {
     $result = db_select('tripal_bulk_loader_template','t')
       ->fields('t')
-      ->condition('t.template_id',$template_id)
+      ->condition('t.template_id', $template_id)
       ->execute();
     $template = $result->fetchObject();
     $form_state['storage']['template_array'] = $template->template_array;
@@ -822,7 +822,7 @@ function tripal_bulk_loader_export_template_form($form, &$form_state) {
   $form['template_array'] = array(
     '#type' => 'textarea',
     '#title' => 'Export',
-    '#default_value' => json_encode(unserialize($form_state['storage']['template_array'])),
+    '#default_value' => json_encode(unserialize($template->template_array)),
     '#description' => t('Use this JSON array for import of this bulk loader template into another Tripal site.'),
     '#rows' => 30,
     '#weight' => 5,

+ 1 - 0
tripal_core/includes/tripal_core.mviews.inc

@@ -76,6 +76,7 @@ function tripal_mview_report($mview_id) {
   $update_url = url("admin/tripal/schema/mviews/action/update/$mview->mview_id");
   $delete_url = url("admin/tripal/schema/mviews/action/delete/$mview->mview_id");
   $edit_url = url("admin/tripal/schema/mviews/edit/$mview->mview_id");
+  $export_url = url("admin/tripal/schema/mviews/export/$mview->mview_id");
   $rows[] = array('Actions', "<a href='$update_url'>Populate</a>, <a href='$edit_url'>Edit</a>,  <a href='$delete_url'>Delete</a>");
 
   if ($mview->last_update > 0) {