from django.contrib.auth.decorators import login_required from django.http import HttpResponse from django.shortcuts import get_object_or_404 from django.utils.decorators import method_decorator from django.views.generic import View from users.models import Announcement from users.services import AnnouncementService @method_decorator(login_required, name="dispatch") class AnnouncementDismiss(View): """ Dismisses an announcement for the current user """ def post(self, request, id): announcement = get_object_or_404(Announcement, pk=id) AnnouncementService(request.user).mark_seen(announcement) # In the UI we replace it with nothing anyway return HttpResponse("")