diff options
Diffstat (limited to 'ishtar_common/admin.py')
| -rw-r--r-- | ishtar_common/admin.py | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/ishtar_common/admin.py b/ishtar_common/admin.py index f3bdac97f..0b6765399 100644 --- a/ishtar_common/admin.py +++ b/ishtar_common/admin.py @@ -2124,22 +2124,31 @@ duplicate_importertype.short_description = _("Duplicate") def generate_libreoffice_template(modeladmin, request, queryset): + c_url = ( + reverse( + "admin:%s_%s_changelist" + % (modeladmin.model._meta.app_label, modeladmin.model._meta.model_name) + ) + + "?" + + urllib.parse.urlencode(request.GET) + ) if queryset.count() != 1: messages.add_message( request, messages.ERROR, str(_("Select only one importer.")) ) - c_url = ( - reverse( - "admin:%s_%s_changelist" - % (modeladmin.model._meta.app_label, modeladmin.model._meta.model_name) - ) - + "?" - + urllib.parse.urlencode(request.GET) - ) return HttpResponseRedirect(c_url) importer_type = queryset.all()[0] dest_filename = importer_type.get_libreoffice_template() + try: + dest_filename = importer_type.get_libreoffice_template() + except AttributeError: + messages.add_message( + request, messages.ERROR, + str(_("Error on libreoffice daemon. Contact your server administrator.")) + ) + return HttpResponseRedirect(c_url) + in_memory = BytesIO() with open(dest_filename, "rb") as fle: in_memory.write(fle.read()) |
