summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2022-11-29 16:35:22 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2022-12-12 12:23:19 +0100
commit8596e256a4b70a0694108a7a638850d2d6d39e5e (patch)
tree25d8b0ad7683993cf4e483040162695e81d6e8b7
parent98a01fc255138ed3de86d1c634d76c6ef3d9cec1 (diff)
downloadIshtar-8596e256a4b70a0694108a7a638850d2d6d39e5e.tar.bz2
Ishtar-8596e256a4b70a0694108a7a638850d2d6d39e5e.zip
Admin: small improvments on syndication
-rw-r--r--Makefile.example4
-rw-r--r--ishtar_common/admin.py8
-rw-r--r--ishtar_common/models_common.py4
-rw-r--r--ishtar_common/models_rest.py9
4 files changed, 19 insertions, 6 deletions
diff --git a/Makefile.example b/Makefile.example
index 45185ecb4..385054b0d 100644
--- a/Makefile.example
+++ b/Makefile.example
@@ -109,10 +109,10 @@ build_gitlab: clean collectstatic makemessages ## specific build for gitlab
test_gitlab: clean collectstatic makemessages ## specific test for gitlab
cd $(project); $(PYTHON) manage.py test --exclude-tag no_ci --exclude-tag gis --exclude-tag ui --exclude-tag libreoffice $(apps)
-soft_test_gitlab: build_gitlab
+soft_test_gitlab: build_gitlab ## run test for gitlab - do not erase previous database
cd $(project); $(PYTHON) manage.py -k test $(apps)
-run_libreoffice:
+run_libreoffice: ## run libreoffice daemon for testing purpose
/usr/bin/libreoffice --headless --accept="socket,host=127.0.0.1,port=8101;urp;" --nodefault --nofirststartwizard --nolockcheck --nologo --norestore --invisible --pidfile=/var/run/libreoffice.pid
##@ Development: checks
diff --git a/ishtar_common/admin.py b/ishtar_common/admin.py
index ee23a221e..578ad9939 100644
--- a/ishtar_common/admin.py
+++ b/ishtar_common/admin.py
@@ -2399,6 +2399,14 @@ def generate_match_document(modeladmin, request, queryset):
return HttpResponseRedirect(return_url)
src_doc = queryset.all()[0].generate_match_document()
in_memory = BytesIO()
+ if not src_doc:
+ send_error_message(
+ request,
+ str(_("Document not generated: is the LibreOffice daemon configured and running?")),
+ message_type=messages.ERROR,
+ )
+ return HttpResponseRedirect(return_url)
+
with open(src_doc, "rb") as fle:
in_memory.write(fle.read())
filename = src_doc.split(os.sep)[-1]
diff --git a/ishtar_common/models_common.py b/ishtar_common/models_common.py
index 54217ae4f..ebee974ff 100644
--- a/ishtar_common/models_common.py
+++ b/ishtar_common/models_common.py
@@ -2693,9 +2693,11 @@ class GeographicItem(models.Model):
blank=True,
null=True,
related_name="main_related_items_%(app_label)s_%(class)s",
+ verbose_name=_("Main geodata")
)
geodata = models.ManyToManyField(
- GeoVectorData, blank=True, related_name="related_items_%(app_label)s_%(class)s"
+ GeoVectorData, blank=True, related_name="related_items_%(app_label)s_%(class)s",
+ verbose_name=_("Geodata")
)
ALT_NAMES = {
"geodata__name": SearchAltName(
diff --git a/ishtar_common/models_rest.py b/ishtar_common/models_rest.py
index 17db09fc2..e0a0ba97e 100644
--- a/ishtar_common/models_rest.py
+++ b/ishtar_common/models_rest.py
@@ -44,7 +44,7 @@ MAIN_MODELS = dict(
class ApiUser(models.Model):
user_ptr = models.OneToOneField(
- User, primary_key=True, related_name="apiuser", on_delete=models.CASCADE
+ User, primary_key=True, related_name="apiuser", on_delete=models.CASCADE, verbose_name=_("User")
)
ip = models.GenericIPAddressField(verbose_name=_("IP"))
@@ -57,7 +57,7 @@ class ApiUser(models.Model):
class ApiSearchModel(models.Model):
- user = models.ForeignKey(ApiUser, on_delete=models.CASCADE)
+ user = models.ForeignKey(ApiUser, on_delete=models.CASCADE, verbose_name=_("User"))
content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE)
limit_query = models.TextField(
verbose_name=_("Filter query"),
@@ -88,12 +88,15 @@ class ApiSheetFilter(SheetFilter):
tpl = loader.get_template(f"ishtar/sheet_{model.SLUG}.html")
return tpl.template.origin.name
+ def __str__(self):
+ return f"{self.api_search_model} - {self.key}"
+
class ApiExternalSource(models.Model):
url = models.URLField(verbose_name=_("URL"))
name = models.CharField(verbose_name=_("Name"), max_length=200)
key = models.CharField(_("Key"), max_length=40)
- users = models.ManyToManyField("IshtarUser", blank=True)
+ users = models.ManyToManyField("IshtarUser", blank=True, verbose_name=_("Users"))
match_document = models.FileField(
_("Match document"),
blank=True,