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.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')