diff options
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 |
commit | db6f3f2152bfb480915a63ae04e88f2979d23341 (patch) | |
tree | 5632d4e651df050c97c33574327e40448cdcd721 /ishtar_common/wizards.py | |
parent | 183c1422d978e2b1cbb1d47e0a024dcee57ae3f9 (diff) | |
download | Ishtar-db6f3f2152bfb480915a63ae04e88f2979d23341.tar.bz2 Ishtar-db6f3f2152bfb480915a63ae04e88f2979d23341.zip |
Syndication - search interface
Diffstat (limited to 'ishtar_common/wizards.py')
-rw-r--r-- | ishtar_common/wizards.py | 20 |
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): |