diff --git a/code/game/machinery/ARES/AdminAres.dm b/code/game/machinery/ARES/AdminAres.dm index 68f81b27f811..ffc3260d14bf 100644 --- a/code/game/machinery/ARES/AdminAres.dm +++ b/code/game/machinery/ARES/AdminAres.dm @@ -190,6 +190,27 @@ data["active_ref"] = active_ref data["conversations"] = logged_convos + var/list/logged_access = list() + for(var/datum/ares_ticket/access/access_ticket as anything in tickets_access) + var/lock_status = TICKET_OPEN + switch(access_ticket.ticket_status) + if(TICKET_REJECTED, TICKET_CANCELLED, TICKET_COMPLETED) + lock_status = TICKET_CLOSED + + var/list/current_ticket = list() + current_ticket["id"] = access_ticket.ticket_id + current_ticket["time"] = access_ticket.ticket_time + current_ticket["priority_status"] = access_ticket.ticket_priority + current_ticket["title"] = access_ticket.ticket_name + current_ticket["details"] = access_ticket.ticket_details + current_ticket["status"] = access_ticket.ticket_status + current_ticket["submitter"] = access_ticket.ticket_submitter + current_ticket["assignee"] = access_ticket.ticket_assignee + current_ticket["lock_status"] = lock_status + current_ticket["ref"] = "\ref[access_ticket]" + logged_access += list(current_ticket) + data["access_tickets"] = logged_access + return data @@ -285,6 +306,9 @@ if("page_deleted_1to1") admin_interface.last_menu = admin_interface.current_menu admin_interface.current_menu = "deleted_talks" + if("page_access_management") + admin_interface.last_menu = admin_interface.current_menu + admin_interface.current_menu = "access_management" // -- 1:1 Conversation -- // if("new_conversation") @@ -312,7 +336,7 @@ if(message) interface.response_from_ares(message, params["active_convo"]) var/datum/ares_record/talk_log/conversation = locate(params["active_convo"]) - var/admin_log = SPAN_STAFF_IC(SPAN_STAFF_IC("ADMINS/MODS: [SPAN_RED("[key_name(user)] replied to [conversation.user]'s ARES message")] [SPAN_GREEN("via Remote Interface")] with: [SPAN_BLUE(message)] ")) + var/admin_log = SPAN_STAFF_IC("ADMINS/MODS: [SPAN_RED("[key_name(user)] replied to [conversation.user]'s ARES message")] [SPAN_GREEN("via Remote Interface")] with: [SPAN_BLUE(message)] ") for(var/client/admin in GLOB.admins) if((R_ADMIN|R_MOD) & admin.admin_holder.rights) to_chat(admin, admin_log) @@ -322,3 +346,27 @@ admin_interface.deleted_1to1 = conversation.conversation admin_interface.last_menu = admin_interface.current_menu admin_interface.current_menu = "read_deleted" + + if("auth_access") + var/datum/ares_ticket/access/access_ticket = locate(params["ticket"]) + if(!access_ticket) + return FALSE + for(var/obj/item/card/id/identification in waiting_ids) + if(!istype(identification)) + continue + if(identification.registered_gid != access_ticket.user_id_num) + continue + identification.handle_ares_access(MAIN_AI_SYSTEM, user) + access_ticket.ticket_status = TICKET_GRANTED + playsound(src, 'sound/machines/chime.ogg', 15, 1) + return TRUE + for(var/obj/item/card/id/identification in active_ids) + if(!istype(identification)) + continue + if(identification.registered_gid != access_ticket.user_id_num) + continue + identification.handle_ares_access(MAIN_AI_SYSTEM, user) + access_ticket.ticket_status = TICKET_REVOKED + playsound(src, 'sound/machines/chime.ogg', 15, 1) + return TRUE + return FALSE diff --git a/tgui/packages/tgui/interfaces/AresAdmin.js b/tgui/packages/tgui/interfaces/AresAdmin.js index ef206b7f8d76..4d6a6023c623 100644 --- a/tgui/packages/tgui/interfaces/AresAdmin.js +++ b/tgui/packages/tgui/interfaces/AresAdmin.js @@ -17,9 +17,9 @@ const PAGES = { 'read_deleted': () => ReadingTalks, 'security': () => Security, 'requisitions': () => Requisitions, - 'antiair': () => AntiAir, 'emergency': () => Emergency, 'admin_access_log': () => AdminAccessLogs, + 'access_management': () => AccessManagement, }; export const AresAdmin = (props, context) => { @@ -343,7 +343,7 @@ const MainMenu = (props, context) => {