2023-05-04 04:42:37 +00:00
|
|
|
from django.contrib.auth.decorators import login_required
|
2023-01-13 22:54:21 +00:00
|
|
|
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
|
|
|
|
|
|
|
|
|
2023-05-04 04:42:37 +00:00
|
|
|
@method_decorator(login_required, name="dispatch")
|
2023-01-13 22:54:21 +00:00
|
|
|
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("")
|