Ticket #494: 494.r12351.diff
File 494.r12351.diff, 7.0 KB (added by , 15 years ago) |
---|
-
django/django/forms/formsets.py
318 318 return mark_safe(u'\n'.join([unicode(self.management_form), forms])) 319 319 320 320 def formset_factory(form, formset=BaseFormSet, extra=1, can_order=False, 321 can_delete=False, max_num=0 ):321 can_delete=False, max_num=0, classes=[]): 322 322 """Return a FormSet for the given form class.""" 323 attrs = {'form': form, 'extra': extra, 323 attrs = {'form': form, 'extra': extra, 'classes': classes, 324 324 'can_order': can_order, 'can_delete': can_delete, 325 325 'max_num': max_num} 326 326 return type(form.__name__ + 'FormSet', (formset,), attrs) -
django/django/forms/models.py
635 635 super(BaseModelFormSet, self).add_fields(form, index) 636 636 637 637 def modelformset_factory(model, form=ModelForm, formfield_callback=lambda f: f.formfield(), 638 formset=BaseModelFormSet, 638 formset=BaseModelFormSet, classes=[], 639 639 extra=1, can_delete=False, can_order=False, 640 640 max_num=0, fields=None, exclude=None): 641 641 """ … … 644 644 form = modelform_factory(model, form=form, fields=fields, exclude=exclude, 645 645 formfield_callback=formfield_callback) 646 646 FormSet = formset_factory(form, formset, extra=extra, max_num=max_num, 647 can_order=can_order, can_delete=can_delete) 647 can_order=can_order, can_delete=can_delete, 648 classes=classes) 648 649 FormSet.model = model 649 650 return FormSet 650 651 … … 776 777 777 778 def inlineformset_factory(parent_model, model, form=ModelForm, 778 779 formset=BaseInlineFormSet, fk_name=None, 779 fields=None, exclude=None, 780 fields=None, exclude=None, classes=[], 780 781 extra=3, can_order=False, can_delete=True, max_num=0, 781 782 formfield_callback=lambda f: f.formfield()): 782 783 """ … … 799 800 'fields': fields, 800 801 'exclude': exclude, 801 802 'max_num': max_num, 803 'classes': classes, 802 804 } 803 805 FormSet = modelformset_factory(model, **kwargs) 804 806 FormSet.fk = fk -
django/django/contrib/admin/options.py
1180 1180 template = None 1181 1181 verbose_name = None 1182 1182 verbose_name_plural = None 1183 classes = [] 1183 1184 1184 1185 def __init__(self, parent_model, admin_site): 1185 1186 self.admin_site = admin_site … … 1196 1197 js = ['js/jquery.min.js', 'js/inlines.min.js'] 1197 1198 if self.prepopulated_fields: 1198 1199 js.append('js/urlify.js') 1200 if 'collapse' in self.classes: 1201 js.append('js/collapse.min.js') 1199 1202 if self.filter_vertical or self.filter_horizontal: 1200 1203 js.extend(['js/SelectBox.js' , 'js/SelectFilter2.js']) 1201 1204 return forms.Media(js=['%s%s' % (settings.ADMIN_MEDIA_PREFIX, url) for url in js]) … … 1225 1228 "formfield_callback": curry(self.formfield_for_dbfield, request=request), 1226 1229 "extra": self.extra, 1227 1230 "max_num": self.max_num, 1231 "classes": self.classes, 1228 1232 } 1229 1233 defaults.update(kwargs) 1230 1234 return inlineformset_factory(self.parent_model, self.model, **defaults) -
django/django/contrib/admin/templates/admin/edit_inline/tabular.html
2 2 <div class="inline-group" id="{{ inline_admin_formset.formset.prefix }}-group"> 3 3 <div class="tabular inline-related {% if forloop.last %}last-related{% endif %}"> 4 4 {{ inline_admin_formset.formset.management_form }} 5 <fieldset class="module ">5 <fieldset class="module{% for class in inline_admin_formset.formset.classes %} {{class}}{% endfor %}"> 6 6 <h2>{{ inline_admin_formset.opts.verbose_name_plural|capfirst }}</h2> 7 7 {{ inline_admin_formset.formset.non_form_errors }} 8 8 <table> -
django/django/contrib/contenttypes/generic.py
337 337 def generic_inlineformset_factory(model, form=ModelForm, 338 338 formset=BaseGenericInlineFormSet, 339 339 ct_field="content_type", fk_field="object_id", 340 fields=None, exclude=None, 340 fields=None, exclude=None, classes=[], 341 341 extra=3, can_order=False, can_delete=True, 342 342 max_num=0, 343 343 formfield_callback=lambda f: f.formfield()): … … 362 362 exclude = [ct_field.name, fk_field.name] 363 363 FormSet = modelformset_factory(model, form=form, 364 364 formfield_callback=formfield_callback, 365 formset=formset, 365 formset=formset, classes=classes, 366 366 extra=extra, can_delete=can_delete, can_order=can_order, 367 367 fields=fields, exclude=exclude, max_num=max_num) 368 368 FormSet.ct_field = ct_field … … 390 390 "can_order": False, 391 391 "fields": fields, 392 392 "max_num": self.max_num, 393 "exclude": self.exclude 393 "exclude": self.exclude, 394 "classes": self.classes, 394 395 } 395 396 return generic_inlineformset_factory(self.model, **defaults) 396 397 -
django/docs/ref/contrib/admin/index.txt
1077 1077 An override to the ``verbose_name_plural`` found in the model's inner ``Meta`` 1078 1078 class. 1079 1079 1080 ``classes`` 1081 ~~~~~~~~~~~ 1082 1083 .. versionadded:: development 1084 1085 A list containing extra CSS classes to apply to the inline. 1086 1087 Example:: 1088 1089 class BookInline(admin.TabularInline): 1090 classes = ['collapse', 'extrapretty'] 1091 1092 A useful class is ``collapse``, which will cause the inline to be initially 1093 collapsed. 1094 1080 1095 Working with a model with two or more foreign keys to the same parent model 1081 1096 --------------------------------------------------------------------------- 1082 1097