1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Catch TemplateSyntaxError on ExportTemplate rendering

This commit is contained in:
Jeremy Stretch
2016-03-02 12:22:43 -05:00
parent a89f415ff8
commit 9c7a1c1060

View File

@ -2,6 +2,7 @@ from django.conf import settings
from django.contrib import messages from django.contrib import messages
from django.contrib.admin.views.decorators import staff_member_required from django.contrib.admin.views.decorators import staff_member_required
from django.contrib.contenttypes.models import ContentType from django.contrib.contenttypes.models import ContentType
from django.template import TemplateSyntaxError
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from django.db import transaction, IntegrityError from django.db import transaction, IntegrityError
from django.db.models import ProtectedError from django.db.models import ProtectedError
@ -33,9 +34,12 @@ class ObjectListView(View):
# Export # Export
if request.GET.get('export'): if request.GET.get('export'):
et = get_object_or_404(ExportTemplate, content_type=object_ct, name=request.GET.get('export')) et = get_object_or_404(ExportTemplate, content_type=object_ct, name=request.GET.get('export'))
response = et.to_response(context_dict={'queryset': self.queryset}, try:
filename='netbox_r{}'.format(self.queryset.model._meta.verbose_name_plural)) response = et.to_response(context_dict={'queryset': self.queryset},
return response filename='netbox_{}'.format(self.queryset.model._meta.verbose_name_plural))
return response
except TemplateSyntaxError:
messages.error(request, "There was an error rendering the selected export template ({}).".format(et.name))
table = self.table(self.queryset) table = self.table(self.queryset)
RequestConfig(request, paginate={'per_page': settings.PAGINATE_COUNT, 'klass': EnhancedPaginator})\ RequestConfig(request, paginate={'per_page': settings.PAGINATE_COUNT, 'klass': EnhancedPaginator})\