Exemplo n.º 1
0
 def get_formset(self, request, obj=None, **kwargs):
     """Returns a BaseInlineFormSet class for use in admin add/change views."""
     if self.declared_fieldsets:
         fields = flatten_fieldsets(self.declared_fieldsets)
     else:
         fields = None
     if self.exclude is None:
         exclude = []
     else:
         exclude = list(self.exclude)
     exclude.extend(kwargs.get("exclude", []))
     exclude.extend(self.get_readonly_fields(request, obj))
     # if exclude is an empty list we use None, since that's the actual
     # default
     exclude = exclude or None
     defaults = {
         "form": self.get_form(request, obj),
         #"formset": self.formset,
         "fk_name": self.fk_name,
         "fields": fields,
         "exclude": exclude,
         "formfield_callback": curry(self.formfield_for_dbfield, request=request),
         "extra": self.extra,
         "max_num": self.max_num,
         "can_delete": self.can_delete,
     }
     defaults.update(kwargs)
     language = self._language(request)
     return translatable_inlineformset_factory(language, self.parent_model, self.model, **defaults)
Exemplo n.º 2
0
    def test_create_fields_inline(self):
        with LanguageOverride("en"):
            # Fixtures (should eventually be shared with other tests)

            translate_mixin = TranslatableModelAdminMixin()
            formset = translatable_inlineformset_factory(translate_mixin._language(self.request),
                                                         Normal, Related)(#self.request.POST,
                                                                          instance=self.object)

            self.assertTrue(formset.forms[0].fields.has_key("normal"))
            self.assertTrue(formset.forms[0].fields.has_key("translated"))
            self.assertTrue(formset.forms[0].fields.has_key("translated_to_translated"))
            self.assertFalse(formset.forms[0].fields.has_key("language_code"))
Exemplo n.º 3
0
    def test_create_fields_inline(self):
        with LanguageOverride("en"):
            # Fixtures (should eventually be shared with other tests)

            translate_mixin = TranslatableModelAdminMixin()
            formset = translatable_inlineformset_factory(
                translate_mixin._language(self.request), Normal,
                Related)(  #self.request.POST,
                    instance=self.object)

            self.assertTrue(formset.forms[0].fields.has_key("normal"))
            self.assertTrue(formset.forms[0].fields.has_key("translated"))
            self.assertTrue(
                formset.forms[0].fields.has_key("translated_to_translated"))
            self.assertFalse(formset.forms[0].fields.has_key("language_code"))
Exemplo n.º 4
0
 def get_formset(self, request, obj=None, **kwargs):
     """Returns a BaseInlineFormSet class for use in admin add/change views."""
     if self.declared_fieldsets:
         fields = flatten_fieldsets(self.declared_fieldsets)
     else:
         fields = None
     if self.exclude is None:
         exclude = []
     else:
         exclude = list(self.exclude)
     exclude.extend(kwargs.get("exclude", []))
     exclude.extend(self.get_readonly_fields(request, obj))
     # if exclude is an empty list we use None, since that's the actual
     # default
     exclude = exclude or None
     defaults = {
         "form":
         self.get_form(request, obj),
         #"formset": self.formset,
         "fk_name":
         self.fk_name,
         "fields":
         fields,
         "exclude":
         exclude,
         "formfield_callback":
         curry(self.formfield_for_dbfield, request=request),
         "extra":
         self.extra,
         "max_num":
         self.max_num,
         "can_delete":
         self.can_delete,
     }
     defaults.update(kwargs)
     language = self._language(request)
     return translatable_inlineformset_factory(language, self.parent_model,
                                               self.model, **defaults)