Browse Source

Fixed relationship field for saving. Fixed warnings for publication field

Chun-Huai Cheng 8 years ago
parent
commit
16340337db

+ 15 - 6
tripal_chado/includes/TripalFields/sbo__relationship/sbo__relationship_widget.inc

@@ -401,12 +401,21 @@ class sbo__relationship_widget extends ChadoFieldWidget {
         $object_id = $object[0]->$fkey_rcolumn;
       }
     }
-
-    // Set the IDs according to the values that were determined above.
-    $form_state['values'][$field_name][$langcode][$delta]['chado-' . $field_table . '__' . $subject_id_key] = $subject_id;
-    $form_state['values'][$field_name][$langcode][$delta]['chado-' . $field_table . '__' . $object_id_key] = $object_id;
-    $form_state['values'][$field_name][$langcode][$delta]['chado-' . $field_table . '__type_id'] = $type_name;
-    $form_state['values'][$field_name][$langcode][$delta]['chado-' . $field_table . '__rank'] = $form_state['values'][$field_name][$langcode][$delta]['_weight'];
+    
+    if ($subject_id && $object_id && $type_id) {
+      // Set the IDs according to the values that were determined above.
+      $form_state['values'][$field_name][$langcode][$delta]['chado-' . $field_table . '__' . $subject_id_key] = $subject_id;
+      $form_state['values'][$field_name][$langcode][$delta]['chado-' . $field_table . '__' . $object_id_key] = $object_id;
+      $form_state['values'][$field_name][$langcode][$delta]['chado-' . $field_table . '__type_id'] = $type_id;
+      $form_state['values'][$field_name][$langcode][$delta]['chado-' . $field_table . '__rank'] = $form_state['values'][$field_name][$langcode][$delta]['_weight'];
+    }
+    else {
+      $form_state['values'][$field_name][$langcode][$delta]['chado-' . $field_table . '__' . $subject_id_key] = '';
+      $form_state['values'][$field_name][$langcode][$delta]['chado-' . $field_table . '__' . $object_id_key] = '';
+      $form_state['values'][$field_name][$langcode][$delta]['chado-' . $field_table . '__type_id'] = '';
+      $form_state['values'][$field_name][$langcode][$delta]['chado-' . $field_table . '__value'] = '';
+      $form_state['values'][$field_name][$langcode][$delta]['chado-' . $field_table . '__rank'] = '';
+    }
   }
 
   /**

+ 2 - 2
tripal_chado/includes/TripalFields/schema__publication/schema__publication_formatter.inc

@@ -24,8 +24,8 @@ class schema__publication_formatter extends ChadoFieldFormatter {
     $chado_table = $this->instance['settings']['chado_table'];
     foreach ($items as $delta => $item) {
       
-      $title = $item['value']['Title'];
-      $citation = $item['value']['Citation'];
+      $title = isset($item['value']['Title']) ? $item['value']['Title'] : '';
+      $citation = isset($item['value']['Citation']) ? $item['value']['Citation'] : '';
       $entity = array_key_exists('entity', $item['value']) ? $item['value']['entity'] : '';
       if ($entity) {
         list($entity_type, $entity_id) = explode(':', $entity);