summaryrefslogtreecommitdiff
path: root/ishtar_common/admin.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/admin.py')
-rw-r--r--ishtar_common/admin.py35
1 files changed, 22 insertions, 13 deletions
diff --git a/ishtar_common/admin.py b/ishtar_common/admin.py
index 8f9d4d0a9..0b6765399 100644
--- a/ishtar_common/admin.py
+++ b/ishtar_common/admin.py
@@ -1029,7 +1029,7 @@ MAIN_ITEM_READONLY_FIELDS = [
@admin.register(models.BiographicalNote, site=admin_site)
-class BiographicalNoteAdmin(admin.ModelAdmin):
+class BiographicalNoteAdmin(MergeActionAdmin, admin.ModelAdmin):
list_display = ("denomination", "last_name", "first_name")
autocomplete_fields = ["person", "organization"]
model = models.BiographicalNote
@@ -1135,7 +1135,7 @@ class ImportActionAdmin(admin.ModelAdmin):
def get_urls(self):
urls = super(ImportActionAdmin, self).get_urls()
my_urls = [
- re_path(r"^import-from-csv/$", self.import_generic),
+ re_path(r"^import-from-csv/$", self.admin_site.admin_view(self.import_generic)),
]
return my_urls + urls
@@ -1293,7 +1293,7 @@ class ImportGEOJSONActionAdmin(object):
def get_urls(self):
urls = super(ImportGEOJSONActionAdmin, self).get_urls()
my_urls = [
- re_path(r"^import-from-geojson/$", self.import_geojson),
+ re_path(r"^import-from-geojson/$", self.admin_site.admin_view(self.import_geojson)),
]
return my_urls + urls
@@ -1519,7 +1519,7 @@ class ImportJSONActionAdmin(admin.ModelAdmin):
def get_urls(self):
urls = super(ImportJSONActionAdmin, self).get_urls()
my_urls = [
- re_path(r"^import-from-json/$", self.import_json),
+ re_path(r"^import-from-json/$", self.admin_site.admin_view(self.import_json)),
]
return my_urls + urls
@@ -1788,7 +1788,7 @@ class CreateDepartmentActionAdmin(GeneralTypeAdmin):
def get_urls(self):
urls = super(CreateDepartmentActionAdmin, self).get_urls()
my_urls = [
- re_path(r"^create-department/$", self.create_area),
+ re_path(r"^create-department/$", self.admin_site.admin_view(self.create_area)),
]
return my_urls + urls
@@ -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())