Browse Source

bug fixe : with entity translation

Signed-off-by: bachy <git@g-u-i.net>
bachy 11 years ago
parent
commit
0e49c6cedf
1 changed files with 7 additions and 9 deletions
  1. 7 9
      tode.module

+ 7 - 9
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')