Initial new page admin commit. Working on faking the admin out through inlines instea...
[philo.git] / templates / admin / philo / edit_inline / tabular_container.html
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{% if inline_admin_formset.classes %} {{ inline_admin_formset.classes|join:' ' }}{% endif %}">
6    <h2>{{ inline_admin_formset.opts.verbose_name_plural|capfirst }}</h2>
7    {{ inline_admin_formset.formset.non_form_errors }}
8    <table>
9          <thead><tr>
10          {% for field in inline_admin_formset.fields %}
11            {% if not field.widget.is_hidden %}
12                  <th{% if field.required %} class="required"{% endif %}>{{ field.label|capfirst }}</th>
13            {% endif %}
14          {% endfor %}
15          {% if inline_admin_formset.formset.can_delete %}<th>{% trans "Delete?" %}</th>{% endif %}
16          </tr></thead>
17
18          <tbody>
19          {% for inline_admin_form in inline_admin_formset %}
20                 {% if inline_admin_form.has_auto_field %}{{ inline_admin_form.pk_field.field }}{% endif %}
21                 {{ inline_admin_form.fk_field.field }}
22                 {% spaceless %}
23                 {% for fieldset in inline_admin_form %}
24                 {% for line in fieldset %}
25                   {% for field in line %}
26                         {% if field.is_hidden %} {{ field.field }} {% endif %}
27                   {% endfor %}
28                 {% endfor %}
29                 {% endfor %}
30                 {% endspaceless %}
31                 {% if inline_admin_form.form.non_field_errors %}
32                 <tr><td colspan="{{ inline_admin_form.field_count }}">{{ inline_admin_form.form.non_field_errors }}</td></tr>
33                 {% endif %}
34                 <tr class="{% cycle "row1" "row2" %} {% if forloop.last %} empty-form{% endif %}"
35                          id="{{ inline_admin_formset.formset.prefix }}-{% if not forloop.last %}{{ forloop.counter0 }}{% else %}empty{% endif %}">
36                 <th>{{ inline_admin_form.form.name.as_hidden }}{{ inline_admin_form.form.initial.name|capfirst }}</th>
37                 {% for fieldset in inline_admin_form %}
38                   {% for line in fieldset %}
39                         {% for field in line %}
40                           {% if field.field.name != 'name' %}
41                           <td class="{{ field.field.name }}">
42                           {% if field.is_readonly %}
43                                   <p>{{ field.contents }}</p>
44                           {% else %}
45                                   {{ field.field.errors.as_ul }}
46                                   {{ field.field }}
47                           {% endif %}
48                           </td>
49                           {% endif %}
50                         {% endfor %}
51                   {% endfor %}
52                 {% endfor %}
53                 {% if inline_admin_formset.formset.can_delete %}
54                   <td class="delete">{% if inline_admin_form.original %}{{ inline_admin_form.deletion_field.field }}{% endif %}</td>
55                 {% endif %}
56                 </tr>
57          {% endfor %}
58          </tbody>
59    </table>
60 </fieldset>
61   </div>
62 </div>
63
64 <script type="text/javascript">
65 (function($) {
66         $(document).ready(function($) {
67                 var rows = "#{{ inline_admin_formset.formset.prefix }}-group .tabular.inline-related tbody tr";
68                 var alternatingRows = function(row) {
69                         $(rows).not(".add-row").removeClass("row1 row2")
70                                 .filter(":even").addClass("row1").end()
71                                 .filter(rows + ":odd").addClass("row2");
72                 }
73                 var reinitDateTimeShortCuts = function() {
74                         // Reinitialize the calendar and clock widgets by force
75                         if (typeof DateTimeShortcuts != "undefined") {
76                                 $(".datetimeshortcuts").remove();
77                                 DateTimeShortcuts.init();
78                         }
79                 }
80                 var updateSelectFilter = function() {
81                         // If any SelectFilter widgets are a part of the new form,
82                         // instantiate a new SelectFilter instance for it.
83                         if (typeof SelectFilter != "undefined"){
84                                 $(".selectfilter").each(function(index, value){
85                                   var namearr = value.name.split('-');
86                                   SelectFilter.init(value.id, namearr[namearr.length-1], false, "{% admin_media_prefix %}");
87                                 })
88                                 $(".selectfilterstacked").each(function(index, value){
89                                   var namearr = value.name.split('-');
90                                   SelectFilter.init(value.id, namearr[namearr.length-1], true, "{% admin_media_prefix %}");
91                                 })
92                         }
93                 }
94                 var initPrepopulatedFields = function(row) {
95                         row.find('.prepopulated_field').each(function() {
96                                 var field = $(this);
97                                 var input = field.find('input, select, textarea');
98                                 var dependency_list = input.data('dependency_list') || [];
99                                 var dependencies = row.find(dependency_list.join(',')).find('input, select, textarea');
100                                 if (dependencies.length) {
101                                         input.prepopulate(dependencies, input.attr('maxlength'));
102                                 }
103                         });
104                 }
105                 $(rows).formset({
106                         prefix: "{{ inline_admin_formset.formset.prefix }}",
107                         addText: "{% blocktrans with inline_admin_formset.opts.verbose_name|title as verbose_name %}Add another {{ verbose_name }}{% endblocktrans %}",
108                         formCssClass: "dynamic-{{ inline_admin_formset.formset.prefix }}",
109                         deleteCssClass: "inline-deletelink",
110                         deleteText: "{% trans "Remove" %}",
111                         emptyCssClass: "empty-form",
112                         removed: alternatingRows,
113                         added: (function(row) {
114                                 initPrepopulatedFields(row);
115                                 reinitDateTimeShortCuts();
116                                 updateSelectFilter();
117                                 alternatingRows(row);
118                         })
119                 });
120         });
121 })(django.jQuery);
122 </script>