mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-25 22:12:58 +01:00
@@ -297,7 +297,7 @@ GLOBAL_LIST_EMPTY(ticket_panels)
|
||||
if("close")
|
||||
ticket.close(usr.client)
|
||||
if("pm")
|
||||
if(check_rights(R_MOD|R_ADMIN) && ticket.owner != usr.ckey)
|
||||
if(ticket.owner != usr.ckey && check_rights(R_MOD|R_ADMIN))
|
||||
usr.client.cmd_admin_pm(client_by_ckey(ticket.owner), ticket = ticket)
|
||||
else if(ticket.status == TICKET_ASSIGNED)
|
||||
// manually check that the target client exists here as to not spam the usr for each logged out admin on the ticket
|
||||
|
||||
@@ -46,9 +46,10 @@
|
||||
return
|
||||
|
||||
var/receive_pm_type = "Player"
|
||||
var/sender_is_ahelp_staff = check_rights(R_ADMIN|R_MOD, FALSE)
|
||||
//mod PMs are maroon
|
||||
//PMs sent from admins and mods display their rank
|
||||
if(holder)
|
||||
if(sender_is_ahelp_staff)
|
||||
if(!C.holder && holder.fakekey)
|
||||
receive_pm_type = "Admin"
|
||||
else
|
||||
@@ -61,12 +62,12 @@
|
||||
//get message text, limit it's length.and clean/escape html
|
||||
// only sanitize it if we're getting it from this proc
|
||||
if(!msg)
|
||||
msg = input(src,"Message:", "Private message to [key_name(C, 0, holder ? 1 : 0)]") as text|null
|
||||
msg = input(src,"Message:", "Private message to [key_name(C, 0, sender_is_ahelp_staff ? 1 : 0)]") as text|null
|
||||
|
||||
if(!msg)
|
||||
return
|
||||
if(!C)
|
||||
if(holder)
|
||||
if(sender_is_ahelp_staff)
|
||||
to_chat(src, SPAN_WARNING("Error: Admin-PM: Client not found."))
|
||||
else
|
||||
to_chat(src, SPAN_WARNING("Error: Private-Message: Client not found. They may have lost connection, so try using an adminhelp!"))
|
||||
@@ -81,7 +82,7 @@
|
||||
// searches for an open ticket, in case an outdated link was clicked
|
||||
// I'm paranoid about the problems that could be caused by accidentally finding the wrong ticket, which is why this is strict
|
||||
if(isnull(ticket))
|
||||
if(holder)
|
||||
if(sender_is_ahelp_staff)
|
||||
ticket = get_open_ticket_by_ckey(C.ckey) // it's more likely an admin clicked a different PM link, so check admin -> player with ticket first
|
||||
if(isnull(ticket) && C.holder)
|
||||
ticket = get_open_ticket_by_ckey(src.ckey) // if still no dice, try an admin with ticket -> admin
|
||||
@@ -90,7 +91,7 @@
|
||||
|
||||
|
||||
if(isnull(ticket)) // finally, accept that no ticket exists
|
||||
if(holder && src != C)
|
||||
if(sender_is_ahelp_staff && src != C)
|
||||
ticket = new /datum/ticket(C.ckey)
|
||||
ticket.take(src)
|
||||
else
|
||||
@@ -101,13 +102,13 @@
|
||||
return
|
||||
|
||||
// if the sender is an admin and they're not assigned to the ticket, ask them if they want to take/join it, unless the admin is responding to their own ticket
|
||||
if(holder && !(src.ckey in ticket.assigned_admins))
|
||||
if(sender_is_ahelp_staff && !(src.ckey in ticket.assigned_admins))
|
||||
if(src.ckey != ticket.owner && !ticket.take(src))
|
||||
return
|
||||
|
||||
var/receive_message
|
||||
|
||||
if(holder && !C.holder)
|
||||
if(sender_is_ahelp_staff && !C.holder)
|
||||
receive_message = "<span class='pm'><span class='howto'><b>-- Click the [receive_pm_type]'s name to reply --</b></span></span>\n"
|
||||
if(C.adminhelped)
|
||||
to_chat(C, receive_message)
|
||||
@@ -126,8 +127,8 @@
|
||||
adminhelp(reply) //sender has left, adminhelp instead
|
||||
return
|
||||
|
||||
var/sender_message = "<span class='pm'><span class='out'>" + create_text_tag("PM <-", src) + " to <span class='name'>[get_options_bar(C, holder ? 1 : 0, holder ? 1 : 0, 1)]</span>"
|
||||
if(holder)
|
||||
var/sender_message = "<span class='pm'><span class='out'>" + create_text_tag("PM <-", src) + " to <span class='name'>[get_options_bar(C, sender_is_ahelp_staff ? 1 : 0, sender_is_ahelp_staff ? 1 : 0, 1)]</span>"
|
||||
if(sender_is_ahelp_staff)
|
||||
sender_message += " (<a href='byond://?_src_=holder;take_ticket=[REF(ticket)]'>[(ticket.status == TICKET_OPEN) ? "TAKE" : "JOIN"]</a>) (<a href='byond://?src=[REF(usr)];close_ticket=[REF(ticket)]'>CLOSE</a>)"
|
||||
sender_message += ": <span class='message linkify'>[generate_ahelp_key_words(mob, msg)]</span>"
|
||||
else
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
# Your name.
|
||||
author: JohnWildkins
|
||||
|
||||
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
|
||||
delete-after: True
|
||||
|
||||
# Any changes you've made. See valid prefix list above.
|
||||
# INDENT WITH TWO SPACES. NOT TABS. SPACES.
|
||||
# SCREW THIS UP AND IT WON'T WORK.
|
||||
# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit.
|
||||
# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog.
|
||||
changes:
|
||||
- bugfix: "Fixed devs and other non-modmin staff getting errors attempting to submit/reply to ahelps."
|
||||
Reference in New Issue
Block a user