mirror of
https://github.com/Hopiu/django-modeltranslation.git
synced 2026-05-20 02:11:54 +00:00
Some cleanups.
This commit is contained in:
parent
52401c3a9e
commit
75b7a27a94
1 changed files with 12 additions and 12 deletions
|
|
@ -43,9 +43,7 @@ class TranslationBaseModelAdmin(BaseModelAdmin):
|
|||
return field
|
||||
|
||||
def patch_translation_field(self, db_field, field, **kwargs):
|
||||
trans_opts = translator.get_options_for_model(self.model)
|
||||
|
||||
if db_field.name in trans_opts.fields:
|
||||
if db_field.name in self.trans_opts.fields:
|
||||
if field.required:
|
||||
field.required = False
|
||||
field.blank = True
|
||||
|
|
@ -54,8 +52,9 @@ class TranslationBaseModelAdmin(BaseModelAdmin):
|
|||
|
||||
# For every localized field copy the widget from the original field
|
||||
# and add a css class to identify a modeltranslation widget.
|
||||
if db_field.name in trans_opts.localized_fieldnames_rev:
|
||||
orig_fieldname = trans_opts.localized_fieldnames_rev[db_field.name]
|
||||
if db_field.name in self.trans_opts.localized_fieldnames_rev:
|
||||
orig_fieldname = self.trans_opts.localized_fieldnames_rev[
|
||||
db_field.name]
|
||||
orig_formfield = self.formfield_for_dbfield(
|
||||
self.model._meta.get_field(orig_fieldname), **kwargs)
|
||||
field.widget = deepcopy(orig_formfield.widget)
|
||||
|
|
@ -143,7 +142,6 @@ class TranslationBaseModelAdmin(BaseModelAdmin):
|
|||
tuple(self.replace_orig_field(self.form._meta.exclude))})
|
||||
exclude = kwargs.get('exclude', [])
|
||||
self.exclude = self.replace_orig_field(self.exclude)
|
||||
#self.fieldsets = self._patch_fieldsets(self.fieldsets)
|
||||
exclude_fields = (
|
||||
self._exclude_original_fields(exclude))
|
||||
if self.exclude:
|
||||
|
|
@ -182,11 +180,11 @@ class TranslationBaseModelAdmin(BaseModelAdmin):
|
|||
if exclude_languages:
|
||||
excl_languages = exclude_languages
|
||||
exclude = []
|
||||
for orig_fieldname, translation_fields in\
|
||||
self.trans_opts.localized_fieldnames.iteritems():
|
||||
for orig_fieldname, translation_fields in \
|
||||
self.trans_opts.localized_fieldnames.iteritems():
|
||||
for tfield in translation_fields:
|
||||
language = tfield.split('_')[-1]
|
||||
if (language in excl_languages and tfield not in exclude):
|
||||
if language in excl_languages and tfield not in exclude:
|
||||
exclude.append(tfield)
|
||||
return tuple(exclude)
|
||||
|
||||
|
|
@ -227,14 +225,13 @@ class TranslationAdmin(TranslationBaseModelAdmin, admin.ModelAdmin):
|
|||
# language also updates the original field.
|
||||
# Ensure that an empty default language field value clears the default
|
||||
# field. See issue 47 for details.
|
||||
trans_opts = translator.get_options_for_model(self.model)
|
||||
for k, v in trans_opts.localized_fieldnames.items():
|
||||
for k, v in self.trans_opts.localized_fieldnames.items():
|
||||
if getattr(obj, k):
|
||||
default_lang_fieldname = build_localized_fieldname(
|
||||
k, DEFAULT_LANGUAGE)
|
||||
if not getattr(obj, default_lang_fieldname):
|
||||
# TODO: Handle null values
|
||||
setattr(obj, k, "")
|
||||
setattr(obj, k, '')
|
||||
super(TranslationAdmin, self).save_model(request, obj, form, change)
|
||||
|
||||
|
||||
|
|
@ -245,6 +242,9 @@ class TranslationInlineModelAdmin(TranslationBaseModelAdmin, InlineModelAdmin):
|
|||
request, obj, **kwargs)
|
||||
|
||||
def get_fieldsets(self, request, obj=None):
|
||||
# FIXME: If fieldsets are declared on an inline some kind of ghost
|
||||
# fieldset line with just the original model verbose_name of the model
|
||||
# is displayed above the new fieldsets.
|
||||
if self.declared_fieldsets:
|
||||
return self._do_get_fieldsets_pre_form_or_formset()
|
||||
form = self.get_formset(request, obj).form
|
||||
|
|
|
|||
Loading…
Reference in a new issue