Files
Paradise/code/modules/paperwork/fax.dm
Mars 4fa906951a Use of the flexible macro
Mostly regex to catch every \ref with the same formatting, with their
reference and display name.
2018-08-16 20:04:53 +02:00

88 lines
3.1 KiB
Plaintext

// 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 = "<A align='right' href='?src=[UID()];refreshfaxpanel=1'>Refresh</A>"
html += "<A align='right' href='?src=[UID()];AdminFaxCreate=1;faxtype=Administrator'>Create Fax</A>"
html += "<div class='block'>"
html += "<h2>Admin Faxes</h2>"
html += "<table>"
html += "<tr style='font-weight:bold;'><td width='150px'>Name</td><td width='150px'>From Department</td><td width='150px'>To Department</td><td width='75px'>Sent At</td><td width='150px'>Sent By</td><td width='50px'>View</td><td width='50px'>Reply</td><td width='75px'>Replied To</td></td></tr>"
for(var/datum/fax/admin/A in adminfaxes)
html += "<tr>"
html += "<td>[A.name]</td>"
html += "<td>[A.from_department]</td>"
html += "<td>[A.to_department]</td>"
html += "<td>[station_time_timestamp("hh:mm:ss", A.sent_at)]</td>"
if(A.sent_by)
var/mob/living/S = A.sent_by
html += "<td>[ADMIN_PP(S,"[S.name]")]</td>"
else
html += "<td>Unknown</td>"
html += "<td><A align='right' href='?src=[UID()];AdminFaxView=\ref[A.message]'>View</A></td>"
if(!A.reply_to)
if(A.from_department == "Administrator")
html += "<td>N/A</td>"
else
html += "<td><A align='right' href='?src=[UID()];AdminFaxCreate=\ref[A.sent_by];originfax=\ref[A.origin];faxtype=[A.to_department];replyto=\ref[A.message]'>Reply</A></td>"
html += "<td>N/A</td>"
else
html += "<td>N/A</td>"
html += "<td><A align='right' href='?src=[UID()];AdminFaxView=\ref[A.reply_to]'>Original</A></td>"
html += "</tr>"
html += "</table>"
html += "</div>"
html += "<div class='block'>"
html += "<h2>Departmental Faxes</h2>"
html += "<table>"
html += "<tr style='font-weight:bold;'><td width='150px'>Name</td><td width='150px'>From Department</td><td width='150px'>To Department</td><td width='75px'>Sent At</td><td width='150px'>Sent By</td><td width='175px'>View</td></td></tr>"
for(var/datum/fax/F in faxes)
html += "<tr>"
html += "<td>[F.name]</td>"
html += "<td>[F.from_department]</td>"
html += "<td>[F.to_department]</td>"
html += "<td>[station_time_timestamp("hh:mm:ss", F.sent_at)]</td>"
if(F.sent_by)
var/mob/living/S = F.sent_by
html += "<td>[ADMIN_PP(S,"[S.name]")]</td>"
else
html += "<td>Unknown</td>"
html += "<td><A align='right' href='?src=[UID()];AdminFaxView=\ref[F.message]'>View</A></td>"
html += "</tr>"
html += "</table>"
html += "</div>"
var/datum/browser/popup = new(user, "fax_panel", "Fax Panel", 950, 450)
popup.set_content(html)
popup.open()