diff --git a/GeneralApp/views.py b/GeneralApp/views.py index 1c6cb16..8123b52 100644 --- a/GeneralApp/views.py +++ b/GeneralApp/views.py @@ -59,7 +59,7 @@ def MainPage(request): def StaticPageView(request, url): from RoutesApp.forms import RouteForm - from SubscribesApp.models import Subscribe + from SubscribesApp.funcs import get_subsribes_w_options Dict = {} @@ -81,7 +81,7 @@ def StaticPageView(request, url): raise Http404 if url in ['for_movers', 'for_customers']: - subscribes = Subscribe.objects.filter(enable=True) + subscribes, all_options = get_subsribes_w_options() Dict.update({ 'subscribes': subscribes, }) diff --git a/SubscribesApp/funcs.py b/SubscribesApp/funcs.py index 4f07db3..d6f6450 100644 --- a/SubscribesApp/funcs.py +++ b/SubscribesApp/funcs.py @@ -1,12 +1,24 @@ from .models import * from django.template.loader import render_to_string + +def get_subsribes_w_options(): + all_options = SubscribeOption.objects.filter(enable=True) + subscribes = Subscribe.objects.filter(enable=True) + for subscribe in subscribes: + subscribe_options_ids = subscribe.options.values_list('id', flat=True) + subscribe.disabled_options = all_options.exclude(id__in=subscribe_options_ids) + + return subscribes, all_options + + def get_profile_subscribe_page_content_html(request): try: # data = json.loads(request.body) - all_options = SubscribeOption.objects.filter(enable=True) + # all_options = SubscribeOption.objects.filter(enable=True) + subscribes, all_options = get_subsribes_w_options() subscribe_for_user = SubscribeForUser.objects.filter(user=request.user) if not subscribe_for_user: @@ -17,10 +29,10 @@ def get_profile_subscribe_page_content_html(request): subscribe_options_ids = subscribe_for_user.subscribe.options.values_list('id', flat=True) subscribe_for_user.subscribe.disabled_options = all_options.exclude(id__in=subscribe_options_ids) - subscribes = Subscribe.objects.filter(enable=True) - for subscribe in subscribes: - subscribe_options_ids = subscribe.options.values_list('id', flat=True) - subscribe.disabled_options = all_options.exclude(id__in=subscribe_options_ids) + # subscribes = Subscribe.objects.filter(enable=True) + # for subscribe in subscribes: + # subscribe_options_ids = subscribe.options.values_list('id', flat=True) + # subscribe.disabled_options = all_options.exclude(id__in=subscribe_options_ids) Dict = { 'subscribe_for_user': subscribe_for_user,