first comit

This commit is contained in:
2024-02-23 10:30:02 +00:00
commit ddeb07d0ba
12482 changed files with 1857507 additions and 0 deletions

63
accounts/views.py Executable file
View File

@@ -0,0 +1,63 @@
from django.shortcuts import render, redirect
from django.urls import reverse
from accounts.forms import *
import json
from django.core.exceptions import ValidationError
from django.core.validators import validate_email
from django.contrib.auth.hashers import make_password
from django.contrib.auth import logout,login,authenticate
from django.http import HttpResponseRedirect, HttpResponse, JsonResponse
from django.conf import settings
from custom_user.models import User
def create_session(request, username):
print("logging in")
print(username)
user=User.objects.get(email=username)
login(request, user)
return HttpResponseRedirect(reverse('index'))
def logout_view(request):
logout(request)
return redirect(reverse('accounts:sign_in'))
def sign_in(request):
if request.method == 'POST':
form = LoginForm(request, data=request.POST)
context={'form':form, 'invalid': True}
if form.is_valid():
username=form.cleaned_data.get('username')
password=form.cleaned_data.get('password')
user=authenticate(username=username,password=password)
if user:
return create_session(request,user.email)
else:
print(f"form is invalid, {form.errors}")
return render(request, 'sign-in.html', {'form': LoginForm})
def sign_up(request):
if request.user.is_authenticated:
return redirect(reverse('index'))
return render(request, 'sign-up.html', {'form': LoginForm})
def user_sign_up(request):
if request.method == 'POST':
data = json.loads(request.POST.get('data', ''))
try:
validate_email(data['email'])
except ValidationError as e:
print("bad email, details:", e)
message = 'Email Validation error'
messageTitle = 'Error!'
messageStatus = 'text-bg-danger'
response = JsonResponse({'messageTitle':messageTitle, 'message': message, 'messageStatus':messageStatus})
return response
password = make_password(data['password'])
user = User.objects.create(email = data['email'], password=password)
login(request, user)
return JsonResponse({'no_errors':True})
else:
return render(request, 'sign-up.html', {'form': LoginForm})