button force anoncecall
This commit is contained in:
1 parent
c7993aae44
commit
9af91941d9
15 files changed
+294
-23
No files matched your search
@@ -17,6 +17,30 @@ def schedule_announcement(message):
|
||||
},
|
||||
)[0]
|
||||
|
||||
|
||||
def schedule_immediate_announcement(ticket, requested_by):
|
||||
"""Queue an urgent call, coalescing repeated clicks for one minute."""
|
||||
from django.db import transaction
|
||||
from apps.tickets.models import Ticket
|
||||
|
||||
with transaction.atomic():
|
||||
Ticket.objects.select_for_update().get(pk=ticket.pk)
|
||||
now = timezone.now()
|
||||
recent = AnnouncementJob.objects.filter(
|
||||
ticket=ticket,
|
||||
source=AnnouncementJob.Source.MANUAL,
|
||||
created_at__gte=now - timedelta(minutes=1),
|
||||
).order_by("-created_at").first()
|
||||
if recent:
|
||||
return recent, False
|
||||
return AnnouncementJob.objects.create(
|
||||
source=AnnouncementJob.Source.MANUAL,
|
||||
ticket=ticket,
|
||||
requested_by=requested_by,
|
||||
next_attempt_at=now,
|
||||
idempotency_key=f"manual-ticket-{uuid4().hex}",
|
||||
), True
|
||||
|
||||
def enqueue_unit_supervisor_ticket_sms(ticket):
|
||||
"""Queue one concise new-ticket SMS for each configured unit supervisor."""
|
||||
unit = ticket.owning_unit
|
||||
|
||||
Reference in new issue
Block a user