Adds buttons for admins/mentors to see amount of open adminhelp/mentorhelp tickets. (#29498)

* wham

* fix
This commit is contained in:
Contrabang
2025-06-03 21:30:00 +00:00
committed by GitHub
parent 3fa3eb884c
commit d0170a11c6
9 changed files with 98 additions and 1 deletions
@@ -187,6 +187,7 @@ SUBSYSTEM_DEF(tickets)
SEND_SOUND(C, sound('sound/effects/adminticketopen.ogg'))
message_staff(url_title, NONE, TRUE)
open_ticket_count_updated()
return T
//Set ticket state with key N to open
@@ -197,6 +198,7 @@ SUBSYSTEM_DEF(tickets)
sendFollowupToDiscord(T, usr.client, "*Ticket reopened.*")
to_chat_safe(returnClient(N), "<span class='[span_class]'>Your [ticket_name] has been re-opened.</span>")
T.ticketState = TICKET_OPEN
open_ticket_count_updated()
return TRUE
//Set ticket state with key N to resolved
@@ -207,6 +209,7 @@ SUBSYSTEM_DEF(tickets)
message_staff("<span class='[span_class]'>[usr.client] / ([usr]) resolved [ticket_name] number [N]</span>")
sendFollowupToDiscord(T, usr.client, "*Ticket resolved.*")
to_chat_safe(returnClient(N), "<span class='[span_class]'>Your [ticket_name] has now been resolved.</span>")
open_ticket_count_updated()
return TRUE
/datum/controller/subsystem/tickets/proc/refresh_tickets(list/tickets)
@@ -271,6 +274,7 @@ SUBSYSTEM_DEF(tickets)
message_staff("<span class='[span_class]'>[C] has converted ticket number [T.ticketNum] to a [other_ticket_name] ticket.</span>")
log_game("[C] has converted ticket number [T.ticketNum] to a [other_ticket_name] ticket.")
create_other_system_ticket(T)
open_ticket_count_updated()
/datum/controller/subsystem/tickets/proc/create_other_system_ticket(datum/ticket/T)
var/client/C = get_client_by_ckey(T.client_ckey)
@@ -326,6 +330,7 @@ SUBSYSTEM_DEF(tickets)
sendFollowupToDiscord(T, usr.client, "*Ticket closed.*")
to_chat_safe(returnClient(N), close_messages)
T.ticketState = TICKET_CLOSED
open_ticket_count_updated()
return TRUE
//Check if the user already has a ticket open and within the cooldown period.
@@ -827,6 +832,13 @@ UI STUFF
return FALSE
return TRUE
/datum/controller/subsystem/tickets/proc/open_ticket_count_updated()
var/ticket_count = 0
for(var/datum/ticket/T in allTickets)
if(T.ticketState == TICKET_OPEN || T.ticketState == TICKET_STALE)
ticket_count++
SEND_SIGNAL(src, COMSIGN_TICKET_COUNT_UPDATE, ticket_count)
#undef TICKET_STAFF_MESSAGE_ADMIN_CHANNEL
#undef TICKET_STAFF_MESSAGE_PREFIX