spaceout/site/frontend/views.py
2020-12-13 14:18:32 -05:00

95 lines
2.8 KiB
Python

from django.contrib import messages
from django.contrib.auth.decorators import login_required
from django.shortcuts import redirect, render
from django.http import HttpResponseForbidden
from api.models import *
from .forms import *
# Create your views here.
def register_view(request):
if request.user or request.user.is_authenticated:
return redirect('home')
if request.method == "POST":
form = UserRegisterForm(request.POST)
if form.is_valid():
user = form.save()
prof = Profile(user=user)
prof.save()
messages.success(
request, f"Your account has been created! You are now able to log in"
)
return redirect("login")
else:
form = UserRegisterForm()
return render(request, "frontend/register.html", {"form": form})
@login_required
def home_view(request):
return render(
request,
"frontend/temp.html",
{
"classes": Classroom.objects.filter(
student=Profile.objects.get(user=request.user)
)
},
)
@login_required
def class_form_view(request):
if request.method == "POST":
form = ClassroomForm(request.POST)
if form.is_valid():
class_i = Classroom(
student=Profile.objects.get(user=request.user),
name=form.cleaned_data.get("name"),
teacher=form.cleaned_data.get("teacher"),
link=form.cleaned_data.get("link"),
period=form.cleaned_data.get("period"),
)
class_i.save()
return redirect("home")
else:
form = ClassroomForm
return render(request, "frontend/classroomForm.html", {"form": form})
@login_required
def classroom_view(request, id):
classroom = Classroom.objects.get(id=id)
if classroom.student.user.pk != request.user.pk:
return HttpResponseForbidden('You do not have access to this class')
return render(request, "frontend/class.html", {'class': classroom})
@login_required
def classroom_edit_view(request, id):
classroom = Classroom.objects.get(id=id)
if classroom.student.user.pk != request.user.pk:
return HttpResponseForbidden('You do not have access to this class')
if request.method == 'POST':
form = ClassroomForm(request.POST, instance=classroom)
if form.is_valid():
classroom = form.save()
classroom.save()
return redirect(f'out/classes/{id}')
form = ClassroomForm(instance=classroom)
return render(request, 'frontend/editClassroom.html', {'form': form})
def landing_page(request):
if request.user.is_authenticated:
return redirect('home')
return render(request, 'frontend/landing.html')