Skip to content

Commit 5008e4e

Browse files
committed
Fix #673: Make content inlines work with Django 2.1
1 parent 8e74ceb commit 5008e4e

File tree

3 files changed

+45
-16
lines changed

3 files changed

+45
-16
lines changed

feincms/admin/item_editor.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import logging
99
import warnings
1010

11-
from django import forms
11+
from django import VERSION, forms
1212
from django.contrib.admin.options import InlineModelAdmin
1313
from django.contrib.admin.utils import unquote
1414
from django.contrib.auth import get_permission_codename
@@ -46,7 +46,10 @@ class FeinCMSInline(InlineModelAdmin):
4646
form = ItemEditorForm
4747
extra = 0
4848
fk_name = 'parent'
49-
template = 'admin/feincms/content_inline.html'
49+
if VERSION < (2, 1):
50+
template = 'admin/feincms/content_inline_dj20.html'
51+
else:
52+
template = 'admin/feincms/content_inline.html'
5053

5154

5255
# ------------------------------------------------------------------------
Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
1-
{% load i18n admin_urls admin_static feincms_admin_tags %}
2-
<div class="inline-group feincms_inline" id="{{ inline_admin_formset.formset.prefix }}-group">
1+
{% load i18n admin_urls static feincms_admin_tags %}
2+
<div class="js-inline-admin-formset inline-group feincms_inline"
3+
id="{{ inline_admin_formset.formset.prefix }}-group"
4+
data-inline-type="stacked"
5+
data-inline-formset="{{ inline_admin_formset.inline_formset_data }}">
6+
<fieldset class="module {{ inline_admin_formset.classes }}">
37
<h2>{{ inline_admin_formset.opts.verbose_name_plural|capfirst }}</h2>
48
{{ inline_admin_formset.formset.management_form }}
59
{{ inline_admin_formset.formset.non_form_errors }}
610

7-
{% for inline_admin_form in inline_admin_formset %}<div class="inline-related{% if inline_admin_form.original or inline_admin_form.show_url %} has_original{% endif %}{% if forloop.last %} empty-form last-related{% endif %}" id="{{ inline_admin_formset.formset.prefix }}-{% if not forloop.last %}{{ forloop.counter0 }}{% else %}empty{% endif %}">
8-
<h3><b>{{ inline_admin_formset.opts.verbose_name|capfirst }}:</b>&nbsp;<span class="inline_label">{% if inline_admin_form.original %}{{ inline_admin_form.original }}{% if inline_admin_form.model_admin.show_change_link and inline_admin_form.model_admin.has_registered_model %} <a href="{% url inline_admin_form.model_admin.opts|admin_urlname:'change' inline_admin_form.original.pk|admin_urlquote %}" class="inlinechangelink">{% trans "Change" %}</a>{% endif %}
11+
{% for inline_admin_form in inline_admin_formset %}<div class="inline-related{% if inline_admin_form.original or inline_admin_form.show_url %} has_original{% endif %}{% if forloop.last and inline_admin_formset.has_add_permission %} empty-form last-related{% endif %}" id="{{ inline_admin_formset.formset.prefix }}-{% if not forloop.last %}{{ forloop.counter0 }}{% else %}empty{% endif %}">
12+
<h3><b>{{ inline_admin_formset.opts.verbose_name|capfirst }}:</b>&nbsp;<span class="inline_label">{% if inline_admin_form.original %}{{ inline_admin_form.original }}{% if inline_admin_form.model_admin.show_change_link and inline_admin_form.model_admin.has_registered_model %} <a href="{% url inline_admin_form.model_admin.opts|admin_urlname:'change' inline_admin_form.original.pk|admin_urlquote %}" class="{% if inline_admin_formset.has_change_permission %}inlinechangelink{% else %}inlineviewlink{% endif %}">{% if inline_admin_formset.has_change_permission %}{% trans "Change" %}{% else %}{% trans "View" %}{% endif %}</a>{% endif %}
913
{% else %}#{{ forloop.counter }}{% endif %}</span>
1014
{% if inline_admin_form.show_url %}<a href="{{ inline_admin_form.absolute_url }}">{% trans "View on site" %}</a>{% endif %}
1115
{% if inline_admin_formset.formset.can_delete and inline_admin_form.original %}<span class="delete">{{ inline_admin_form.deletion_field.field }} {{ inline_admin_form.deletion_field.label_tag }}</span>{% endif %}
@@ -18,14 +22,5 @@ <h3><b>{{ inline_admin_formset.opts.verbose_name|capfirst }}:</b>&nbsp;<span cla
1822
{% if inline_admin_form.needs_explicit_pk_field %}{{ inline_admin_form.pk_field.field }}{% endif %}
1923
{{ inline_admin_form.fk_field.field }}
2024
</div>{% endfor %}
25+
</fieldset>
2126
</div>
22-
23-
<script type="text/javascript">
24-
(function($) {
25-
$("#{{ inline_admin_formset.formset.prefix|escapejs }}-group .inline-related").stackedFormset({
26-
prefix: "{{ inline_admin_formset.formset.prefix|escapejs }}",
27-
deleteText: "{% filter escapejs %}{% trans "Remove" %}{% endfilter %}",
28-
addText: "{% filter escapejs %}{% blocktrans with verbose_name=inline_admin_formset.opts.verbose_name|capfirst %}Add another {{ verbose_name }}{% endblocktrans %}{% endfilter %}"
29-
});
30-
})(django.jQuery);
31-
</script>
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
{% load i18n admin_urls admin_static feincms_admin_tags %}
2+
<div class="inline-group feincms_inline" id="{{ inline_admin_formset.formset.prefix }}-group">
3+
<h2>{{ inline_admin_formset.opts.verbose_name_plural|capfirst }}</h2>
4+
{{ inline_admin_formset.formset.management_form }}
5+
{{ inline_admin_formset.formset.non_form_errors }}
6+
7+
{% for inline_admin_form in inline_admin_formset %}<div class="inline-related{% if inline_admin_form.original or inline_admin_form.show_url %} has_original{% endif %}{% if forloop.last %} empty-form last-related{% endif %}" id="{{ inline_admin_formset.formset.prefix }}-{% if not forloop.last %}{{ forloop.counter0 }}{% else %}empty{% endif %}">
8+
<h3><b>{{ inline_admin_formset.opts.verbose_name|capfirst }}:</b>&nbsp;<span class="inline_label">{% if inline_admin_form.original %}{{ inline_admin_form.original }}{% if inline_admin_form.model_admin.show_change_link and inline_admin_form.model_admin.has_registered_model %} <a href="{% url inline_admin_form.model_admin.opts|admin_urlname:'change' inline_admin_form.original.pk|admin_urlquote %}" class="inlinechangelink">{% trans "Change" %}</a>{% endif %}
9+
{% else %}#{{ forloop.counter }}{% endif %}</span>
10+
{% if inline_admin_form.show_url %}<a href="{{ inline_admin_form.absolute_url }}">{% trans "View on site" %}</a>{% endif %}
11+
{% if inline_admin_formset.formset.can_delete and inline_admin_form.original %}<span class="delete">{{ inline_admin_form.deletion_field.field }} {{ inline_admin_form.deletion_field.label_tag }}</span>{% endif %}
12+
</h3>
13+
{% if inline_admin_form.form.non_field_errors %}{{ inline_admin_form.form.non_field_errors }}{% endif %}
14+
{% for fieldset in inline_admin_form %}
15+
{% post_process_fieldsets fieldset %}
16+
{% include "admin/includes/fieldset.html" %}
17+
{% endfor %}
18+
{% if inline_admin_form.needs_explicit_pk_field %}{{ inline_admin_form.pk_field.field }}{% endif %}
19+
{{ inline_admin_form.fk_field.field }}
20+
</div>{% endfor %}
21+
</div>
22+
23+
<script type="text/javascript">
24+
(function($) {
25+
$("#{{ inline_admin_formset.formset.prefix|escapejs }}-group .inline-related").stackedFormset({
26+
prefix: "{{ inline_admin_formset.formset.prefix|escapejs }}",
27+
deleteText: "{% filter escapejs %}{% trans "Remove" %}{% endfilter %}",
28+
addText: "{% filter escapejs %}{% blocktrans with verbose_name=inline_admin_formset.opts.verbose_name|capfirst %}Add another {{ verbose_name }}{% endblocktrans %}{% endfilter %}"
29+
});
30+
})(django.jQuery);
31+
</script>

0 commit comments

Comments
 (0)