@ -38,7 +38,7 @@
< NcCheckboxRadioSwitch :button-variant ="true"
data - cy - files - sharing - share - permissions - bundle = "upload-edit"
: checked . sync = "sharingPermission"
: value = "bundledPermissions.ALL.toString() "
: value = "allPermissions "
name = "sharing_permission_radio"
type = "radio"
button - variant - grouped = "vertical"
@ -400,6 +400,9 @@ export default {
}
}
} ,
allPermissions ( ) {
return this . isFolder ? this . bundledPermissions . ALL . toString ( ) : this . bundledPermissions . ALL_FILE . toString ( )
} ,
/ * *
* Can the sharee edit the shared file ?
* /
@ -712,8 +715,15 @@ export default {
[ ATOMIC_PERMISSIONS . DELETE ] : this . t ( 'files_sharing' , 'Delete' ) ,
}
return [ ATOMIC_PERMISSIONS . READ , ATOMIC_PERMISSIONS . CREATE , ATOMIC_PERMISSIONS . UPDATE , ... ( this . resharingIsPossible ? [ ATOMIC_PERMISSIONS . SHARE ] : [ ] ) , ATOMIC_PERMISSIONS . DELETE ]
. filter ( ( permission ) => hasPermissions ( this . share . permissions , permission ) )
const permissionsList = [
ATOMIC_PERMISSIONS . READ ,
... ( this . isFolder ? [ ATOMIC_PERMISSIONS . CREATE ] : [ ] ) ,
ATOMIC_PERMISSIONS . UPDATE ,
... ( this . resharingIsPossible ? [ ATOMIC_PERMISSIONS . SHARE ] : [ ] ) ,
... ( this . isFolder ? [ ATOMIC_PERMISSIONS . DELETE ] : [ ] ) ,
]
return permissionsList . filter ( ( permission ) => hasPermissions ( this . share . permissions , permission ) )
. map ( ( permission , index ) => index === 0
? translatedPermissions [ permission ]
: translatedPermissions [ permission ] . toLocaleLowerCase ( getLanguage ( ) ) )
@ -831,6 +841,13 @@ export default {
isReshareChecked = this . canReshare ,
} = { } ) {
/ / c a l c p e r m i s s i o n s i f c h e c k e d
if ( ! this . isFolder && ( isCreateChecked || isDeleteChecked ) ) {
logger . debug ( 'Ignoring create/delete permissions for file share — only available for folders' )
isCreateChecked = false
isDeleteChecked = false
}
const permissions = 0
| ( isReadChecked ? ATOMIC_PERMISSIONS . READ : 0 )
| ( isCreateChecked ? ATOMIC_PERMISSIONS . CREATE : 0 )