Ticket #494: 494.6.patch

File 494.6.patch, 7.7 KB (added by akaihola, 6 years ago)

Updated offsets and doc file path for trunk r10680

  • django/contrib/admin/options.py

    diff --git a/django/contrib/admin/options.py b/django/contrib/admin/options.py
    index 7b3018e..a28f570 100644
    a b class InlineModelAdmin(BaseModelAdmin): 
    11091109    template = None
    11101110    verbose_name = None
    11111111    verbose_name_plural = None
     1112    classes = []
    11121113
    11131114    def __init__(self, parent_model, admin_site):
    11141115        self.admin_site = admin_site
    class InlineModelAdmin(BaseModelAdmin): 
    11251126        js = []
    11261127        if self.prepopulated_fields:
    11271128            js.append('js/urlify.js')
     1129        if 'collapse' in self.classes:
     1130            js.append('js/admin/CollapsedFieldsets.js')
    11281131        if self.filter_vertical or self.filter_horizontal:
    11291132            js.extend(['js/SelectBox.js' , 'js/SelectFilter2.js'])
    11301133        return forms.Media(js=['%s%s' % (settings.ADMIN_MEDIA_PREFIX, url) for url in js])
    class InlineModelAdmin(BaseModelAdmin): 
    11511154            "formfield_callback": curry(self.formfield_for_dbfield, request=request),
    11521155            "extra": self.extra,
    11531156            "max_num": self.max_num,
     1157            "classes": self.classes,
    11541158        }
    11551159        defaults.update(kwargs)
    11561160        return inlineformset_factory(self.parent_model, self.model, **defaults)
  • django/contrib/admin/templates/admin/edit_inline/stacked.html

    diff --git a/django/contrib/admin/templates/admin/edit_inline/stacked.html b/django/contrib/admin/templates/admin/edit_inline/stacked.html
    index 494c351..eb2885a 100644
    a b  
    11{% load i18n %}
    22<div class="inline-group">
     3<fieldset class="module {% for class in inline_admin_formset.formset.classes %}{{class}}{% endfor %}">
    34  <h2>{{ inline_admin_formset.opts.verbose_name_plural|title }}</h2>
    45{{ inline_admin_formset.formset.management_form }}
    56{{ inline_admin_formset.formset.non_form_errors }}
     
    2526{# <ul class="tools"> #}
    2627{#   <li><a class="add" href="">Add another {{ inline_admin_formset.opts.verbose_name|title }}</a></li> #}
    2728{# </ul> #}
     29</fieldset>
    2830</div>
  • django/contrib/admin/templates/admin/edit_inline/tabular.html

    diff --git a/django/contrib/admin/templates/admin/edit_inline/tabular.html b/django/contrib/admin/templates/admin/edit_inline/tabular.html
    index ecc14a4..04a6e4f 100644
    a b  
    22<div class="inline-group">
    33  <div class="tabular inline-related {% if forloop.last %}last-related{% endif %}">
    44{{ inline_admin_formset.formset.management_form }}
    5 <fieldset class="module">
     5<fieldset class="module {% for class in inline_admin_formset.formset.classes %}{{class}}{% endfor %}">
    66   <h2>{{ inline_admin_formset.opts.verbose_name_plural|capfirst }}</h2>
    77   {{ inline_admin_formset.formset.non_form_errors }}
    88   <table>
  • django/contrib/contenttypes/generic.py

    diff --git a/django/contrib/contenttypes/generic.py b/django/contrib/contenttypes/generic.py
    index 5564548..00cf6f4 100644
    a b class BaseGenericInlineFormSet(BaseModelFormSet): 
    337337def generic_inlineformset_factory(model, form=ModelForm,
    338338                                  formset=BaseGenericInlineFormSet,
    339339                                  ct_field="content_type", fk_field="object_id",
    340                                   fields=None, exclude=None,
     340                                  fields=None, exclude=None, classes=[],
    341341                                  extra=3, can_order=False, can_delete=True,
    342342                                  max_num=0,
    343343                                  formfield_callback=lambda f: f.formfield()):
    def generic_inlineformset_factory(model, form=ModelForm, 
    362362        exclude = [ct_field.name, fk_field.name]
    363363    FormSet = modelformset_factory(model, form=form,
    364364                                   formfield_callback=formfield_callback,
    365                                    formset=formset,
     365                                   formset=formset, classes=classes,
    366366                                   extra=extra, can_delete=can_delete, can_order=can_order,
    367367                                   fields=fields, exclude=exclude, max_num=max_num)
    368368    FormSet.ct_field = ct_field
  • django/forms/formsets.py

    diff --git a/django/forms/formsets.py b/django/forms/formsets.py
    index bb8e310..96a1e03 100644
    a b class BaseFormSet(StrAndUnicode): 
    302302        return mark_safe(u'\n'.join([unicode(self.management_form), forms]))
    303303
    304304def formset_factory(form, formset=BaseFormSet, extra=1, can_order=False,
    305                     can_delete=False, max_num=0):
     305                    can_delete=False, max_num=0, classes=[]):
    306306    """Return a FormSet for the given form class."""
    307     attrs = {'form': form, 'extra': extra,
     307    attrs = {'form': form, 'extra': extra, 'classes': classes,
    308308             'can_order': can_order, 'can_delete': can_delete,
    309309             'max_num': max_num}
    310310    return type(form.__name__ + 'FormSet', (formset,), attrs)
  • django/forms/models.py

    diff --git a/django/forms/models.py b/django/forms/models.py
    index 86eecee..5585ace 100644
    a b class BaseModelFormSet(BaseFormSet): 
    576576        super(BaseModelFormSet, self).add_fields(form, index)
    577577
    578578def modelformset_factory(model, form=ModelForm, formfield_callback=lambda f: f.formfield(),
    579                          formset=BaseModelFormSet,
     579                         formset=BaseModelFormSet, classes=[],
    580580                         extra=1, can_delete=False, can_order=False,
    581581                         max_num=0, fields=None, exclude=None):
    582582    """
    def modelformset_factory(model, form=ModelForm, formfield_callback=lambda f: f.f 
    585585    form = modelform_factory(model, form=form, fields=fields, exclude=exclude,
    586586                             formfield_callback=formfield_callback)
    587587    FormSet = formset_factory(form, formset, extra=extra, max_num=max_num,
    588                               can_order=can_order, can_delete=can_delete)
     588                              can_order=can_order, can_delete=can_delete,
     589                              classes=classes)
    589590    FormSet.model = model
    590591    return FormSet
    591592
    def _get_foreign_key(parent_model, model, fk_name=None): 
    694695
    695696def inlineformset_factory(parent_model, model, form=ModelForm,
    696697                          formset=BaseInlineFormSet, fk_name=None,
    697                           fields=None, exclude=None,
     698                          fields=None, exclude=None, classes=[],
    698699                          extra=3, can_order=False, can_delete=True, max_num=0,
    699700                          formfield_callback=lambda f: f.formfield()):
    700701    """
    def inlineformset_factory(parent_model, model, form=ModelForm, 
    717718        'fields': fields,
    718719        'exclude': exclude,
    719720        'max_num': max_num,
     721        'classes': classes,
    720722    }
    721723    FormSet = modelformset_factory(model, **kwargs)
    722724    FormSet.fk = fk
  • docs/ref/contrib/admin/index.txt

    diff --git a/docs/ref/contrib/admin/index.txt b/docs/ref/contrib/admin/index.txt
    index 700303f..99d7918 100644
    a b An override to the ``verbose_name`` found in the model's inner ``Meta`` class. 
    915915An override to the ``verbose_name_plural`` found in the model's inner ``Meta``
    916916class.
    917917
     918``classes``
     919~~~~~~~~~~~
     920
     921.. versionadded:: development
     922
     923A list containing extra CSS classes to apply to the inline.
     924
     925Example::
     926
     927    class BookInline(admin.TabularInline):
     928        classes = ['collapse', 'extrapretty']
     929
     930A useful class is ``collapse``, which will cause the inline to be initially
     931collapsed.
     932
    918933Working with a model with two or more foreign keys to the same parent model
    919934---------------------------------------------------------------------------
    920935
Back to Top