from django.contrib.auth.decorators import login_required from django.shortcuts import render, get_object_or_404, redirect from django.views.generic import FormView from .forms import * from store.models import OrderData from django.contrib.auth import logout, authenticate, login from .utils import normalize_phone from random import randint import requests from django.conf import settings class LoginView(FormView): form_class = LoginForm template_name = 'accounts/login.jinja' def login_view(request): form = LoginForm(request.POST or None) if form.is_valid(): phone = form.cleaned_data['phone'] params = dict( login='Jango.kz', psw='AcEMXtLGz042Fc1ZJUSl', phones='7{}'.format(phone), mes='Batiskaf.kz odnorazoviy parol: {}'.format(form.temp_password) ) requests.get('http://smsc.ru/sys/send.php', params=params) return redirect('/account/login/sms/?phone=' + phone) c = dict(form=form) return render(request, 'accounts/login.jinja', c) def login_sms_view(request): form = LoginSmsForm(request.POST or None) phone = request.GET.get('phone', None) form.phone = phone if form.is_valid(): profile = form.profile profile.set_password(settings.PROFILE_TEMP_PASSWORD) profile.save() user = authenticate(username=profile.phone, password=settings.PROFILE_TEMP_PASSWORD) if user.is_active: login(request, user) return redirect('/account/') c = dict(form=form) return render(request, 'accounts/login_sms.jinja', c) @login_required def account_index(request): return render(request, 'accounts/index.jinja') @login_required def account_logout(request): logout(request) return redirect('/') @login_required def order_detail(request, pk): order = get_object_or_404(OrderData, pk=pk, profile=request.user) c = dict(order=order) return render(request, 'accounts/order_detail.jinja', c)