diff --git a/code/modules/admin/sql_ban_system.dm b/code/modules/admin/sql_ban_system.dm index a691b61f3f5..fc7a2d8bdca 100644 --- a/code/modules/admin/sql_ban_system.dm +++ b/code/modules/admin/sql_ban_system.dm @@ -536,7 +536,8 @@ if(player_ckey) create_message("note", player_ckey, admin_ckey, note_reason, null, null, 0, 0, null, 0, severity) var/client/C = GLOB.directory[player_ckey] - var/datum/admin_help/AH = admin_ticket_log(player_ckey, "[kna] [msg]") + // var/datum/admin_help/AH = admin_ticket_log(player_ckey, "[kna] [msg]") // SKYRAT EDIT ORIGINAL + var/datum/admin_help/AH = admin_ticket_log(player_ckey, "[kna] [msg]", FALSE) // SKYRAT EDIT -- Player ticket viewing var/appeal_url = "No ban appeal url set!" appeal_url = CONFIG_GET(string/banappeals) var/is_admin = FALSE diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm index 2c71ced1c63..754daeea263 100644 --- a/code/modules/admin/verbs/adminhelp.dm +++ b/code/modules/admin/verbs/adminhelp.dm @@ -215,9 +215,11 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) statclick = new(null, src) _interactions = list() + _interactions_player = list() // SKYRAT EDIT ADDITION -- Player ticket viewing if(is_bwoink) AddInteraction("[key_name_admin(usr)] PM'd [LinkedReplyName()]") + AddInteractionPlayer("[key_name_admin(usr, FALSE)] PM'd [LinkedReplyName()]") // SKYRAT EDIT ADDITION -- Player ticket viewing message_admins("Ticket [TicketHref("#[id]")] created") else MessageNoRecipient(msg) @@ -286,6 +288,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) var/admin_msg = "Ticket [TicketHref("#[id]", ref_src)]: [LinkedReplyName(ref_src)] [FullMonty(ref_src)]: [keywords_lookup(msg)]" AddInteraction("[LinkedReplyName(ref_src)]: [msg]") + AddInteractionPlayer("[LinkedReplyName(ref_src)]: [msg]") // SKYRAT EDIT ADDITION -- Player ticket viewing log_admin_private("Ticket #[id]: [key_name(initiator)]: [msg]") //send this msg to all admins @@ -330,6 +333,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) initiator.current_ticket = src AddInteraction("Reopened by [key_name_admin(usr)]") + AddInteractionPlayer("Reopened by [key_name_admin(usr, FALSE)]") // SKYRAT EDIT ADDITION -- Player ticket viewing var/msg = "Ticket [TicketHref("#[id]")] reopened by [key_name_admin(usr)]." message_admins(msg) log_admin_private(msg) @@ -361,6 +365,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) state = AHELP_CLOSED GLOB.ahelp_tickets.ListInsert(src) AddInteraction("Closed by [key_name].") + AddInteractionPlayer("Closed by [key_name_admin(usr, FALSE)].") // SKYRAT EDIT ADDITION -- Player ticket viewing if(!silent) SSblackbox.record_feedback("tally", "ahelp_stats", 1, "closed") var/msg = "Ticket [TicketHref("#[id]")] closed by [key_name]." @@ -387,6 +392,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) addtimer(CALLBACK(initiator, /client/proc/giveadminhelpverb), 50) AddInteraction("Resolved by [key_name].") + AddInteractionPlayer("Resolved by [key_name_admin(usr, FALSE)].") // SKYRAT EDIT ADDITION -- Player ticket viewing to_chat(initiator, "Your ticket has been resolved by an admin. The Adminhelp verb will be returned to you shortly.", confidential = TRUE) if(!silent) SSblackbox.record_feedback("tally", "ahelp_stats", 1, "resolved") @@ -421,6 +427,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) message_admins(msg) log_admin_private(msg) AddInteraction("Rejected by [key_name].") + AddInteractionPlayer("Rejected by [key_name_admin(usr, FALSE)].") // SKYRAT EDIT ADDITION -- Player ticket viewing SSblackbox.LogAhelp(id, "Rejected", "Rejected by [usr.key]", null, usr.ckey) Close(silent = TRUE) @@ -447,6 +454,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) message_admins(msg) log_admin_private(msg) AddInteraction("Marked as IC issue by [key_name]") + AddInteractionPlayer("Marked as IC issue by [key_name_admin(usr, FALSE)]") // SKYRAT EDIT ADDITION -- Player ticket viewing SSblackbox.LogAhelp(id, "IC Issue", "Marked as IC issue by [usr.key]", null, usr.ckey) Resolve(silent = TRUE) @@ -587,7 +595,8 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) //Use this proc when an admin takes action that may be related to an open ticket on what //what can be a client, ckey, or mob -/proc/admin_ticket_log(what, message) +// /proc/admin_ticket_log(what, message) // SKYRAT EDIT ORIGINAL +/proc/admin_ticket_log(what, message, admin_only = TRUE) // SKYRAT EDIT CHANGE -- Player ticket viewing var/client/C var/mob/Mob = what if(istype(Mob)) @@ -596,11 +605,19 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new) C = what if(istype(C) && C.current_ticket) C.current_ticket.AddInteraction(message) + // SKYRAT EDIT ADDITION START -- Player ticket viewing + if(!admin_only) + C.current_ticket.AddInteractionPlayer(message) + // SKYRAT EDIT ADDITION END return C.current_ticket if(istext(what)) //ckey var/datum/admin_help/AH = GLOB.ahelp_tickets.CKey2ActiveTicket(what) if(AH) AH.AddInteraction(message) + // SKYRAT EDIT ADDITION START -- Player ticket viewing + if(!admin_only) + AH.AddInteractionPlayer(message) + // SKYRAT EDIT ADDITION END return AH // diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index 1bad7eb45b8..ff32ff03c5e 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -205,6 +205,7 @@ html = "PM to-Admins: [rawmsg]", confidential = TRUE) var/datum/admin_help/AH = admin_ticket_log(src, "Reply PM from-[key_name(src, TRUE, TRUE)] to External: [keywordparsedmsg]") + AH.AddInteractionPlayer("Reply PM from-[key_name(src, TRUE, FALSE)] to External: [keywordparsedmsg]") // SKYRAT EDIT ADDITION -- Player ticket viewing externalreplyamount-- send2adminchat("[AH ? "#[AH.id] " : ""]Reply: [ckey]", rawmsg) else @@ -223,13 +224,16 @@ confidential = TRUE) //omg this is dumb, just fill in both their tickets var/interaction_message = "PM from-[key_name(src, recipient, 1)] to-[key_name(recipient, src, 1)]: [keywordparsedmsg]" - admin_ticket_log(src, interaction_message) + // admin_ticket_log(src, interaction_message) // SKYRAT EDIT ORIGINAL + admin_ticket_log(src, interaction_message, FALSE) // SKYRAT EDIT CHANGE -- Player ticket viewing if(recipient != src) //reeee - admin_ticket_log(recipient, interaction_message) + // admin_ticket_log(recipient, interaction_message) // SKYRAT EDIT ORIGINAL + admin_ticket_log(recipient, interaction_message, FALSE) // SKYRAT EDIT CHANGE -- Player ticket viewing SSblackbox.LogAhelp(current_ticket.id, "Reply", msg, recipient.ckey, src.ckey) else //recipient is an admin but sender is not var/replymsg = "Reply PM from-[key_name(src, recipient, 1)]: [keywordparsedmsg]" - admin_ticket_log(src, "[replymsg]") + // admin_ticket_log(src, "[replymsg]") // SKYRAT EDIT ORIGINAL + admin_ticket_log(src, "[replymsg]", FALSE) // SKYRAT EDIT CHANGE -- Player ticket viewing to_chat(recipient, type = MESSAGE_TYPE_ADMINPM, html = "[replymsg]", @@ -281,7 +285,8 @@ html = "Admin PM to-[key_name(recipient, src, 1)]: [msg]", confidential = TRUE) - admin_ticket_log(recipient, "PM From [key_name_admin(src)]: [keywordparsedmsg]") + // admin_ticket_log(recipient, "PM From [key_name_admin(src)]: [keywordparsedmsg]") // SKYRAT EDIT ORIGINAL + admin_ticket_log(recipient, "PM From [key_name_admin(src, FALSE)]: [keywordparsedmsg]", FALSE) // SKYRAT EDIT CHANGE -- Player ticket viewing if(!already_logged) //Reply to an existing ticket SSblackbox.LogAhelp(recipient.current_ticket.id, "Reply", msg, recipient.ckey, src.ckey) diff --git a/modular_skyrat/modules/admin/code/admin_help.dm b/modular_skyrat/modules/admin/code/admin_help.dm index 7a3d2bb8102..47325400559 100644 --- a/modular_skyrat/modules/admin/code/admin_help.dm +++ b/modular_skyrat/modules/admin/code/admin_help.dm @@ -1,5 +1,6 @@ /datum/admin_help var/handler + var/list/_interactions_player //Let the initiator know their ahelp is being handled /datum/admin_help/proc/HandleIssue(key_name = key_name_admin(usr)) @@ -23,5 +24,31 @@ message_admins(msg) log_admin_private(msg) AddInteraction("Being handled by [key_name]") + AddInteractionPlayer("Being handled by [key_name_admin(usr, FALSE)]") handler = "[usr.ckey]" + +/datum/admin_help/proc/PlayerTicketPanel() + var/list/dat = list("