1 {% load i18n adminmedia %}
2 <div class=
"inline-group" id=
"{{ inline_admin_formset.formset.prefix }}-group">
3 <div class=
"tabular inline-related {% if forloop.last %}last-related{% endif %}">
4 {{ inline_admin_formset.formset.management_form }}
5 <fieldset class=
"module">
6 <h2>{{ inline_admin_formset.opts.verbose_name_plural|capfirst }}
</h2>
7 {{ inline_admin_formset.formset.non_form_errors }}
10 {% for field in inline_admin_formset.fields %}
11 {% if not field.widget.is_hidden %}
12 <th{% if forloop.first %}
colspan=
"2"{% endif %}{% if field.required %}
class=
"required"{% endif %}
>{{ field.label|capfirst }}
</th>
15 {% if inline_admin_formset.formset.can_delete %}
<th>{% trans
"Delete?" %}
</th>{% endif %}
19 {% for inline_admin_form in inline_admin_formset %}
20 {% if inline_admin_form.form.non_field_errors %}
21 <tr><td colspan=
"{{ inline_admin_form.field_count }}">{{ inline_admin_form.form.non_field_errors }}
</td></tr>
23 <tr class=
"{% cycle "row1
" "row2
" %} {% if inline_admin_form.original or inline_admin_form.show_url %}has_original{% endif %}{% if forloop.last %} empty-form{% endif %}"
24 id=
"{{ inline_admin_formset.formset.prefix }}-{% if not forloop.last %}{{ forloop.counter0 }}{% else %}empty{% endif %}">
26 {% if inline_admin_form.original or inline_admin_form.show_url %}
<p>
27 {% if inline_admin_form.original %}
28 <a href=
"/admin/{{ app_label }}/{{ inline_admin_formset.opts.admin_model_path }}/{{ inline_admin_form.original.pk }}/">{{ inline_admin_form.original }}
</a>
30 {% if inline_admin_form.show_url %}
<a href=
"../../../r/{{ inline_admin_form.original_content_type_id }}/{{ inline_admin_form.original.id }}/">{% trans
"View on site" %}
</a>{% endif %}
32 {% if inline_admin_form.has_auto_field %}{{ inline_admin_form.pk_field.field }}{% endif %}
33 {{ inline_admin_form.fk_field.field }}
35 {% for fieldset in inline_admin_form %}
36 {% for line in fieldset %}
37 {% for field in line %}
38 {% if field.is_hidden %} {{ field.field }} {% endif %}
44 {% for fieldset in inline_admin_form %}
45 {% for line in fieldset %}
46 {% for field in line %}
47 <td class=
"{{ field.field.name }}">
48 {% if field.is_readonly %}
49 <p>{{ field.contents }}
</p>
51 {{ field.field.errors.as_ul }}
58 {% if inline_admin_formset.formset.can_delete %}
59 <td class=
"delete">{% if inline_admin_form.original %}{{ inline_admin_form.deletion_field.field }}{% endif %}
</td>
69 <script type=
"text/javascript">
71 $(document).ready(function($) {
72 var rows =
"#{{ inline_admin_formset.formset.prefix }}-group .tabular.inline-related tbody tr";
73 var alternatingRows = function(row) {
74 $(rows).not(
".add-row").removeClass(
"row1 row2")
75 .filter(
":even").addClass(
"row1").end()
76 .filter(rows +
":odd").addClass(
"row2");
78 var reinitDateTimeShortCuts = function() {
79 // Reinitialize the calendar and clock widgets by force
80 if (typeof DateTimeShortcuts !=
"undefined") {
81 $(
".datetimeshortcuts").remove();
82 DateTimeShortcuts.init();
85 var updateSelectFilter = function() {
86 // If any SelectFilter widgets are a part of the new form,
87 // instantiate a new SelectFilter instance for it.
88 if (typeof SelectFilter !=
"undefined"){
89 $(
".selectfilter").each(function(index, value){
90 var namearr = value.name.split('-');
91 SelectFilter.init(value.id, namearr[namearr.length-
1], false,
"{% admin_media_prefix %}");
93 $(
".selectfilterstacked").each(function(index, value){
94 var namearr = value.name.split('-');
95 SelectFilter.init(value.id, namearr[namearr.length-
1], true,
"{% admin_media_prefix %}");
99 var initPrepopulatedFields = function(row) {
100 row.find('.prepopulated_field').each(function() {
102 var input = field.find('input, select, textarea');
103 var dependency_list = input.data('dependency_list') || [];
104 var dependencies = [];
105 $.each(dependency_list, function(i, field_name) {
106 dependencies.push('#' + row.find(field_name).find('input, select, textarea').attr('id'));
108 if (dependencies.length) {
109 input.prepopulate(dependencies, input.attr('maxlength'));
114 prefix:
"{{ inline_admin_formset.formset.prefix }}",
115 addText:
"{% blocktrans with inline_admin_formset.opts.verbose_name|title as verbose_name %}Add another {{ verbose_name }}{% endblocktrans %}",
116 formCssClass:
"dynamic-{{ inline_admin_formset.formset.prefix }}",
117 deleteCssClass:
"inline-deletelink",
118 deleteText:
"{% trans "Remove
" %}",
119 emptyCssClass:
"empty-form",
120 removed: alternatingRows,
121 added: (function(row) {
122 initPrepopulatedFields(row);
123 reinitDateTimeShortCuts();
124 updateSelectFilter();
125 alternatingRows(row);