From 0e49c6cedf51b8b7d9ee90eb407a2eabaf1b6e31 Mon Sep 17 00:00:00 2001 From: bachy Date: Fri, 9 Nov 2012 11:53:36 +0100 Subject: [PATCH] bug fixe : with entity translation Signed-off-by: bachy --- tode.module | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/tode.module b/tode.module index fa0288e8..87983f2a 100644 --- a/tode.module +++ b/tode.module @@ -478,7 +478,8 @@ function tode_node_submit($node, $form, &$form_state) { $values = _tode_prefix_form($form_state['values'][$prefix], $prefix.'_', FALSE); // dsm($values, 'values'); - if(module_exists('i18n_taxonomy') && $language != 'und' && $language != $default_language){ + if($field['field_info_field']['translatable'] && module_exists('i18n_taxonomy') && $language != 'und' && $language != $default_language){ + // $field['field_info_field']['translatable'] is about entity translation module $context= array('term',$values['tid'],'name'); i18n_string_textgroup('taxonomy')->update_translation($context, $language, $tode_field_term_value['name']); @@ -491,9 +492,6 @@ function tode_node_submit($node, $form, &$form_state) { $values['parent'] = array($parent_tid => $parent_tid); - - // if(!module_exists('i18n_taxonomy') || $language == 'und' || $language == $default_language){ - // define the form_state for term_form submit $new_term_form_state = array( 'build_info'=>array( @@ -509,8 +507,6 @@ function tode_node_submit($node, $form, &$form_state) { // dsm($new_term_form_state, 'form_state'); drupal_form_submit('taxonomy_form_term', $new_term_form_state); - // }else{ - } @@ -1275,8 +1271,11 @@ function _tode_get_node_tode_fields_def($node){ #get the tode node fields $tode_fields = array(); foreach ($type_fields[$node->type] as $field_name => $field) { - if($field['widget']['type'] == 'tode') + if($field['widget']['type'] == 'tode'){ + $fieldinfos = field_info_field($field_name); + $field['field_info_field'] = $fieldinfos; $tode_fields[$field_name] = $field; + } } @@ -1303,9 +1302,8 @@ function _tode_get_voc_tode_field_def($voc_name){ } function tode_get_nids_from_term($term, $language = false){ - - if($todefield = _tode_get_voc_tode_field_def($term->vocabulary_machine_name)){ + if(isset($term->vocabulary_machine_name) && $todefield = _tode_get_voc_tode_field_def($term->vocabulary_machine_name)){ // $fieldinfos = field_info_field($todefield->field_name); $query = new EntityFieldQuery(); $query->entityCondition('entity_type', 'node')