// Fax datum - holds all faxes sent during the round
var/list/faxes = list()
var/list/adminfaxes = list()
/datum/fax
var/name = "fax"
var/from_department = null
var/to_department = null
var/origin = null
var/message = null
var/sent_by = null
var/sent_at = null
/datum/fax/New()
faxes += src
/datum/fax/admin
var/list/reply_to = null
/datum/fax/admin/New()
adminfaxes += src
// Fax panel - lets admins check all faxes sent during the round
/client/proc/fax_panel()
set name = "Fax Panel"
set category = "Event"
if(holder)
holder.fax_panel(usr)
feedback_add_details("admin_verb","FXP") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
return
/datum/admins/proc/fax_panel(var/mob/living/user)
var/html = "Refresh"
html += "Create Fax"
html += "
"
html += "
Admin Faxes
"
html += "
"
html += "| Name | From Department | To Department | Sent At | Sent By | View | Reply | Replied To |
"
for(var/datum/fax/admin/A in adminfaxes)
html += ""
html += "| [A.name] | "
html += "[A.from_department] | "
html += "[A.to_department] | "
html += "[worldtime2text(A.sent_at)] | "
if(A.sent_by)
var/mob/living/S = A.sent_by
html += "[S.name] | "
else
html += "Unknown | "
html += "View | "
if(!A.reply_to)
if(A.from_department == "Administrator")
html += "N/A | "
else
html += "Reply | "
html += "N/A | "
else
html += "N/A | "
html += "Original | "
html += "
"
html += "
"
html += "
"
html += ""
html += "
Departmental Faxes
"
html += "
"
html += "| Name | From Department | To Department | Sent At | Sent By | View |
"
for(var/datum/fax/F in faxes)
html += ""
html += "| [F.name] | "
html += "[F.from_department] | "
html += "[F.to_department] | "
html += "[worldtime2text(F.sent_at)] | "
if(F.sent_by)
var/mob/living/S = F.sent_by
html += "[S.name] | "
else
html += "Unknown | "
html += "View | "
html += "
"
html += "
"
html += "
"
var/datum/browser/popup = new(user, "fax_panel", "Fax Panel", 950, 450)
popup.set_content(html)
popup.open()