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"]  | 
