Skip to content

Commit 74a2028

Browse files
authored
fix(dashboard): remove unsupported zip export from cloud sandboxes (#7091)
* remove 'Export sandbox' from single menu if v2 * disable export (plus settings) if any is v2 on multimenu
1 parent 483d3c6 commit 74a2028

File tree

2 files changed

+46
-42
lines changed

2 files changed

+46
-42
lines changed

packages/app/src/app/pages/Dashboard/Components/Selection/ContextMenus/MultiItemMenu.tsx

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -193,32 +193,34 @@ export const MultiMenu = ({ selectedItems, page }: IMultiMenuProps) => {
193193
});
194194
},
195195
},
196-
sandboxes.some(s => !s.sandbox.permissions.preventSandboxExport) && {
197-
label: 'Prevent Export as .zip',
198-
fn: () => {
199-
actions.dashboard.setPreventSandboxesExport({
200-
sandboxIds: sandboxes.map(sandbox => sandbox.sandbox.id),
201-
preventSandboxExport: true,
202-
});
196+
sandboxes.some(s => !s.sandbox.permissions.preventSandboxExport) &&
197+
sandboxes.every(s => !s.sandbox.isV2) && {
198+
label: 'Prevent Export as .zip',
199+
fn: () => {
200+
actions.dashboard.setPreventSandboxesExport({
201+
sandboxIds: sandboxes.map(sandbox => sandbox.sandbox.id),
202+
preventSandboxExport: true,
203+
});
204+
},
203205
},
204-
},
205-
sandboxes.some(s => s.sandbox.permissions.preventSandboxExport) && {
206-
label: 'Allow Export as .zip',
207-
fn: () => {
208-
actions.dashboard.setPreventSandboxesExport({
209-
sandboxIds: sandboxes.map(sandbox => sandbox.sandbox.id),
210-
preventSandboxExport: false,
211-
});
206+
sandboxes.some(s => s.sandbox.permissions.preventSandboxExport) &&
207+
sandboxes.every(s => !s.sandbox.isV2) && {
208+
label: 'Allow Export as .zip',
209+
fn: () => {
210+
actions.dashboard.setPreventSandboxesExport({
211+
sandboxIds: sandboxes.map(sandbox => sandbox.sandbox.id),
212+
preventSandboxExport: false,
213+
});
214+
},
212215
},
213-
},
214216
].filter(Boolean)
215217
: [];
216218

217-
const EXPORT = sandboxes.some(
218-
s => !s.sandbox.permissions.preventSandboxExport
219-
)
220-
? [{ label: 'Export Items', fn: exportItems }]
221-
: [];
219+
const EXPORT =
220+
sandboxes.some(s => !s.sandbox.permissions.preventSandboxExport) &&
221+
sandboxes.every(s => !s.sandbox.isV2)
222+
? [{ label: 'Export Items', fn: exportItems }]
223+
: [];
222224

223225
const DELETE = { label: 'Archive Items', fn: deleteItems };
224226
const RECOVER = {

packages/app/src/app/pages/Dashboard/Components/Selection/ContextMenus/SandboxMenu.tsx

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -190,25 +190,27 @@ export const SandboxMenu: React.FC<SandboxMenuProps> = ({
190190
</MenuItem>
191191
) : null}
192192

193-
<Tooltip
194-
label={
195-
preventSandboxExport
196-
? 'You do not have permission to export this sandbox'
197-
: null
198-
}
199-
>
200-
<div>
201-
<MenuItem
202-
data-disabled={preventSandboxExport ? true : null}
203-
onSelect={() => {
204-
if (preventSandboxExport) return;
205-
actions.dashboard.downloadSandboxes([sandbox.id]);
206-
}}
207-
>
208-
Export {label}
209-
</MenuItem>
210-
</div>
211-
</Tooltip>
193+
{!sandbox.isV2 && (
194+
<Tooltip
195+
label={
196+
preventSandboxExport
197+
? 'You do not have permission to export this sandbox'
198+
: null
199+
}
200+
>
201+
<div>
202+
<MenuItem
203+
data-disabled={preventSandboxExport ? true : null}
204+
onSelect={() => {
205+
if (preventSandboxExport) return;
206+
actions.dashboard.downloadSandboxes([sandbox.id]);
207+
}}
208+
>
209+
Export {label}
210+
</MenuItem>
211+
</div>
212+
</Tooltip>
213+
)}
212214

213215
{hasAccess && activeWorkspaceAuthorization !== 'READ' && isPro ? (
214216
<>
@@ -358,8 +360,8 @@ export const SandboxMenu: React.FC<SandboxMenuProps> = ({
358360
Prevent Leaving Workspace
359361
</MenuItem>
360362
))}
361-
362-
{hasAccess &&
363+
{!sandbox.isV2 &&
364+
hasAccess &&
363365
isPro &&
364366
activeWorkspaceAuthorization === 'ADMIN' &&
365367
(sandbox.permissions.preventSandboxExport ? (

0 commit comments

Comments
 (0)