Browse Source

Fixed issue with schema__additional_type widget

Stephen Ficklin 6 years ago
parent
commit
80357df75c

+ 2 - 2
tripal/api/tripal.terms.api.inc

@@ -579,7 +579,7 @@ function tripal_get_vocabularies() {
  *
  *
  * @ingroup tripal_terms_api
  * @ingroup tripal_terms_api
  */
  */
-function tripal_get_term_lookup_form(&$form, $form_state, $default_name = '',
+function tripal_get_term_lookup_form(&$form, &$form_state, $default_name = '',
     $title = 'Vocabulary Term', $description = '', $is_required,
     $title = 'Vocabulary Term', $description = '', $is_required,
     $field_name = '', $delta = 0, $callback = '', $wrapper = '', $validate = [], $weight = 0) {
     $field_name = '', $delta = 0, $callback = '', $wrapper = '', $validate = [], $weight = 0) {
   
   
@@ -787,7 +787,7 @@ function tripal_get_term_lookup_form_result($form, $form_state, $field_name = ''
   if ($field_name) {
   if ($field_name) {
     if (array_key_exists('term_match' . $delta, $form_state['values'][$field_name]['und'][$delta]) and 
     if (array_key_exists('term_match' . $delta, $form_state['values'][$field_name]['und'][$delta]) and 
         array_key_exists('terms_list' . $delta, $form_state['values'][$field_name]['und'][$delta]['term_match'. $delta])) {
         array_key_exists('terms_list' . $delta, $form_state['values'][$field_name]['und'][$delta]['term_match'. $delta])) {
-      $values = $form_state['values'][$field_name]['und'][$delta]['term_match']['terms_list'];
+      $values = $form_state['values'][$field_name]['und'][$delta]['term_match'. $delta]['terms_list'. $delta];
     }
     }
   }
   }
   else {
   else {

+ 2 - 1
tripal_chado/includes/TripalFields/schema__additional_type/schema__additional_type_widget.inc

@@ -32,7 +32,8 @@ class schema__additional_type_widget extends ChadoFieldWidget {
       $value = $items[0]['value'];
       $value = $items[0]['value'];
     }
     }
 
 
-    if (array_key_exists('values', $form_state) and array_key_exists($field_name, $form_state['values'])) {
+    if (array_key_exists('values', $form_state) and array_key_exists($field_name, $form_state['values']) and 
+        array_key_exists('value', $form_state['values'][$field_name][$langcode][$delta])) {
       $type_id = $form_state['values'][$field_name][$langcode][$delta]['value'];
       $type_id = $form_state['values'][$field_name][$langcode][$delta]['value'];
     }
     }