Coverage for message/views.py: 100.00%
41 statements
« prev ^ index » next coverage.py v7.9.1, created at 2025-06-13 16:05 -0700
« prev ^ index » next coverage.py v7.9.1, created at 2025-06-13 16:05 -0700
1from django.contrib.auth.decorators import login_required
2from django.shortcuts import get_object_or_404, redirect, render
4from .forms import MessageForm
5from .models import Message
8@login_required
9def message_create(request):
10 template_name = "messages/message_new.html" 1fc
11 form = MessageForm(request.POST or None) 1fc
12 if form.is_valid(): 1fc
13 form.instance.author = request.user 1c
14 form.save() 1c
15 return redirect("message_list") 1c
17 return render(request, template_name, {"form": form}) 1f
20@login_required
21def message_detail(request, year, month, day, message):
22 template_name = "messages/message_detail.html" 1h
23 message = get_object_or_404( 1h
24 Message,
25 status=Message.Status.PUBLISHED,
26 slug=message,
27 publish__year=year,
28 publish__month=month,
29 publish__day=day,
30 )
32 return render(request, template_name, {"message": message}) 1h
35@login_required
36def message_delete(request, pk):
37 template_name = "messages/message_delete.html" 1dg
38 message = Message.objects.get(id=pk) 1dg
40 if request.method == "POST": 1dg
41 message.delete() 1d
42 return redirect("message_list") 1d
44 return render(request, template_name, {"message": message}) 1g
47@login_required
48def message_list(request):
49 template_name = "messages/message_list.html" 1i
50 messages = Message.published.all() 1i
52 return render(request, template_name, {"messages": messages}) 1i
55@login_required
56def message_update(request, pk):
57 template_name = "messages/message_update.html" 1eb
58 message = Message.objects.get(id=pk) 1eb
60 form = MessageForm(request.POST or None, instance=message) 1eb
61 if form.is_valid(): 1eb
62 form.instance.author = request.user 1b
63 form.save() 1b
64 return redirect("message_list") 1b
66 return render(request, template_name, {"form": form}) 1e