mirror of https://github.com/jumpserver/jumpserver
parent
b610d71e11
commit
5127214375
|
@ -50,6 +50,12 @@ class SiteMessageViewSet(ListModelMixin, RetrieveModelMixin, JMSGenericViewSet):
|
||||||
SiteMessageUtil.mark_msgs_as_read(user.id, ids)
|
SiteMessageUtil.mark_msgs_as_read(user.id, ids)
|
||||||
return Response({'detail': 'ok'})
|
return Response({'detail': 'ok'})
|
||||||
|
|
||||||
|
@action(methods=[PATCH], detail=False, url_path='mark-as-read-all')
|
||||||
|
def mark_as_read_all(self, request, **kwargs):
|
||||||
|
user = request.user
|
||||||
|
SiteMessageUtil.mark_msgs_as_read(user.id)
|
||||||
|
return Response({'detail': 'ok'})
|
||||||
|
|
||||||
@action(methods=[POST], detail=False)
|
@action(methods=[POST], detail=False)
|
||||||
def send(self, request, **kwargs):
|
def send(self, request, **kwargs):
|
||||||
seri = self.get_serializer(data=request.data)
|
seri = self.get_serializer(data=request.data)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
from django.db.models import F
|
from django.db.models import F, Q
|
||||||
from django.db import transaction
|
from django.db import transaction
|
||||||
|
|
||||||
from common.utils.timezone import local_now
|
from common.utils.timezone import local_now
|
||||||
|
@ -80,11 +80,11 @@ class SiteMessageUtil:
|
||||||
return site_msgs_count
|
return site_msgs_count
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def mark_msgs_as_read(cls, user_id, msg_ids):
|
def mark_msgs_as_read(cls, user_id, msg_ids=None):
|
||||||
site_msg_users = SiteMessageUsers.objects.filter(
|
q = Q(user_id=user_id) & Q(has_read=False)
|
||||||
user_id=user_id, sitemessage_id__in=msg_ids,
|
if msg_ids is not None:
|
||||||
has_read=False
|
q &= Q(sitemessage_id__in=msg_ids)
|
||||||
)
|
site_msg_users = SiteMessageUsers.objects.filter(q)
|
||||||
|
|
||||||
for site_msg_user in site_msg_users:
|
for site_msg_user in site_msg_users:
|
||||||
site_msg_user.has_read = True
|
site_msg_user.has_read = True
|
||||||
|
|
Loading…
Reference in New Issue