Skip to content

Commit 1dd4f40

Browse files
authored
Merge branch 'main' into chas/add-comments-to-findings
2 parents eaa83aa + 2121ae0 commit 1dd4f40

4 files changed

Lines changed: 11 additions & 29 deletions

File tree

‎apps/app/src/app/(app)/[orgId]/overview/components/CreateFindingSheet.tsx‎

Lines changed: 2 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ import {
2929
DrawerContent,
3030
DrawerHeader,
3131
DrawerTitle,
32-
Input,
3332
Select,
3433
SelectContent,
3534
SelectGroup,
@@ -56,7 +55,6 @@ type TargetKind =
5655
| 'member'
5756
| 'device'
5857
| 'evidenceFormType'
59-
| 'evidenceSubmission'
6058
| 'area';
6159

6260
const TARGET_OPTIONS: { value: TargetKind; label: string }[] = [
@@ -67,7 +65,6 @@ const TARGET_OPTIONS: { value: TargetKind; label: string }[] = [
6765
{ value: 'member', label: 'Person' },
6866
{ value: 'device', label: 'Device' },
6967
{ value: 'evidenceFormType', label: 'Document type' },
70-
{ value: 'evidenceSubmission', label: 'Evidence submission' },
7168
{ value: 'area', label: 'Area' },
7269
];
7370

@@ -232,8 +229,6 @@ export function CreateFindingSheet({
232229
else if (values.targetKind === 'risk' && targetId) payload.riskId = targetId;
233230
else if (values.targetKind === 'member' && targetId) payload.memberId = targetId;
234231
else if (values.targetKind === 'device' && targetId) payload.deviceId = targetId;
235-
else if (values.targetKind === 'evidenceSubmission' && targetId)
236-
payload.evidenceSubmissionId = targetId;
237232

238233
const hasTarget =
239234
payload.taskId ||
@@ -242,7 +237,6 @@ export function CreateFindingSheet({
242237
payload.riskId ||
243238
payload.memberId ||
244239
payload.deviceId ||
245-
payload.evidenceSubmissionId ||
246240
payload.evidenceFormType ||
247241
payload.area;
248242

@@ -522,7 +516,6 @@ function EntityPicker({
522516
endpointOverrides?: Partial<Record<TargetKind, string | null>>;
523517
}) {
524518
const endpoint = useMemo(() => {
525-
if (kind === 'evidenceSubmission') return null;
526519
// An explicit override (including `null`) wins over the default. `null`
527520
// means "no admin endpoint exists for this kind", so skip fetching.
528521
if (endpointOverrides && kind in endpointOverrides) {
@@ -536,19 +529,6 @@ function EntityPicker({
536529
[kind, data],
537530
);
538531

539-
if (kind === 'evidenceSubmission') {
540-
return (
541-
<div className="w-full">
542-
<label className="text-sm font-medium">Evidence submission ID</label>
543-
<Input
544-
value={value}
545-
onChange={(e) => onChange(e.target.value)}
546-
placeholder="evs_..."
547-
/>
548-
</div>
549-
);
550-
}
551-
552532
return (
553533
<div className="w-full">
554534
<label className="text-sm font-medium">Select {labelForKind(kind)}</label>
@@ -571,7 +551,7 @@ function EntityPicker({
571551
);
572552
}
573553

574-
function endpointForKind(kind: Exclude<TargetKind, 'area' | 'evidenceSubmission'>): string | null {
554+
function endpointForKind(kind: Exclude<TargetKind, 'area'>): string | null {
575555
switch (kind) {
576556
case 'task':
577557
return '/v1/tasks';
@@ -646,7 +626,7 @@ function extractOptions(
646626
.filter((x): x is Option => x !== null);
647627
}
648628

649-
function labelForKind(kind: Exclude<TargetKind, 'area' | 'evidenceSubmission'>): string {
629+
function labelForKind(kind: Exclude<TargetKind, 'area'>): string {
650630
switch (kind) {
651631
case 'task':
652632
return 'task';

‎apps/app/src/app/(app)/[orgId]/people/devices/components/DeviceAgentDevicesList.test.tsx‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ vi.mock('next/navigation', () => ({
66
useParams: () => ({ orgId: 'org_1' }),
77
}));
88

9+
vi.mock('@/hooks/use-permissions', () => ({
10+
usePermissions: () => ({ hasPermission: () => true }),
11+
}));
12+
913
vi.mock('../lib/devices-csv', async (importOriginal) => {
1014
const mod = await importOriginal<typeof import('../lib/devices-csv')>();
1115
return {

‎apps/app/src/app/(app)/[orgId]/people/devices/components/DeviceAgentDevicesList.tsx‎

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ import { useMemo, useState } from 'react';
3737
import { toast } from 'sonner';
3838
import { useSWRConfig } from 'swr';
3939
import { usePeopleActions } from '@/hooks/use-people-api';
40+
import { usePermissions } from '@/hooks/use-permissions';
4041
import type { DeviceWithChecks } from '../types';
4142
import {
4243
buildDevicesCsv,
@@ -48,7 +49,6 @@ import { RemoveDeviceAlert } from '../../all/components/RemoveDeviceAlert';
4849

4950
export interface DeviceAgentDevicesListProps {
5051
devices: DeviceWithChecks[];
51-
isCurrentUserOwner: boolean;
5252
}
5353

5454
const CHECK_FIELDS = [
@@ -176,10 +176,11 @@ function CheckBadges({ device }: { device: DeviceWithChecks }) {
176176

177177
export const DeviceAgentDevicesList = ({
178178
devices,
179-
isCurrentUserOwner,
180179
}: DeviceAgentDevicesListProps) => {
181180
const { orgId } = useParams<{ orgId: string }>();
182181
const { removeDeviceAgent } = usePeopleActions();
182+
const { hasPermission } = usePermissions();
183+
const canRemoveDevice = hasPermission('member', 'delete');
183184
const { mutate } = useSWRConfig();
184185
const [selectedDevice, setSelectedDevice] = useState<DeviceWithChecks | null>(null);
185186
const [actionDevice, setActionDevice] = useState<DeviceWithChecks | null>(null);
@@ -356,7 +357,7 @@ export const DeviceAgentDevicesList = ({
356357
</DropdownMenuTrigger>
357358
<DropdownMenuContent align="end" style={{ width: 'auto' }}>
358359
<DropdownMenuItem
359-
disabled={!isCurrentUserOwner}
360+
disabled={!canRemoveDevice}
360361
onClick={(e) => {
361362
e.stopPropagation();
362363
setActionDevice(device);

‎apps/app/src/app/(app)/[orgId]/people/devices/components/DevicesTabContent.tsx‎

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,10 +66,7 @@ export function DevicesTabContent({ isCurrentUserOwner }: DevicesTabContentProps
6666
/>
6767

6868
{agentDevices.length > 0 && (
69-
<DeviceAgentDevicesList
70-
devices={agentDevices}
71-
isCurrentUserOwner={isCurrentUserOwner}
72-
/>
69+
<DeviceAgentDevicesList devices={agentDevices} />
7370
)}
7471

7572
{isFleetLoading ? (

0 commit comments

Comments
 (0)