Files
tripwithbonus/AuthApp/js_views.py
SDE 9eb73e74ff 0.0.17
login routines
2023-07-11 15:59:09 +03:00

127 lines
3.7 KiB
Python

from django.shortcuts import render
from uuid import uuid1
from AuthApp.models import *
from django.contrib import auth
from django.http import HttpResponse, Http404, JsonResponse
from django.template import loader, RequestContext
from django.contrib.auth.decorators import login_required
from BaseModels.mailSender import techSendMail
from django.utils.translation import gettext as _
from datetime import datetime
from django.template.loader import render_to_string
from django.urls import reverse
def my_routes_ajax(request):
if request.method != 'POST':
raise Http404
from RoutesApp.forms import RegistrationForm
Dict = {
'form': RegistrationForm()
}
html = render_to_string('blocks/profile/b_new_route.html', Dict, request=request)
return JsonResponse({'html': html}, status=200)
def new_route_view_ajax(request):
if request.method != 'POST':
raise Http404
from RoutesApp.forms import RegistrationForm
Dict = {
'form': RegistrationForm()
}
html = render_to_string('blocks/profile/b_new_route.html', Dict, request=request)
return JsonResponse({'html': html}, status=200)
def login_ajax(request):
if request.method != 'POST':
raise Http404
try:
data = request.POST
from .forms import LoginForm
form = LoginForm(data)
if not form.is_valid():
Dict = {'form': form}
html = render_to_string('forms/f_login.html.html', Dict, request=request)
return JsonResponse({'html': html}, status=400)
from django.contrib.auth import authenticate
user = authenticate(username=form.data['username'], password=form.data['password'])
if user is not None:
auth.login(request, user)
else:
errors_Dict = {
'errors': {
'__all__': f'неверный логин и\или пароль'
}
}
Dict = {'form': errors_Dict}
html = render_to_string('forms/f_login.html', Dict)
return JsonResponse({'html': html}, status=400)
res_Dict = {
'redirect_url': reverse('user_profile')
}
return JsonResponse(res_Dict)
except Exception as e:
errors_Dict = {
'errors': {
'__all__': f'ошибка в запросе = {str(e)}'
}
}
Dict = {'form': errors_Dict}
html = render_to_string('forms/f_login.html', Dict)
return JsonResponse({'html': html}, status=400)
def registration_ajax(request):
if request.method != 'POST':
raise Http404
try:
data = request.POST
from .forms import RegistrationForm
form = RegistrationForm(data)
if not form.is_valid():
Dict = {'form': form}
html = render_to_string('forms/f_registration.html', Dict, request=request)
return JsonResponse({'html': html}, status=400)
user = User.objects.create_user(username=form.data['email'], email=form.data['email'], password=form.data['password'])
# user = auth.authenticate(username=new_user_Dict['name'], password=new_user_Dict['pass'])
if user:
auth.login(request, user)
res_Dict = {
'redirect_url': reverse('user_profile')
}
return JsonResponse(res_Dict)
except Exception as e:
errors_Dict = {
'errors': {
'__all__': f'ошибка в запросе = {str(e)}'
}
}
Dict = {'form': errors_Dict}
html = render_to_string('forms/f_registration.html', Dict)
return JsonResponse({'html': html}, status=400)