Skip to content

Commit

Permalink
Merge pull request ParadiseSS13#11577 from farie82/mhelp-take
Browse files Browse the repository at this point in the history
Ticket take now asks for a confirmation if it's already assigned + ticket/PM code refactor
  • Loading branch information
variableundefined authored Aug 12, 2019
2 parents bac1946 + 7e85ee5 commit 0b469ce
Show file tree
Hide file tree
Showing 5 changed files with 31 additions and 27 deletions.
4 changes: 2 additions & 2 deletions code/controllers/subsystem/tickets/mentor_tickets.dm
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ GLOBAL_REAL(SSmentor_tickets, /datum/controller/subsystem/tickets/mentor_tickets
name = "Mentor Tickets"
ticket_system_name = "Mentor Tickets"
ticket_name = "Mentor Ticket"
span_text = "<span class='mentorhelp'>"
span_class = "mentorhelp"
close_rights = R_MENTOR | R_ADMIN

/datum/controller/subsystem/tickets/mentor_tickets/message_staff(var/msg)
Expand All @@ -17,5 +17,5 @@ GLOBAL_REAL(SSmentor_tickets, /datum/controller/subsystem/tickets/mentor_tickets
/datum/controller/subsystem/tickets/mentor_tickets/Initialize()
close_messages = list("<font color='red' size='3'><b>- [ticket_name] Closed -</b></font>",
"<span class='boldmessage'>Please try to be as descriptive as possible in mentor helps. Mentors do not know the full situation you're in and need more information to give you a helpful response.</span>",
"[span_text]Your [ticket_name] has now been closed.</span>")
"<span class='[span_class]'>Your [ticket_name] has now been closed.</span>")
return ..()
34 changes: 18 additions & 16 deletions code/controllers/subsystem/tickets/tickets.dm
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

SUBSYSTEM_DEF(tickets)
name = "Admin Tickets"
var/span_text = "<span class='adminticket'>"
var/span_class = "adminticket"
var/ticket_system_name = "Admin Tickets"
var/ticket_name = "Admin Ticket"
var/close_rights = R_ADMIN
Expand All @@ -30,7 +30,7 @@ SUBSYSTEM_DEF(tickets)
/datum/controller/subsystem/tickets/Initialize()
close_messages = list("<font color='red' size='4'><b>- [ticket_name] Rejected! -</b></font>",
"<span class='boldmessage'>Please try to be calm, clear, and descriptive in admin helps, do not assume the staff member has seen any related events, and clearly state the names of anybody you are reporting. If you asked a question, please ensure it was clear what you were asking.</span>",
"[span_text]Your [ticket_name] has now been closed.</span>")
"<span class='[span_class]'>Your [ticket_name] has now been closed.</span>")
LAZYINITLIST(allTickets)
return ..()

Expand All @@ -40,7 +40,7 @@ SUBSYSTEM_DEF(tickets)
var/report
for(var/num in stales)
report += "[num], "
message_staff("[span_text]Tickets [report] have been open for over [TICKET_TIMEOUT / 600] minutes. Changing status to stale.</span>")
message_staff("<span class='[span_class]'>Tickets [report] have been open for over [TICKET_TIMEOUT / 600] minutes. Changing status to stale.</span>")

/datum/controller/subsystem/tickets/stat_entry()
..("Tickets: [LAZYLEN(allTickets)]")
Expand Down Expand Up @@ -80,7 +80,7 @@ SUBSYSTEM_DEF(tickets)
var/datum/ticket/existingTicket = checkForOpenTicket(C)
if(existingTicket)
existingTicket.setCooldownPeriod()
to_chat(C.mob, "[span_text]Your [ticket_name] #[existingTicket.ticketNum] remains open! Visit \"My tickets\" under the Admin Tab to view it.</span>")
to_chat(C.mob, "<span class='[span_class]'>Your [ticket_name] #[existingTicket.ticketNum] remains open! Visit \"My tickets\" under the Admin Tab to view it.</span>")
return

if(!title)
Expand All @@ -93,7 +93,7 @@ SUBSYSTEM_DEF(tickets)
T.mobControlled = C.mob

//Inform the user that they have opened a ticket
to_chat(C, "[span_text]You have opened [ticket_name] number #[(getTicketCounter() - 1)]! Please be patient and we will help you soon!</span>")
to_chat(C, "<span class='[span_class]'>You have opened [ticket_name] number #[(getTicketCounter() - 1)]! Please be patient and we will help you soon!</span>")

//Set ticket state with key N to open
/datum/controller/subsystem/tickets/proc/openTicket(N)
Expand Down Expand Up @@ -138,8 +138,10 @@ SUBSYSTEM_DEF(tickets)
var/datum/ticket/T = allTickets[N]
return T.clientName

/datum/controller/subsystem/tickets/proc/assignStaffToTicket(client/C, var/N)
/datum/controller/subsystem/tickets/proc/assignStaffToTicket(client/C, N)
var/datum/ticket/T = allTickets[N]
if(T.staffAssigned != null && T.staffAssigned != C && alert("Ticket is already assigned to [T.staffAssigned.ckey]. Are you sure you want to take it?","Take ticket","No","Yes") != "Yes")
return FALSE
T.assignStaff(C)
return TRUE

Expand All @@ -158,7 +160,7 @@ SUBSYSTEM_DEF(tickets)
var/ticketState // State of the ticket, open, closed, resolved etc
var/timeUntilStale // When the ticket goes stale
var/ticketCooldown // Cooldown before allowing the user to open another ticket.
var/staffAssigned // Staff member who has assigned themselves to this ticket
var/client/staffAssigned // Staff member who has assigned themselves to this ticket

/datum/ticket/New(tit, cont, num)
title = tit
Expand Down Expand Up @@ -367,15 +369,15 @@ UI STUFF
if(href_list["resolve"])
var/indexNum = text2num(href_list["resolve"])
if(resolveTicket(indexNum))
message_staff("[span_text][usr.client] / ([usr]) resolved [ticket_name] number [indexNum]</span>")
to_chat_safe(returnClient(indexNum), "[span_text]Your [ticket_name] has now been resolved.</span>")
message_staff("<span class='[span_class]'>[usr.client] / ([usr]) resolved [ticket_name] number [indexNum]</span>")
to_chat_safe(returnClient(indexNum), "<span class='[span_class]'>Your [ticket_name] has now been resolved.</span>")
showUI(usr)

if(href_list["detailresolve"])
var/indexNum = text2num(href_list["detailresolve"])
if(resolveTicket(indexNum))
message_staff("[span_text][usr.client] / ([usr]) resolved [ticket_name] number [indexNum]</span>")
to_chat_safe(returnClient(indexNum), "[span_text]Your [ticket_name] has now been resolved.</span>")
message_staff("<span class='[span_class]'>[usr.client] / ([usr]) resolved [ticket_name] number [indexNum]</span>")
to_chat_safe(returnClient(indexNum), "<span class='[span_class]'>Your [ticket_name] has now been resolved.</span>")
showDetailUI(usr, indexNum)

if(href_list["detailclose"])
Expand All @@ -386,15 +388,15 @@ UI STUFF
if(alert("Are you sure? This will send a negative message.",,"Yes","No") != "Yes")
return
if(closeTicket(indexNum))
message_staff("[span_text][usr.client] / ([usr]) closed [ticket_name] number [indexNum]</span>")
message_staff("<span class='[span_class]'>[usr.client] / ([usr]) closed [ticket_name] number [indexNum]</span>")
to_chat_safe(returnClient(indexNum), close_messages)
showDetailUI(usr, indexNum)


if(href_list["detailreopen"])
var/indexNum = text2num(href_list["detailreopen"])
if(openTicket(indexNum))
message_staff("[span_text][usr.client] / ([usr]) re-opened [ticket_name] number [indexNum]</span>")
message_staff("<span class='[span_class]'>[usr.client] / ([usr]) re-opened [ticket_name] number [indexNum]</span>")
showDetailUI(usr, indexNum)

if(href_list["assignstaff"])
Expand All @@ -404,8 +406,8 @@ UI STUFF

/datum/controller/subsystem/tickets/proc/takeTicket(var/index)
if(assignStaffToTicket(usr.client, index))
if(span_text == "<span class='mentorhelp'>")
message_staff("[span_text][usr.client] / ([usr]) has taken [ticket_name] number [index]</span>")
if(span_class == "mentorhelp")
message_staff("<span class='[span_class]'>[usr.client] / ([usr]) has taken [ticket_name] number [index]</span>")
else
message_staff("<span class='admin_channel'>[usr.client] / ([usr]) has taken [ticket_name] number [index]</span>", TRUE)
to_chat_safe(returnClient(index), "[span_text]Your [ticket_name] is being handled by [usr.client].</span>")
to_chat_safe(returnClient(index), "<span class='[span_class]'>Your [ticket_name] is being handled by [usr.client].</span>")
18 changes: 9 additions & 9 deletions code/modules/admin/verbs/adminpm.dm
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
set category = null
set name = "Admin PM Mob"
if(!holder)
to_chat(src, "<font color='red'>Error: Admin-PM-Context: Only administrators may use this command.</font>")
to_chat(src, "<span class='danger'>Error: Admin-PM-Context: Only administrators may use this command.</span>")
return
if( !ismob(M) || !M.client ) return
cmd_admin_pm(M.client,null)
Expand All @@ -14,7 +14,7 @@
set category = "Admin"
set name = "Admin PM Name"
if(!holder)
to_chat(src, "<font color='red'>Error: Admin-PM-Panel: Only administrators may use this command.</font>")
to_chat(src, "<span class='danger'>Error: Admin-PM-Panel: Only administrators may use this command.</span>")
return
var/list/client/targets[0]
for(var/client/T)
Expand All @@ -37,7 +37,7 @@
set category = "Admin"
set name = "Admin PM Key"
if(!holder)
to_chat(src, "<font color='red'>Error: Admin-PM-Panel: Only administrators may use this command.</font>")
to_chat(src, "<span class='danger'>Error: Admin-PM-Panel: Only administrators may use this command.</span>")
return
var/list/client/targets[0]
for(var/client/T)
Expand All @@ -60,7 +60,7 @@
//Fetching a message if needed. src is the sender and C is the target client
/client/proc/cmd_admin_pm(whom, msg, type = "PM")
if(prefs.muted & MUTE_ADMINHELP)
to_chat(src, "<font color='red'>Error: Private-Message: You are unable to use PM-s (muted).</font>")
to_chat(src, "<span class='danger'>Error: Private-Message: You are unable to use PM-s (muted).</span>")
return

var/client/C
Expand Down Expand Up @@ -129,7 +129,7 @@
recieve_pm_type = holder.rank

else if(!C.holder)
to_chat(src, "<font color='red'>Error: Admin-PM: Non-admin to non-admin PM communication is forbidden.</font>")
to_chat(src, "<span class='danger'>Error: Admin-PM: Non-admin to non-admin PM communication is forbidden.</span>")
return

var/recieve_message = ""
Expand Down Expand Up @@ -161,7 +161,7 @@
var/emoji_msg = "<span class='emoji_enabled'>[msg]</span>"
recieve_message = "<span class='[recieve_span]'>[type] from-<b>[recieve_pm_type][C.holder ? key_name(src, TRUE, type) : key_name_hidden(src, TRUE, type)]</b>: [emoji_msg]</span>"
to_chat(C, recieve_message)
to_chat(src, "<font color='blue'>[send_pm_type][type] to-<b>[holder ? key_name(C, TRUE, type) : key_name_hidden(C, TRUE, type)]</b>: [emoji_msg]</font>")
to_chat(src, "<span class='pmsend'>[send_pm_type][type] to-<b>[holder ? key_name(C, TRUE, type) : key_name_hidden(C, TRUE, type)]</b>: [emoji_msg]</span>")

/*if(holder && !C.holder)
C.last_pm_recieved = world.time
Expand Down Expand Up @@ -215,7 +215,7 @@

/client/proc/cmd_admin_irc_pm()
if(prefs.muted & MUTE_ADMINHELP)
to_chat(src, "<font color='red'>Error: Private-Message: You are unable to use PM-s (muted).</font>")
to_chat(src, "<span class='danger'>Error: Private-Message: You are unable to use PM-s (muted).</span>")
return

var/msg = clean_input("Message:", "Private message to admins on IRC / 400 character limit", , src) as text|null
Expand All @@ -232,14 +232,14 @@

send2adminirc("PlayerPM from [key_name(src)]: [html_decode(msg)]")

to_chat(src, "<font color='blue'>IRC PM to-<b>IRC-Admins</b>: [msg]</font>")
to_chat(src, "<span class='pmsend'>IRC PM to-<b>IRC-Admins</b>: [msg]</span>")

log_admin("PM: [key_name(src)]->IRC: [msg]")
for(var/client/X in GLOB.admins)
if(X == src)
continue
if(check_rights(R_ADMIN|R_MOD|R_MENTOR, 0, X.mob))
to_chat(X, "<B><font color='blue'>PM: [key_name(src, TRUE, 0)]-&gt;IRC-Admins:</B> <span class='notice'>[msg]</span></font>")
to_chat(X, "<B><span class='pmsend'>PM: [key_name(src, TRUE, 0)]-&gt;IRC-Admins:</B> <span class='notice'>[msg]</span></span>")

/client/verb/open_pms_ui()
set name = "My PMs"
Expand Down
1 change: 1 addition & 0 deletions goon/browserassets/css/browserOutput-dark.css
Original file line number Diff line number Diff line change
Expand Up @@ -261,6 +261,7 @@ em {font-style: normal; font-weight: bold;}
.mentorhelp {color: #0077bb; font-weight: bold;}
.adminhelp {color: #aa0000; font-weight: bold;}
.playerreply {color: #8800bb; font-weight: bold;}
.pmsend {color: #0000ff;}
.name { font-weight: bold;}
.say {}
.yell { font-weight: bold;}
Expand Down
1 change: 1 addition & 0 deletions goon/browserassets/css/browserOutput.css
Original file line number Diff line number Diff line change
Expand Up @@ -258,6 +258,7 @@ em {font-style: normal; font-weight: bold;}
.mentorhelp {color: #0077bb; font-weight: bold;}
.adminhelp {color: #aa0000; font-weight: bold;}
.playerreply {color: #8800bb; font-weight: bold;}
.pmsend {color: #0000ff;}
.name { font-weight: bold;}
.say {}
.yell { font-weight: bold;}
Expand Down

0 comments on commit 0b469ce

Please sign in to comment.