mirror of https://github.com/zulip/zulip.git
scheduled_messages: Extract method to get undelivered scheduled messages.
This also changes key for `ID` of scheduled message from `message_id` to `scheduled_message_id`.
This commit is contained in:
parent
4cb238fb6e
commit
4718eaa213
|
@ -1,7 +1,9 @@
|
||||||
|
from typing import List
|
||||||
|
|
||||||
from django.utils.translation import gettext as _
|
from django.utils.translation import gettext as _
|
||||||
|
|
||||||
from zerver.lib.exceptions import ResourceNotFoundError
|
from zerver.lib.exceptions import ResourceNotFoundError
|
||||||
from zerver.models import ScheduledMessage, UserProfile
|
from zerver.models import ScheduledMessage, ScheduledMessageDict, UserProfile
|
||||||
|
|
||||||
|
|
||||||
def access_scheduled_message(
|
def access_scheduled_message(
|
||||||
|
@ -11,3 +13,13 @@ def access_scheduled_message(
|
||||||
return ScheduledMessage.objects.get(id=scheduled_message_id, sender=user_profile)
|
return ScheduledMessage.objects.get(id=scheduled_message_id, sender=user_profile)
|
||||||
except ScheduledMessage.DoesNotExist:
|
except ScheduledMessage.DoesNotExist:
|
||||||
raise ResourceNotFoundError(_("Scheduled message does not exist"))
|
raise ResourceNotFoundError(_("Scheduled message does not exist"))
|
||||||
|
|
||||||
|
|
||||||
|
def get_undelivered_scheduled_messages(user_profile: UserProfile) -> List[ScheduledMessageDict]:
|
||||||
|
scheduled_messages = ScheduledMessage.objects.filter(
|
||||||
|
sender=user_profile, delivered=False, delivery_type=ScheduledMessage.SEND_LATER
|
||||||
|
).order_by("scheduled_timestamp")
|
||||||
|
scheduled_message_dicts: List[ScheduledMessageDict] = [
|
||||||
|
scheduled_message.to_dict() for scheduled_message in scheduled_messages
|
||||||
|
]
|
||||||
|
return scheduled_message_dicts
|
||||||
|
|
|
@ -3,18 +3,15 @@ from django.http import HttpRequest, HttpResponse
|
||||||
from zerver.actions.scheduled_messages import delete_scheduled_message
|
from zerver.actions.scheduled_messages import delete_scheduled_message
|
||||||
from zerver.lib.request import has_request_variables
|
from zerver.lib.request import has_request_variables
|
||||||
from zerver.lib.response import json_success
|
from zerver.lib.response import json_success
|
||||||
from zerver.models import ScheduledMessage, UserProfile
|
from zerver.lib.scheduled_messages import get_undelivered_scheduled_messages
|
||||||
|
from zerver.models import UserProfile
|
||||||
|
|
||||||
|
|
||||||
@has_request_variables
|
@has_request_variables
|
||||||
def fetch_scheduled_messages(request: HttpRequest, user_profile: UserProfile) -> HttpResponse:
|
def fetch_scheduled_messages(request: HttpRequest, user_profile: UserProfile) -> HttpResponse:
|
||||||
scheduled_messages = ScheduledMessage.objects.filter(
|
return json_success(
|
||||||
sender=user_profile, delivered=False, delivery_type=ScheduledMessage.SEND_LATER
|
request, data={"scheduled_messages": get_undelivered_scheduled_messages(user_profile)}
|
||||||
).order_by("scheduled_timestamp")
|
)
|
||||||
scheduled_message_dicts = [
|
|
||||||
scheduled_message.to_dict() for scheduled_message in scheduled_messages
|
|
||||||
]
|
|
||||||
return json_success(request, data={"scheduled_messages": scheduled_message_dicts})
|
|
||||||
|
|
||||||
|
|
||||||
@has_request_variables
|
@has_request_variables
|
||||||
|
|
Loading…
Reference in New Issue