Ticket #11974: admin_modify.diff

File admin_modify.diff, 2.7 KB (added by vbmendes, 5 years ago)

Patch for the submit_rows template tag. With this, it will follow the template naming pattern of the admin.

  • contrib/admin/templatetags/admin_modify.py

     
    11from django import template
     2from django.template.loader import render_to_string
    23
    34register = template.Library()
    45
     
    1920    return context
    2021prepopulated_fields_js = register.inclusion_tag('admin/prepopulated_fields_js.html', takes_context=True)(prepopulated_fields_js)
    2122
    22 def submit_row(context):
    23     opts = context['opts']
    24     change = context['change']
    25     is_popup = context['is_popup']
    26     save_as = context['save_as']
    27     return {
    28         'onclick_attrib': (opts.get_ordered_objects() and change
    29                             and 'onclick="submitOrderForm();"' or ''),
    30         'show_delete_link': (not is_popup and context['has_delete_permission']
    31                               and (change or context['show_delete'])),
    32         'show_save_as_new': not is_popup and change and save_as,
    33         'show_save_and_add_another': context['has_add_permission'] and
    34                             not is_popup and (not save_as or context['add']),
    35         'show_save_and_continue': not is_popup and context['has_change_permission'],
    36         'is_popup': is_popup,
    37         'show_save': True
    38     }
    39 submit_row = register.inclusion_tag('admin/submit_line.html', takes_context=True)(submit_row)
     23class SubmitRowNode(template.Node):
     24    def render(self, context):
     25        app_label = context['app_label']
     26        opts = context['opts']
     27        change = context['change']
     28        is_popup = context['is_popup']
     29        save_as = context['save_as']
     30        context = {
     31            'onclick_attrib': (opts.get_ordered_objects() and change
     32                                and 'onclick="submitOrderForm();"' or ''),
     33            'show_delete_link': (not is_popup and context['has_delete_permission']
     34                                  and (change or context['show_delete'])),
     35            'show_save_as_new': not is_popup and change and save_as,
     36            'show_save_and_add_another': context['has_add_permission'] and
     37                                not is_popup and (not save_as or context['add']),
     38            'show_save_and_continue': not is_popup and context['has_change_permission'],
     39            'is_popup': is_popup,
     40            'show_save': True
     41        }
     42        return render_to_string([
     43            "admin/%s/%s/submit_line.html" % (app_label, opts.object_name.lower()),
     44            "admin/%s/submit_line.html" % app_label,
     45            "admin/submit_line.html"
     46        ], context)
     47
     48def submit_row(parser, token):
     49    return SubmitRowNode()
     50submit_row = register.tag(name="submit_row")(submit_row)
Back to Top