diff --git a/paramecio/cromosoma/extrafields/i18nfield.py b/paramecio/cromosoma/extrafields/i18nfield.py index 38173e4..ff63a46 100644 --- a/paramecio/cromosoma/extrafields/i18nfield.py +++ b/paramecio/cromosoma/extrafields/i18nfield.py @@ -45,18 +45,34 @@ class I18nField(PhangoField): arr_real_values={} + error_values=0 + for lang in I18n.dict_i18n: arr_real_values[lang]=arr_values.get(lang, '') arr_real_values[lang]=self.check_value(arr_real_values[lang]) + + + if not arr_real_values[lang] or arr_real_values[lang]=='None': + arr_real_values[lang]='' + error_values+=1 self.error=False arr_values=arr_real_values + if error_values: + if error_values==len(arr_values): + self.error=True + self.txt_error='Sorry, You field language is empty' + return json.dumps(arr_values) + + + """ if arr_values[I18n.default_lang]=='': self.error=True self.txt_error='Sorry, You need default language '+I18n.default_lang return json.dumps(arr_values) + """ return json.dumps(arr_values) @@ -88,8 +104,17 @@ class I18nField(PhangoField): if value[lang]!='' or self.show_blank: return value[lang] + + lang_value=value[I18n.default_lang] + + if value[I18n.default_lang]=='': + for l in value: - return value[I18n.default_lang] + if value[l]!='': + lang_value=value[l] + break + + return lang_value @staticmethod