fix: delete command was not visible if permission was assigned to individual files
Massimo Melina committed
Jul 21, 2023 at 22:33 UTC
30a41387c32afe7f5e8cd78e5d92f61de6d55426
2 files changed
+5
-4
frontend/src/fileMenu.ts
+1
-1
@@ -30,7 +30,7 @@ export function openFileMenu(entry: DirEntry, ev: MouseEvent, addToMenu: (FileMe
30
return !isFolder ? open : h(Link, { to: uri, onClick: () => close() }, hIcon(open.icon), open.label)
31
}
32
if (x === 'delete')
33
- return state.can_delete && {
33
+ return (state.can_delete || entry.p?.includes('d')) && {
34
label: t`Delete`,
35
icon: 'trash',
36
onClick: () => deleteFiles([entry.uri])
src/api.file_list.ts
+4
-3
@@ -108,17 +108,18 @@ async function nodeToDirEntry(ctx: Koa.Context, node: VfsNode): Promise<DirEntry
108
const { ctime, mtime } = st
109
const pl = node.can_list === WHO_NO_ONE ? 'l'
110
: !hasPermission(node, 'can_list', ctx) ? 'L'
111
- : ''
111
+ : ''
112
// no download here, but maybe inside?
113
const pr = node.can_read === WHO_NO_ONE && !(folder && filesInsideCould()) ? 'r'
114
: !hasPermission(node, 'can_read', ctx) ? 'R'
115
- : ''
115
+ : ''
116
+ const pd = hasPermission(node, 'can_delete', ctx) ? 'd' : ''
117
return {
118
n: name + (folder ? '/' : ''),
119
c: ctime,
120
m: Math.abs(+mtime-+ctime) < 1000 ? undefined : mtime,
121
s: folder ? undefined : st.size,
121
- p: (pr + pl) || undefined
122
+ p: (pr + pl + pd) || undefined
123
}
124
}
125
catch {