diff options
Diffstat (limited to 'ishtar_common/context_processors.py')
-rw-r--r-- | ishtar_common/context_processors.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/ishtar_common/context_processors.py b/ishtar_common/context_processors.py index 7fb1a486d..a03f6429b 100644 --- a/ishtar_common/context_processors.py +++ b/ishtar_common/context_processors.py @@ -22,6 +22,7 @@ from django.contrib.sites.models import Site from ishtar_common.version import __version__ from ishtar_common.models import get_current_profile +from ishtar_common.models_rest import ApiExternalSource, ApiKeyMatch from bootstrap_datepicker.widgets import DatePicker from .menus import Menu @@ -47,6 +48,19 @@ def get_base_context(request): menu.init() request.session['MENU'] = menu """ # menu is now in cache - put it back in session later? + if "EXTERNAL_SOURCES" not in request.session: + q = ApiExternalSource.objects + # TODO: check permissions + request.session["EXTERNAL_SOURCES"] = {} + if q.count(): + for source in q.all(): + request.session["EXTERNAL_SOURCES"][f"{source.id}-{source.name}"] = [ + f"{app_label}-{model_name}" + for app_label, model_name in ApiKeyMatch.objects.values_list( + "search_model__app_label", "search_model__model" + ).distinct() + ] + current_action = None if "CURRENT_ACTION" in request.session: dct["CURRENT_ACTION"] = request.session["CURRENT_ACTION"] |