PageRenderTime 41ms CodeModel.GetById 28ms RepoModel.GetById 3ms app.codeStats 0ms

/django/contrib/admin/templates/mako/admin/edit_inline/stacked.html

https://code.google.com/p/mango-py/
HTML | 116 lines | 102 code | 14 blank | 0 comment | 0 complexity | 820b38354c113a5c7aa4f657057601a1 MD5 | raw file
Possible License(s): BSD-3-Clause
  1. <%def name="inline_edit(inline_admin_formset, formset_count)">
  2. <%!
  3. # filter to titlecase text
  4. def title(text):
  5. return text.title()
  6. %>
  7. <%namespace name="admin" module="django.contrib.admin.templatetags.adminmedia" />
  8. <div class="inline-group" id="${ inline_admin_formset.formset.prefix }-group">
  9. <h2>${ inline_admin_formset.opts.verbose_name_plural|title,h }</h2>
  10. ${inline_admin_formset.formset.management_form}
  11. ${inline_admin_formset.formset.non_form_errors()}
  12. <%
  13. inline_admin_formset_list = [X for X in inline_admin_formset]
  14. %>
  15. % for i,inline_admin_form in enumerate(inline_admin_formset_list):
  16. <%
  17. lastloop = (i == ( len(inline_admin_formset_list)-1) )
  18. %>
  19. <div class="inline-related${ ' empty-form last-related' if lastloop else '' }" id="${ inline_admin_formset.formset.prefix }-${i if lastloop else 'empty'}">
  20. <h3><b>${inline_admin_formset.opts.verbose_name|title,h}:</b>&nbsp;<span class="inline_label">${ inline_admin_form.original if inline_admin_form.original else '#'+str(i) }</span>
  21. % if inline_admin_form.show_url:
  22. <a href="../../../r/${ inline_admin_form.original_content_type_id }/${ inline_admin_form.original.id }/">${ trans("View on site") }</a>
  23. % endif
  24. % if inline_admin_formset.formset.can_delete and inline_admin_form.original:
  25. <span class="delete">${inline_admin_form.deletion_field().field.as_widget()} ${inline_admin_form.deletion_field().label_tag()}</span>
  26. % endif
  27. </h3>
  28. % if inline_admin_form.show_url:
  29. <p><a href="../../../r/${inline_admin_form.original.content_type_id}/${inline_admin_form.original.id}/">${trans("View on site")}</a></p>
  30. % endif
  31. <%namespace file="admin/includes/fieldset.html" import="*" />
  32. % for fieldset in inline_admin_form:
  33. ${fieldsets(fieldset)}
  34. % endfor
  35. % if inline_admin_form.has_auto_field:
  36. ${inline_admin_form.pk_field().field}
  37. % endif
  38. ${inline_admin_form.fk_field().field}
  39. </div>
  40. % endfor
  41. </div>
  42. <script type="text/javascript">
  43. (function($) {
  44. $(document).ready(function() {
  45. var rows = "#${ inline_admin_formset.formset.prefix }-group .inline-related";
  46. var updateInlineLabel = function(row) {
  47. $(rows).find(".inline_label").each(function(i) {
  48. var count = i + 1;
  49. $(this).html($(this).html().replace(/(#\d+)/g, "#" + count));
  50. });
  51. }
  52. var reinitDateTimeShortCuts = function() {
  53. // Reinitialize the calendar and clock widgets by force, yuck.
  54. if (typeof DateTimeShortcuts != "undefined") {
  55. $(".datetimeshortcuts").remove();
  56. DateTimeShortcuts.init();
  57. }
  58. }
  59. var updateSelectFilter = function() {
  60. // If any SelectFilter widgets were added, instantiate a new instance.
  61. if (typeof SelectFilter != "undefined"){
  62. $(".selectfilter").each(function(index, value){
  63. var namearr = value.name.split('-');
  64. SelectFilter.init(value.id, namearr[namearr.length-1], false, "${ admin_media_prefix() }");
  65. })
  66. $(".selectfilterstacked").each(function(index, value){
  67. var namearr = value.name.split('-');
  68. SelectFilter.init(value.id, namearr[namearr.length-1], true, "${ admin_media_prefix() }");
  69. })
  70. }
  71. }
  72. var initPrepopulatedFields = function(row) {
  73. row.find('.prepopulated_field').each(function() {
  74. var field = $(this);
  75. var input = field.find('input, select, textarea');
  76. var dependency_list = input.data('dependency_list') || [];
  77. var dependencies = row.find(dependency_list.join(',')).find('input, select, textarea');
  78. if (dependencies.length) {
  79. input.prepopulate(dependencies, input.attr('maxlength'));
  80. }
  81. });
  82. }
  83. $(rows).formset({
  84. prefix: "${ inline_admin_formset.formset.prefix }",
  85. addText: "Add another ${title(inline_admin_formset.opts.verbose_name)}",
  86. numCols: "${inline_admin_form.field_count()}",
  87. formCssClass: "dynamic-${ inline_admin_formset.formset.prefix }",
  88. deleteCssClass: "inline-deletelink",
  89. deleteText: "${ trans('Remove')}",
  90. emptyCssClass: "empty-form",
  91. removed: updateInlineLabel,
  92. added: (function(row) {
  93. initPrepopulatedFields(row);
  94. reinitDateTimeShortCuts();
  95. updateSelectFilter();
  96. updateInlineLabel(row);
  97. })
  98. });
  99. });
  100. })(django.jQuery);
  101. </script>
  102. </%def>