diff options
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 |
commit | d22eece48ebac8225c542da091cc26e59b8b7827 (patch) | |
tree | 25d8b0ad7683993cf4e483040162695e81d6e8b7 | |
parent | 32dee19addab88f0b02d98e492a6f6cca49a288b (diff) | |
download | Ishtar-d22eece48ebac8225c542da091cc26e59b8b7827.tar.bz2 Ishtar-d22eece48ebac8225c542da091cc26e59b8b7827.zip |
Admin: small improvments on syndication
-rw-r--r-- | Makefile.example | 4 | ||||
-rw-r--r-- | ishtar_common/admin.py | 8 | ||||
-rw-r--r-- | ishtar_common/models_common.py | 4 | ||||
-rw-r--r-- | ishtar_common/models_rest.py | 9 |
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, |