summaryrefslogtreecommitdiff
path: root/ishtar_common/wizards.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2021-10-28 23:23:26 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2022-12-12 12:20:59 +0100
commitdb6f3f2152bfb480915a63ae04e88f2979d23341 (patch)
tree5632d4e651df050c97c33574327e40448cdcd721 /ishtar_common/wizards.py
parent183c1422d978e2b1cbb1d47e0a024dcee57ae3f9 (diff)
downloadIshtar-db6f3f2152bfb480915a63ae04e88f2979d23341.tar.bz2
Ishtar-db6f3f2152bfb480915a63ae04e88f2979d23341.zip
Syndication - search interface
Diffstat (limited to 'ishtar_common/wizards.py')
-rw-r--r--ishtar_common/wizards.py20
1 files changed, 13 insertions, 7 deletions
diff --git a/ishtar_common/wizards.py b/ishtar_common/wizards.py
index 2c2d4f6f9..dff2bf2c5 100644
--- a/ishtar_common/wizards.py
+++ b/ishtar_common/wizards.py
@@ -124,13 +124,19 @@ class IshtarWizard(NamedUrlWizardView):
and "pk" in form.fields
and self.request.session.get("EXTERNAL_SOURCES", {})
):
- model_name = f"{self.model._meta.app_label}-{self.model.__name__.lower()}"
- context["external_sources"] = [
- source.split("-")
- for source in self.request.session["EXTERNAL_SOURCES"]
- if model_name in self.request.session["EXTERNAL_SOURCES"][source]
- ]
- form.fields["pk"].widget.external_sources = context["external_sources"]
+ base_model_name = self.model.__name__.lower()
+ model_name = f"{self.model._meta.app_label}-{base_model_name}"
+ context["external_sources"] = []
+ for source in self.request.session["EXTERNAL_SOURCES"]:
+ if model_name in self.request.session["EXTERNAL_SOURCES"][source]:
+ try:
+ src_id, lbl = source.split("||")
+ except ValueError:
+ continue
+ url = reverse("search-external", args=[base_model_name, src_id])
+ context["external_sources"].append((src_id, lbl, url))
+
+ form.fields["pk"].widget.external_sources = context["external_sources"]
open_item_id = self.request.GET.get("open_item", None)
if open_item_id and self.model and getattr(self.model, "SHOW_URL", None):