diff --git a/src/frontend/src/pages/build/BuildDetail.tsx b/src/frontend/src/pages/build/BuildDetail.tsx
index 75d1826bac..f7c0e0c1ae 100644
--- a/src/frontend/src/pages/build/BuildDetail.tsx
+++ b/src/frontend/src/pages/build/BuildDetail.tsx
@@ -64,6 +64,8 @@ export default function BuildDetail() {
const user = useUserState();
+ const buildStatus = useStatusCodes({ modelType: ModelType.build });
+
const {
instance: build,
refreshInstance,
@@ -269,8 +271,10 @@ export default function BuildDetail() {
) : (
- )
- // TODO: Hide if build is complete
+ ),
+ hidden:
+ build.status == buildStatus.COMPLETE ||
+ build.status == buildStatus.CANCELLED
},
{
name: 'complete-outputs',
@@ -291,6 +295,9 @@ export default function BuildDetail() {
name: 'allocated-stock',
label: t`Allocated Stock`,
icon: ,
+ hidden:
+ build.status == buildStatus.COMPLETE ||
+ build.status == buildStatus.CANCELLED,
content: build.pk ? (
) : (
@@ -355,7 +362,7 @@ export default function BuildDetail() {
model_id: build.pk
})
];
- }, [build, id, user]);
+ }, [build, id, user, buildStatus]);
const buildOrderFields = useBuildOrderFields({ create: false });
@@ -379,8 +386,6 @@ export default function BuildDetail() {
modelType: ModelType.build
});
- const buildStatus = useStatusCodes({ modelType: ModelType.build });
-
const cancelOrder = useCreateApiFormModal({
url: apiUrl(ApiEndpoints.build_order_cancel, build.pk),
title: t`Cancel Build Order`,
diff --git a/src/frontend/src/tables/settings/CustomUnitsTable.tsx b/src/frontend/src/tables/settings/CustomUnitsTable.tsx
index a26fc2152d..4da699989e 100644
--- a/src/frontend/src/tables/settings/CustomUnitsTable.tsx
+++ b/src/frontend/src/tables/settings/CustomUnitsTable.tsx
@@ -95,15 +95,15 @@ export default function CustomUnitsTable() {
let actions = [];
actions.push(
- // TODO: Adjust actions based on user permissions
newUnit.open()}
+ hidden={!user.isStaff() || !user.hasChangeRole(UserRoles.admin)}
/>
);
return actions;
- }, []);
+ }, [user]);
return (
<>