diff options
Diffstat (limited to 'ishtar_common/wizards.py')
-rw-r--r-- | ishtar_common/wizards.py | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/ishtar_common/wizards.py b/ishtar_common/wizards.py index 8acf1a3ed..d8c789018 100644 --- a/ishtar_common/wizards.py +++ b/ishtar_common/wizards.py @@ -48,7 +48,7 @@ from django.template import loader from django.utils.translation import ugettext_lazy as _ from django.utils.safestring import mark_safe -from ishtar_common import models +from ishtar_common import models, models_rest from ishtar_common.forms import CustomForm, reverse_lazy from ishtar_common.utils import get_all_field_names, MultiValueDict, put_session_message @@ -134,8 +134,26 @@ class IshtarWizard(NamedUrlWizardView): 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)) + q = models_rest.ApiExternalSource.objects.filter( + profiles=self.request.user.ishtaruser.current_profile, + pk=src_id + ) + if not q.count(): + continue + external_source = q.all()[0] + url = reverse("external-search", args=[base_model_name, src_id]) + export_urls = [] + for slug, label in external_source.get_exports(model_name): + export_urls.append( + (label, + reverse("external-export", + args=[src_id, base_model_name, slug])) + ) + context["external_sources"].append( + (src_id, lbl, url, external_source.get_columns(model_name), + external_source.get_column_labels(model_name), + export_urls) + ) form.fields["pk"].widget.external_sources = context["external_sources"] |