styling and update

This commit is contained in:
Birdtalon
2017-10-01 15:37:38 +01:00
parent cd83385406
commit 98d9919712
4 changed files with 66 additions and 19 deletions
+15 -5
View File
@@ -7,7 +7,7 @@ var/global/datum/adminTicketHolder/globAdminTicketHolder = new /datum/adminTicke
//Defines
//Deciseconds until timeout
#define ADMIN_TICKET_TIMEOUT 100
#define ADMIN_TICKET_TIMEOUT 3000
//Decisecions before opening another ticket
#define ADMIN_TICKET_DUPLICATE_COOLDOWN 300
@@ -38,7 +38,8 @@ var/global/datum/adminTicketHolder/globAdminTicketHolder = new /datum/adminTicke
/datum/adminTicketHolder/proc/purgeAllTickets() // Delete ALL tickets
QDEL_LIST(allTickets)
message_admins("<span class='adminticket'>[usr] purged all admin tickets!</span>")
message_admins("<span class='adminticket'>[usr.client] purged all admin tickets!</span>")
ticketCounter = 1
/datum/adminTicketHolder/proc/closeAllOpenTickets() // Close all open tickets
for(var/i in allTickets)
@@ -120,11 +121,9 @@ var/global/datum/adminTicketHolder/globAdminTicketHolder = new /datum/adminTicke
/datum/admin_ticket/proc/beginStaleCount()
if(!src)
to_chat(world, "DEBUG: NO SRC")
return
while(world.time < timeUntilStale)
sleep(200)
to_chat(world, "DEBUG: CHECKING STATE OF TICKET [ticketNum]")
if(ticketState == ADMIN_TICKET_OPEN && world.time > timeUntilStale)
message_admins("<span class='adminticket'>Ticket #[ticketNum] has been open for [ADMIN_TICKET_TIMEOUT * 0.1] seconds. Changing status to stale.</span>")
ticketState = ADMIN_TICKET_STALE
@@ -135,4 +134,15 @@ var/global/datum/adminTicketHolder/globAdminTicketHolder = new /datum/adminTicke
/datum/admin_ticket/proc/setLastAdminResponse(var/client/C)
lastAdminResponse = C
lastResponseTime = world.time
lastResponseTime = worldtime2text()
/datum/admin_ticket/proc/state2text()
switch(ticketState)
if(ADMIN_TICKET_OPEN)
return "<font color='green'>OPEN</font>"
if(ADMIN_TICKET_RESOLVED)
return "<font color='blue'>RESOLVED</font>"
if(ADMIN_TICKET_CLOSED)
return "<font color='red'>CLOSED</font>"
if(ADMIN_TICKET_STALE)
return "<font color='orange'>STALE</font>"
+38 -11
View File
@@ -8,19 +8,35 @@
dat +="<a href='?src=[UID()];refresh=1'>Refresh</a><br /><a href='?src=[UID()];showopen=1'>Open Tickets</a><a href='?src=[UID()];showresolved=1'>Resolved Tickets</a><a href='?src=[UID()];showclosed=1'>Closed Tickets</a>"
if(tab == ADMIN_TICKET_OPEN)
dat += "<h2>Open Tickets</h2>"
dat += "<table class='admintickets'>"
dat +="<tr class='admintickets'><th>Control</th><th>Ticket</th><th>Detail</th></tr>"
dat += "<table class='admintickets'>"
dat +="<tr class='admintickets'><th>Control</th><th>Ticket</th><th>Detail</th></tr>"
if(tab == ADMIN_TICKET_OPEN)
for(var/T in allTickets)
var/datum/admin_ticket/ticket = T
if(ticket.ticketState == ADMIN_TICKET_OPEN || ticket.ticketState == ADMIN_TICKET_STALE)
dat += "<tr class='admintickets'><td><a href='?src=[UID()];resolve=[ticket.ticketNum]'>Resolve</a><a href='?src=[UID()];close=[ticket.ticketNum]'>Close</a></td> <td><b>Ticket #[ticket.ticketNum]: at [ticket.timeOpened]: [ticket.content]</td> <td><a href='?src=[UID()];details=[ticket.ticketNum]'>Details</a></td>"
else
continue
else if(tab == ADMIN_TICKET_RESOLVED)
dat += "<h2>Resolved Tickets</h2>"
for(var/T in allTickets)
var/datum/admin_ticket/ticket = T
if(ticket.ticketState == ADMIN_TICKET_RESOLVED)
dat += "<tr><td><a href='?src=[UID()];resolve=[ticket.ticketNum]'>Resolve</a><a href='?src=[UID()];close=[ticket.ticketNum]'>Close</a></td> <td><b>Ticket #[ticket.ticketNum]: at [ticket.timeOpened]: [ticket.content]</td> <td><a href='?src=[UID()];details=[ticket.ticketNum]'>Details</a></td>"
else
continue
else if(tab == ADMIN_TICKET_CLOSED)
dat += "<h2>Closed Tickets</h2>"
for(var/T in allTickets)
var/datum/admin_ticket/ticket = T
if(ticket.ticketState == ADMIN_TICKET_CLOSED)
dat += "<tr class='admintickets'><td><a href='?src=[UID()];resolve=[ticket.ticketNum]'>Resolve</a><a href='?src=[UID()];close=[ticket.ticketNum]'>Close</a></td> <td><b>Ticket #[ticket.ticketNum]: at [ticket.timeOpened]: [ticket.content]</td> <td><a href='?src=[UID()];details=[ticket.ticketNum]'>Details</a></td>"
else
continue
dat += "</table>"
dat += "</table>"
return dat
/* return dat
else if(tab == ADMIN_TICKET_RESOLVED)
dat += "<h2>Resolved Tickets</h2>"
dat += "<table class='admintickets'>"
@@ -35,7 +51,7 @@
dat += "</table>"
return dat
else if(tab == ADMIN_TICKET_CLOSED)
dat += "<h2>Closed Tickets</h2>"
dat += "<table class='admintickets'>"
@@ -49,8 +65,8 @@
continue
dat += "</table>"
return dat
*/
return dat
/datum/adminTicketHolder/proc/showUI(var/client/C, var/tab)
var/dat = null
@@ -61,16 +77,22 @@
/datum/adminTicketHolder/proc/showDetailUI(var/client/C, var/ticketID)
var/datum/admin_ticket/T = globAdminTicketHolder.allTickets[ticketID]
var/status = "[T.state2text()]"
var/dat = "<h1>Admin Tickets</h1>"
dat +="<a href='?src=[UID()];refreshdetail=[T.ticketNum]'>Refresh</a>"
dat += "<h2>Ticket #[T.ticketNum]</h2>"
dat += "<h4>[T.clientName] / [T.mobControlled] opened this ticket at [T.timeOpened] at location [T.locationSent]</h4>"
dat += "<h3>[T.clientName] / [T.mobControlled] opened this ticket at [T.timeOpened] at location [T.locationSent]</h3>"
dat += "<h4>Ticket Status: <font color='red'>[status]</font>"
dat += "<p>[T.content]</p>"
dat += "<a href='?src=[UID()];reopen=[T.ticketNum]'>Re-Open</a><a href='?src=[UID()];resolve=[T.ticketNum]'>Resolve</a><a href='?src=[UID()];close=[T.ticketNum]'>Close</a>"
dat += "<b>Last Admin Response:</b> [T.lastAdminResponse] at [T.lastResponseTime]"
var/datum/browser/popup = new(usr, "adminticketsdetail", "Admin Ticket #[T.ticketNum]", 1200, 600)
popup.set_content(dat)
popup.open()
@@ -81,6 +103,11 @@
showUI(usr)
return
if(href_list["refreshdetail"])
var/indexNum = text2num(href_list["refreshdetail"])
showDetailUI(usr, indexNum)
return
if(href_list["showopen"])
showUI(usr, ADMIN_TICKET_OPEN)
return
@@ -100,14 +127,14 @@
var/indexNum = text2num(href_list["resolve"])
globAdminTicketHolder.resolveTicket(indexNum)
message_admins("<span class='adminticket'>[usr.client] / ([usr]) resolved admin ticket number [indexNum]</span>")
showUI(usr)
showUI(usr, ADMIN_TICKET_RESOLVED)
return
if(href_list["close"])
var/indexNum = text2num(href_list["close"])
globAdminTicketHolder.closeTicket(indexNum)
message_admins("<span class='adminticket'>[usr.client] / ([usr]) closed admin ticket number [indexNum]</span>")
showUI(usr)
showUI(usr, ADMIN_TICKET_CLOSED)
return
else if(href_list["reopen"])
@@ -4,10 +4,20 @@
set name = "Restart Admin Ticket System"
set category = "Tickets"
if(!holder)
return
if(!check_rights(R_DEBUG))
return
if(!globAdminTicketHolder)
var/global/datum/adminTicketHolder/globAdminTicketHolder = new /datum/adminTicketHolder
else
to_chat(world, "Already one running.")
if(alert("Are you sure you want to reboot the admin ticket system?",,"Yes","No") != "Yes")
return
message_admins("<span class='admintickets'>Restarting Admin Ticket System!</span>")
globAdminTicketHolder = new /datum/adminTicketHolder
message_admins("<span class='admintickets'>Admin Ticket System Restarted!</span>")
/client/proc/vvadmintickets()
set name = "Debug Admin Tickets"
@@ -32,4 +42,4 @@
set category = "Tickets"
var/testmsg = pick("REEEEEEE", "HELP ME I'm NOOB!!", "PLEASE ADMIN REVIVE ME", "IS THIS LEGIT?", "some1 killed me 4noraisen", "birdtalon is powergaming again")
globAdminTicketHolder.newTicket(src, testmsg)
globAdminTicketHolder.newTicket(src, testmsg)