Moved philo files into a philo subdirectory and added a setup.py file. Philo can...
[philo.git] / philo / templates / admin / philo / edit_inline / tabular_container.html
diff --git a/philo/templates/admin/philo/edit_inline/tabular_container.html b/philo/templates/admin/philo/edit_inline/tabular_container.html
new file mode 100644 (file)
index 0000000..77d5e23
--- /dev/null
@@ -0,0 +1,109 @@
+{% load i18n adminmedia %}
+{{ inline_admin_formset.formset.management_form }}
+{% if inline_admin_formset.formset.forms %}
+<div class="inline-group" id="{{ inline_admin_formset.formset.prefix }}-group">
+  <div class="tabular inline-related {% if forloop.last %}last-related{% endif %}">
+<fieldset class="module{% if inline_admin_formset.classes %} {{ inline_admin_formset.classes|join:' ' }}{% endif %}">
+   <h2>{{ inline_admin_formset.opts.verbose_name_plural|capfirst }}</h2>
+   {{ inline_admin_formset.formset.non_form_errors }}
+   <table>
+        <tbody>
+        {% for inline_admin_form in inline_admin_formset %}
+               {% if inline_admin_form.has_auto_field %}{{ inline_admin_form.pk_field.field }}{% endif %}
+               {{ inline_admin_form.fk_field.field }}
+               {% spaceless %}
+               {% for fieldset in inline_admin_form %}
+               {% for line in fieldset %}
+                 {% for field in line %}
+                       {% if field.is_hidden %} {{ field.field }} {% endif %}
+                 {% endfor %}
+               {% endfor %}
+               {% endfor %}
+               {% endspaceless %}
+       {% endfor %}
+       {% for form in inline_admin_formset.formset.forms %}
+               {% if form.non_field_errors %}
+               <tr><td colspan="2">{{ form.non_field_errors }}</td></tr>
+               {% endif %}
+               <tr class="{% cycle "row1" "row2" %}{% comment %} {% if forloop.last %} empty-form{% endif %}{% endcomment %}"
+                        id="{{ formset.prefix }}-{% if not forloop.last %}{{ forloop.counter0 }}{% else %}empty{% endif %}">
+                       <th>{{ form.verbose_name|capfirst }}:</th>
+                       {% for field in form %}
+                         {% if not field.is_hidden %}
+                         <td class="{{ field.field.name }}">
+                                 {{ field.field.errors.as_ul }}
+                                 {{ field }}
+                                 {% if field.field.help_text %}
+                                 <p class="help">{{ field.field.help_text|safe }}</p>
+                                 {% endif %}
+                         </td>
+                         {% endif %}
+                       {% endfor %}
+               </tr>
+        {% endfor %}
+        </tbody>
+   </table>
+</fieldset>
+  </div>
+</div>
+
+<script type="text/javascript">
+(function($) {
+       $(document).ready(function($) {
+               var rows = "#{{ inline_admin_formset.formset.prefix }}-group .tabular.inline-related tbody tr";
+               var alternatingRows = function(row) {
+                       $(rows).not(".add-row").removeClass("row1 row2")
+                               .filter(":even").addClass("row1").end()
+                               .filter(rows + ":odd").addClass("row2");
+               }
+               var reinitDateTimeShortCuts = function() {
+                       // Reinitialize the calendar and clock widgets by force
+                       if (typeof DateTimeShortcuts != "undefined") {
+                               $(".datetimeshortcuts").remove();
+                               DateTimeShortcuts.init();
+                       }
+               }
+               var updateSelectFilter = function() {
+                       // If any SelectFilter widgets are a part of the new form,
+                       // instantiate a new SelectFilter instance for it.
+                       if (typeof SelectFilter != "undefined"){
+                               $(".selectfilter").each(function(index, value){
+                                 var namearr = value.name.split('-');
+                                 SelectFilter.init(value.id, namearr[namearr.length-1], false, "{% admin_media_prefix %}");
+                               })
+                               $(".selectfilterstacked").each(function(index, value){
+                                 var namearr = value.name.split('-');
+                                 SelectFilter.init(value.id, namearr[namearr.length-1], true, "{% admin_media_prefix %}");
+                               })
+                       }
+               }
+               var initPrepopulatedFields = function(row) {
+                       row.find('.prepopulated_field').each(function() {
+                               var field = $(this);
+                               var input = field.find('input, select, textarea');
+                               var dependency_list = input.data('dependency_list') || [];
+                               var dependencies = row.find(dependency_list.join(',')).find('input, select, textarea');
+                               if (dependencies.length) {
+                                       input.prepopulate(dependencies, input.attr('maxlength'));
+                               }
+                       });
+               }
+               $(rows).formset({
+                       prefix: "{{ inline_admin_formset.formset.prefix }}",
+                       addText: "{% blocktrans with inline_admin_formset.opts.verbose_name|title as verbose_name %}Add another {{ verbose_name }}{% endblocktrans %}",
+                       formCssClass: "dynamic-{{ inline_admin_formset.formset.prefix }}",
+                       deleteCssClass: "inline-deletelink",
+                       deleteText: "{% trans "Remove" %}",
+                       emptyCssClass: "empty-form",
+                       removed: alternatingRows,
+                       added: (function(row) {
+                               initPrepopulatedFields(row);
+                               reinitDateTimeShortCuts();
+                               updateSelectFilter();
+                               alternatingRows(row);
+                       })
+               });
+       });
+})(django.jQuery);
+</script>
+{% endif %}