diff --git a/GeneralApp/views.py b/GeneralApp/views.py index d5ea83a..fd96945 100644 --- a/GeneralApp/views.py +++ b/GeneralApp/views.py @@ -13,12 +13,15 @@ from django.contrib.auth.models import User from django.views.decorators.csrf import csrf_exempt from webpush import send_user_notification import json +from datetime import datetime, timedelta def test_code(request): from RoutesApp.funcs import get_city_by_type_transport_and_address_point from RoutesApp.models import Route from ReferenceDataApp.models import Airport, City + res = None + # import allauth # from allauth.socialaccount.models import SocialApp # apps = SocialApp.objects.all() @@ -27,8 +30,24 @@ def test_code(request): # from PushMessages.views import send_push # send_push(request.user, 'test_title', 'test_content') - from BaseModels.pay_systems.DVL_Group_kaz.api.funcs import create_order - create_order() + # from BaseModels.pay_systems.DVL_Group_kaz.api.funcs import create_order + # create_order() + + # from AuthApp.models import User + # from SubscribesApp.models import SubscribeForUser, Subscribe + # subscribes_null_price = Subscribe.objects.filter(price=0) + # if not subscribes_null_price: + # res = 'Subscribe not found' + # else: + # subscribe = subscribes_null_price[0] + # users_wo_subscribe = User.objects.filter(rel_userSubscribes_for_user=None) + # for user in users_wo_subscribe: + # u_sub = SubscribeForUser.objects.create( + # user=user, + # subscribe=subscribe, + # paid_period_from_DT=datetime.now(), + # paid_period_to_DT=datetime.now() + timedelta(hours=subscribe.period) + # ) # from RoutesApp.search_matches import search_matches # search_matches() @@ -62,6 +81,11 @@ def test_code(request): # # if required_save: # route.save() + if res: + if type(res) == str: + return HttpResponse(res) + else: + return res return HttpResponse('finished') diff --git a/SubscribesApp/funcs.py b/SubscribesApp/funcs.py index f2ccc23..57db3dd 100644 --- a/SubscribesApp/funcs.py +++ b/SubscribesApp/funcs.py @@ -4,14 +4,37 @@ from django.utils.translation import get_language, activate from datetime import datetime, timedelta import json +def get_null_price_subscribe(): + subscribes_null_price = Subscribe.objects.filter( + enable=True, + price=0 + ) + if subscribes_null_price: + return subscribes_null_price[0] + + return None + +def subscribe_user_to_null_price_subscribe(user): + subscribe = get_null_price_subscribe() + if not subscribe: + return None + + subscribe_for_user = SubscribeForUser.objects.create( + user=user, + subscribe=subscribe, + paid_period_from_DT=datetime.now(), + paid_period_to_DT=datetime.now() + timedelta(hours=subscribe.period) + ) + + return subscribe_for_user + def get_cur_user_subscribe(user): - user_subscribe = None try: user_subscribe = SubscribeForUser.objects.get(enable=True, user=user) - except Exception as e: - pass + except SubscribeForUser.DoesNotExist: + user_subscribe = subscribe_user_to_null_price_subscribe(user) return user_subscribe