|
|
@@ -2,32 +2,18 @@ from django import template
|
|
|
from django.urls import reverse
|
|
|
|
|
|
from extras.models import ExportTemplate
|
|
|
-from utilities.utils import prepare_cloned_fields
|
|
|
+from utilities.utils import get_viewname, prepare_cloned_fields
|
|
|
|
|
|
register = template.Library()
|
|
|
|
|
|
|
|
|
-def _get_viewname(instance, action):
|
|
|
- """
|
|
|
- Return the appropriate viewname for adding, editing, or deleting an instance.
|
|
|
- """
|
|
|
-
|
|
|
- # Validate action
|
|
|
- assert action in ('add', 'edit', 'delete')
|
|
|
- viewname = "{}:{}_{}".format(
|
|
|
- instance._meta.app_label, instance._meta.model_name, action
|
|
|
- )
|
|
|
-
|
|
|
- return viewname
|
|
|
-
|
|
|
-
|
|
|
#
|
|
|
# Instance buttons
|
|
|
#
|
|
|
|
|
|
@register.inclusion_tag('buttons/clone.html')
|
|
|
def clone_button(instance):
|
|
|
- url = reverse(_get_viewname(instance, 'add'))
|
|
|
+ url = reverse(get_viewname(instance, 'add'))
|
|
|
|
|
|
# Populate cloned field values
|
|
|
param_string = prepare_cloned_fields(instance).urlencode()
|
|
|
@@ -41,7 +27,7 @@ def clone_button(instance):
|
|
|
|
|
|
@register.inclusion_tag('buttons/edit.html')
|
|
|
def edit_button(instance):
|
|
|
- viewname = _get_viewname(instance, 'edit')
|
|
|
+ viewname = get_viewname(instance, 'edit')
|
|
|
url = reverse(viewname, kwargs={'pk': instance.pk})
|
|
|
|
|
|
return {
|
|
|
@@ -51,7 +37,7 @@ def edit_button(instance):
|
|
|
|
|
|
@register.inclusion_tag('buttons/delete.html')
|
|
|
def delete_button(instance):
|
|
|
- viewname = _get_viewname(instance, 'delete')
|
|
|
+ viewname = get_viewname(instance, 'delete')
|
|
|
url = reverse(viewname, kwargs={'pk': instance.pk})
|
|
|
|
|
|
return {
|