diff --git a/templates/welcome.html b/templates/welcome.html index 9e748a2..75618f8 100644 --- a/templates/welcome.html +++ b/templates/welcome.html @@ -19,7 +19,7 @@ или войти с помощью

- + diff --git a/web/views/vk_auth.py b/web/views/vk_auth.py index 4827518..ce6a12f 100644 --- a/web/views/vk_auth.py +++ b/web/views/vk_auth.py @@ -1,11 +1,12 @@ +from django.contrib.auth import login from requests import get from BaseLib.BaseView import BaseView from Platform import settings +from web.models import CustomUser class VKAuthView(BaseView): - required_login = True endpoint = "vk_auth" view_file = "vk_auth.html" fields_except = ('user_id',) @@ -26,6 +27,12 @@ class VKAuthView(BaseView): if resp.status_code != 200: return "/profile" data = resp.json()['response'][0] - self.request.user.vk_id = data['id'] - self.request.user.save() + if self.request.user.is_authenticated: + self.request.user.vk_id = data['id'] + self.request.user.save() + else: + user = CustomUser.objects.filter(vk_id=data['id']).first() + if user is None: + return '/welcome' + login(self.request, user) return "/profile"