diff --git a/src/pages/assets/AssetDetails.jsx b/src/pages/assets/AssetDetails.jsx index dc99191..ddf9556 100644 --- a/src/pages/assets/AssetDetails.jsx +++ b/src/pages/assets/AssetDetails.jsx @@ -168,18 +168,21 @@ export default function AssetDetails() { const isAssigned = isAssetState(row, ASSET_STATE.ASSIGNED) const isAvailable = isAssetState(row, ASSET_STATE.AVAILABLE) const isUnderRepair = isAssetState(row, ASSET_STATE.UNDER_REPAIR) - // ASSIGNED and Send for Repair run in Available; Reassigned in Assigned; Lost - // in either; Repair Completed in Under Repair; Edit in all three. RETURNED - // runs in any state but Closed, and the runtime says if the state doesn't - // allow it. If the view sends no state, let the runtime decide rather than - // hiding the buttons. + // ASSIGNED, Send for Repair and Edit (Asset details) run in Available; + // Reassigned in Assigned; Lost in either; Repair Completed in Under Repair. + // The builder has Asset details in Available only, so the runtime rejects it + // elsewhere ("Asset details" is not allowed in "Assigned"). RETURNED runs in + // any state but Closed, and the runtime says if the state doesn't allow it. + // If the view sends no state, let the runtime decide rather than hiding the + // buttons. + const isOpen = !state || isAvailable || isAssigned || isUnderRepair const canAssign = !state || isAvailable const canReassign = !state || isAssigned const canReturn = !isAssetState(row, ASSET_STATE.CLOSED) && !isEndState(row) const canReportLost = !state || isAvailable || isAssigned const canSendForRepair = !state || isAvailable const canCompleteRepair = !state || isUnderRepair - const canEdit = !state || isAvailable || isAssigned || isUnderRepair + const canEdit = !state || isAvailable // Assigned or reassigned, whichever is newer, is who has it now. const current = currentAssignment(row) @@ -251,7 +254,12 @@ export default function AssetDetails() { -