Compare commits

..

2 Commits

Author SHA1 Message Date
vamsi.balaga
5b55bd267b fix: build files into static/ so /assets reloads
The /assets route shared its URL with Vite's assets/ build folder, so
nginx found a real folder with no index.html and answered 403 on reload
or a direct link.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 18:59:28 +05:30
vamsi.balaga
0d2e7585b8 Revert "fix: allow Edit only on Available assets"
This reverts commit 72cdae3.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 18:57:57 +05:30
2 changed files with 11 additions and 16 deletions

View File

@ -168,21 +168,18 @@ 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, 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
// 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.
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
const canEdit = !state || isAvailable || isAssigned || isUnderRepair
// Assigned or reassigned, whichever is newer, is who has it now.
const current = currentAssignment(row)
@ -254,12 +251,7 @@ export default function AssetDetails() {
<Button icon="history" onClick={load} disabled={loading}>
{loading ? 'Refreshing…' : 'Refresh'}
</Button>
<Button
icon="edit"
onClick={() => openActivity('edit')}
disabled={!canEdit}
title={canEdit ? undefined : 'Only an Available asset can be edited. Return it first.'}
>
<Button icon="edit" onClick={() => openActivity('edit')} disabled={!canEdit}>
Edit
</Button>
<Button
@ -297,7 +289,7 @@ export default function AssetDetails() {
}
/>
{!isOpen && (
{!canEdit && (
<div className="notice notice--warning" role="status">
<Icon name="alert" size={15} />
<span>

View File

@ -4,6 +4,9 @@ import react from "@vitejs/plugin-react";
export default defineConfig(({ command }) => ({
// Relative base: frontgen places one artifact at any mount path and injects <base href>.
base: "./",
// Not "assets": the app has an /assets route, and nginx answers 403 for a real
// folder with no index.html, so reloading /asset-management/assets/ broke.
build: { assetsDir: "static" },
plugins: [react()],
server: {
port: 5173,