Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- mob/verb/Make_A_Ticket()
- var/Title = input("Label","Ticket","None") as text
- if(!Title||Title == "None"||Title in Ticket_Names) return
- var/Ticket = input("Description","Ticket","None") as message
- if(!Ticket||Ticket == "None") return
- Ticketer_System.Submit_Ticket(src,Ticket,Title)
- return
- mob/verb/Look_At_Ticket(var/obj/Ticket/T in Ticket_Book)
- Ticketer_System.Read_Ticket(src,T)
- return
- mob/verb/Update_A_Ticket(var/obj/Ticket/T in Ticket_Book)
- Ticketer_System.Update_Ticket(src,T)
- return
- mob/verb/Delete_A_Ticket(var/obj/Ticket/T in Ticket_Book)
- Ticketer_System.Delete_Ticket(src,T)
- return
- var/Tickets/Ticketer_System = new()
- var/Ticket_Book = list()
- var/Ticket_Names = list()
- obj/Ticket
- var/Message
- var/Updated_Message
- var/Creator
- var/Status
- Tickets
- proc/Delete_Ticket(mob/M,obj/Ticket/T)
- world << "[M] removed [T.Creator]'s [T.name]([T.Status])"
- Ticket_Names -= T.name
- del T
- proc/Update_Ticket_Continue(var/X,obj/Ticket/T,mob/M)
- if(!X) return
- if(X == "Review")
- T.Status = "<font color = blue>Reviewing...</font>"
- var/Feedback = input("Any Comments?","FeedBack","None") as message
- if(!Feedback||Feedback == "None") Feedback = "<font color = blue>[M.key] : No Additional Comments.</font>"
- T.Updated_Message = "[T.Message]<br><font color = blue>[Feedback]</font>"
- if(X == "Flag")
- T.Status = "<font color = red>Flagged!</font>"
- _EXPLAIN_
- var/Feedback = input("Explain why this Ticket was flagged:","FeedBack","None") as text
- if(!Feedback||Feedback == "None") goto _EXPLAIN_
- T.Updated_Message = "[T.Message]<br><font color = red>[M.key] : [Feedback]</font>"
- if(X == "Solve")
- T.Status = "<font color = green>Solved!</font>"
- _SOLVED_
- var/Feedback = input("Explain how this Ticket was solved:","FeedBack","None") as text
- if(!Feedback||Feedback == "None") goto _SOLVED_
- T.Updated_Message = "[T.Message]<br><font color = green>[M.key] : [Feedback]</font>"
- proc/Update_Ticket(mob/Updater,obj/Ticket/T)
- switch(alert(Updater,"Command?","Update","Review","Flag","Solve"))
- if("Review") Ticketer_System.Update_Ticket_Continue("Review",T,Updater)
- if("Flag") Ticketer_System.Update_Ticket_Continue("Flag",T,Updater)
- if("Solve") Ticketer_System.Update_Ticket_Continue("Solve",T,Updater)
- proc/Submit_Ticket(mob/Ticketer,Ticket,Title)
- var/obj/Ticket/T = new /obj/Ticket
- T.Creator = "[Ticketer]"
- T.Message = Ticket
- T.Status = "Submitted"
- T.name = Title
- Ticket_Book += T
- Ticket_Names += T.name
- return
- proc/Read_Ticket(mob/M,obj/Ticket/T)
- M << "[T.name]([T.Status]) by [T.Creator]"
- M << "<br>"
- if(T.Updated_Message) M << T.Updated_Message
- else M << T.Message
- return
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement