mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-13 17:14:47 +01:00
Fixes a runtime for ModPCs running Plexagon Access Management without a secondary card slot (#53597)
As said by the title. Also fixes an oversight where the Plexagon HR Core app (job management) was reading worn ID rather than inserted ID. Also adds names to differentiate between primary and secondary card readers so both show on the screwdriver remove menu. Also makes using IDs on a modPC actually call the InsertID proc, so that having the secondary ID come first in the list of parts doesn't give it priority. Co-authored-by: Bobbahbrown <bobbahbrown@gmail.com>
This commit is contained in:
@@ -320,32 +320,31 @@
|
||||
/datum/computer_file/program/card_mod/ui_data(mob/user)
|
||||
var/list/data = get_header_data()
|
||||
|
||||
data["station_name"] = station_name()
|
||||
|
||||
var/obj/item/computer_hardware/card_slot/card_slot2
|
||||
var/obj/item/computer_hardware/printer/printer
|
||||
|
||||
if(computer)
|
||||
card_slot2 = computer.all_components[MC_CARD2]
|
||||
printer = computer.all_components[MC_PRINT]
|
||||
|
||||
data["station_name"] = station_name()
|
||||
|
||||
if(computer)
|
||||
data["have_id_slot"] = !!(card_slot2)
|
||||
data["have_printer"] = !!printer
|
||||
data["have_printer"] = !!(printer)
|
||||
else
|
||||
data["have_id_slot"] = FALSE
|
||||
data["have_printer"] = FALSE
|
||||
|
||||
data["authenticated"] = authenticated
|
||||
if(!card_slot2)
|
||||
return data //We're just gonna error out on the js side at this point anyway
|
||||
|
||||
if(computer)
|
||||
var/obj/item/card/id/id_card = card_slot2.stored_card
|
||||
data["has_id"] = !!id_card
|
||||
data["id_name"] = id_card ? id_card.name : "-----"
|
||||
if(id_card)
|
||||
data["id_rank"] = id_card.assignment ? id_card.assignment : "Unassigned"
|
||||
data["id_owner"] = id_card.registered_name ? id_card.registered_name : "-----"
|
||||
data["access_on_card"] = id_card.access
|
||||
var/obj/item/card/id/id_card = card_slot2.stored_card
|
||||
data["has_id"] = !!id_card
|
||||
data["id_name"] = id_card ? id_card.name : "-----"
|
||||
if(id_card)
|
||||
data["id_rank"] = id_card.assignment ? id_card.assignment : "Unassigned"
|
||||
data["id_owner"] = id_card.registered_name ? id_card.registered_name : "-----"
|
||||
data["access_on_card"] = id_card.access
|
||||
|
||||
return data
|
||||
|
||||
|
||||
@@ -52,14 +52,10 @@
|
||||
if(..())
|
||||
return
|
||||
|
||||
var/authed = FALSE
|
||||
var/mob/user = usr
|
||||
var/obj/item/card/id/user_id = user.get_idcard()
|
||||
if(user_id)
|
||||
if(ACCESS_CHANGE_IDS in user_id.access)
|
||||
authed = TRUE
|
||||
var/obj/item/computer_hardware/card_slot/card_slot = computer.all_components[MC_CARD]
|
||||
var/obj/item/card/id/user_id = card_slot?.stored_card
|
||||
|
||||
if(!authed)
|
||||
if(!user_id || !(ACCESS_CHANGE_IDS in user_id.access))
|
||||
return
|
||||
|
||||
switch(action)
|
||||
@@ -107,10 +103,10 @@
|
||||
var/list/data = get_header_data()
|
||||
|
||||
var/authed = FALSE
|
||||
var/obj/item/card/id/user_id = user.get_idcard(FALSE)
|
||||
if(user_id)
|
||||
if(ACCESS_CHANGE_IDS in user_id.access)
|
||||
authed = TRUE
|
||||
var/obj/item/computer_hardware/card_slot/card_slot = computer.all_components[MC_CARD]
|
||||
var/obj/item/card/id/user_id = card_slot?.stored_card
|
||||
if(user_id && (ACCESS_CHANGE_IDS in user_id.access))
|
||||
authed = TRUE
|
||||
|
||||
data["authed"] = authed
|
||||
|
||||
|
||||
Reference in New Issue
Block a user