Skip to content
Snippets Groups Projects
Verified Commit f4d8e0b2 authored by Jonathan Weth's avatar Jonathan Weth :keyboard:
Browse files

Use class-based views for deleting personal notes

parent ba1f155b
No related branches found
No related tags found
1 merge request!86Resolve "Add option to reset personal note ("delete") at students view for class teachers"
......@@ -30,8 +30,8 @@ urlpatterns = [
path("persons/<int:id_>/", views.overview_person, name="overview_person"),
path("me/", views.overview_person, name="overview_me"),
path(
"notes/<int:id_>/delete/",
views.delete_personal_note,
"notes/<int:pk>/delete/",
views.DeletePersonalNoteView.as_view(),
name="delete_personal_note",
),
path("absence/new", views.register_absence, name="register_absence"),
......
......@@ -7,6 +7,7 @@ from django.http import Http404, HttpRequest, HttpResponse, HttpResponseNotFound
from django.shortcuts import get_object_or_404, redirect, render
from django.urls import reverse, reverse_lazy
from django.utils.translation import ugettext as _
from django.views.generic import DetailView
from calendarweek import CalendarWeek
from django_tables2 import SingleTableView
......@@ -638,18 +639,15 @@ def register_absence(request: HttpRequest) -> HttpResponse:
return render(request, "alsijil/absences/register.html", context)
def delete_personal_note(request: HttpRequest, id_: int) -> HttpResponse:
context = {}
personal_note = get_object_or_404(PersonalNote, pk=id_)
context["object"] = personal_note
class DeletePersonalNoteView(DetailView):
model = PersonalNote
template_name = "core/pages/delete.html"
if request.method == "POST":
personal_note.reset()
return redirect("overview_person", personal_note.person.pk)
else:
return render(request, "core/pages/delete.html", context)
def post(self, request, *args, **kwargs):
note = self.get_object()
note.reset()
messages.success(request, _("The personal note has been deleted."))
return redirect("overview_person", note.person.pk)
class ExtraMarkListView(SingleTableView, PermissionRequiredMixin):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment