File tree Expand file tree Collapse file tree 2 files changed +25
-1
lines changed Expand file tree Collapse file tree 2 files changed +25
-1
lines changed Original file line number Diff line number Diff line change 11import Share from '../models/Share.js'
22import Config from '../services/ConfigService.js'
3+ import { ATOMIC_PERMISSIONS } from '../lib/SharePermissionsToolBox.js'
4+ import logger from '../services/logger.ts'
35
46export default {
57 methods : {
@@ -21,6 +23,18 @@ export default {
2123 share = this . mapShareRequestToShareObject ( shareRequestObject )
2224 }
2325
26+ if ( this . fileInfo . type !== 'dir' ) {
27+ const originalPermissions = share . permissions
28+ const strippedPermissions = originalPermissions
29+ & ~ ATOMIC_PERMISSIONS . CREATE
30+ & ~ ATOMIC_PERMISSIONS . DELETE
31+
32+ if ( originalPermissions !== strippedPermissions ) {
33+ logger . debug ( 'Removed create/delete permissions from file share (only valid for folders)' )
34+ share . permissions = strippedPermissions
35+ }
36+ }
37+
2438 const shareDetails = {
2539 fileInfo : this . fileInfo ,
2640 share,
Original file line number Diff line number Diff line change 3434 <NcCheckboxRadioSwitch :button-variant =" true"
3535 data-cy-files-sharing-share-permissions-bundle =" upload-edit"
3636 :checked.sync =" sharingPermission"
37- :value =" bundledPermissions.ALL.toString() "
37+ :value =" allPermissions "
3838 name =" sharing_permission_radio"
3939 type =" radio"
4040 button-variant-grouped =" vertical"
@@ -370,6 +370,9 @@ export default {
370370 }
371371 }
372372 },
373+ allPermissions () {
374+ return this .isFolder ? this .bundledPermissions .ALL .toString () : this .bundledPermissions .ALL_FILE .toString ()
375+ },
373376 /**
374377 * Can the sharee edit the shared file ?
375378 */
@@ -734,6 +737,13 @@ export default {
734737 isReshareChecked = this .canReshare ,
735738 } = {}) {
736739 // calc permissions if checked
740+
741+ if (! this .isFolder && (isCreateChecked || isDeleteChecked)) {
742+ logger .debug (' Ignoring create/delete permissions for file share — only available for folders' )
743+ isCreateChecked = false
744+ isDeleteChecked = false
745+ }
746+
737747 const permissions = 0
738748 | (isReadChecked ? ATOMIC_PERMISSIONS .READ : 0 )
739749 | (isCreateChecked ? ATOMIC_PERMISSIONS .CREATE : 0 )
You can’t perform that action at this time.
0 commit comments