Files
python-tdd/src/apps/dashboard/views.py
Disco DeDisco d74189f0b7
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ensured my_list is viewable by auth user only
2026-02-17 20:26:42 -05:00

40 lines
1.4 KiB
Python

from django.http import HttpResponseForbidden
from django.shortcuts import redirect, render
from .forms import ExistingListItemForm, ItemForm
from .models import Item, List
from apps.lyric.models import User
def home_page(request):
return render(request, "apps/dashboard/home.html", {"form": ItemForm()})
def new_list(request):
form = ItemForm(data=request.POST)
if form.is_valid():
nulist = List.objects.create()
if request.user.is_authenticated:
nulist.owner = request.user
nulist.save()
form.save(for_list=nulist)
return redirect(nulist)
else:
return render(request, "apps/dashboard/home.html", {"form": form})
def view_list(request, list_id):
our_list = List.objects.get(id=list_id)
form = ExistingListItemForm(for_list=our_list)
if request.method == "POST":
form = ExistingListItemForm(for_list=our_list, data=request.POST)
if form.is_valid():
form.save()
return redirect(our_list)
return render(request, "apps/dashboard/list.html", {"list": our_list, "form": form})
def my_lists(request, user_id):
owner = User.objects.get(id=user_id)
if not request.user.is_authenticated:
return redirect("/")
if request.user.id != owner.id:
return HttpResponseForbidden()
return render(request, "apps/dashboard/my_lists.html", {"owner": owner})