Updates with a sign in page

This commit is contained in:
2025-04-25 10:12:16 -05:00
parent 5bd7a37e52
commit b9964b22a9
7 changed files with 187 additions and 25 deletions
+43 -5
View File
@@ -1,5 +1,6 @@
from django.shortcuts import render, redirect
from .models import UsefulLinks, CalendarEvent, MembershipPerson, Payments, SCHAOfficer, Membership
from .models import UsefulLinks, CalendarEvent, MembershipPerson, Payments, SCHAOfficer, Membership, CommunityPost
from .forms import (
ChildrenForm,
CommunityPostForm,
@@ -15,6 +16,8 @@ from django.db import transaction, IntegrityError
from django.conf import settings # new
from django.http.response import JsonResponse, HttpResponse
from django.views.decorators.csrf import csrf_exempt # new
from django.contrib.auth import logout, authenticate, login
from django.contrib.auth.decorators import login_required
import stripe
"""
@@ -472,13 +475,25 @@ def membership_form(request):
def scha_board(request):
return render(request, "schasite/scha_board.html", {})
def login(request):
if request.method == "POST":
raise NotImplementedError()
username = request.POST["username"]
password = request.POST["password"]
user = authenticate(request, username=username, password=password)
if user is not None:
return redirect('dashboard')
else:
return render(request, "schasite/signin.html",{'error_msg': "Invalid username/password"})
else:
return render(request, "schasite/signin.html",{})
def logout(request):
if request.method == "POST":
logout(request)
return redirect('index2')
def password_reset(request):
if request.method == "POST":
raise NotImplementedError()
@@ -488,29 +503,48 @@ def password_reset(request):
def set_password(request):
if request.method == "POST":
raise NotImplementedError()
return redirect('login')
else:
return render(request, "schasite/set_password.html",{})
def signup(request):
if request.method == "POST":
raise NotImplementedError()
return redirect('login')
else:
return render(request, "schasite/signup.html",{})
@login_required(login_url="/login")
def member_directory(request):
if request.method == "POST":
# these should be filters
raise NotImplementedError()
else:
return render(request, "schasite/member_directory.html",{})
members = MembershipPerson.objects.all()
return render(request, "schasite/member_directory.html",{'members':members})
@login_required(login_url="/login")
def member_dashboard(request):
current_member = CommunityMember.objects.get(user=request.user)
if request.method == "POST":
raise NotImplementedError()
else:
return render(request, "schasite/member_dashboard.html",{})
recent_posts = CommunityPost.objects.all()[:5]
member_recent_posts = CommunityPost.objects.filter(author=current_member)[:5]
return render(request, "schasite/member_dashboard.html",{"recent_posts":recent_posts, "member_recent_posts": member_recent_posts, "current_member": current_member})
@login_required(login_url="/login")
def member_posts(request):
current_member = CommunityMember.objects.get(user=request.user)
if request.method == "POST":
raise NotImplementedError()
else:
posts = CommunityPost.objects.all()[:5]
return render(request, "schasite/member_posts.html",{"posts":posts})
@login_required(login_url="/login")
def member_posts_create(request):
current_member = CommunityMember.objects.get(user=request.user)
if request.method == "POST":
community_post_form = CommunityPostForm(request.POST)
if community_post_form.is_valid():
@@ -523,13 +557,17 @@ def member_posts_create(request):
else:
return render(request, "schasite/member_posts_create.html",{"community_post": CommunityPostForm()})
@login_required(login_url="/login")
def member_posts_detail(request, post_id):
current_member = CommunityMember.objects.get(user=request.user)
if request.method == "POST":
raise NotImplementedError()
else:
return render(request, "schasite/member_posts_detail.html",{})
#@login_required(login_url="/login")
def profile(request):
#current_member = CommunityMember.objects.get(user=request.user)
if request.method == "POST":
raise NotImplementedError()
else: