From f23e010831c4e3e8eef5a100f057c6fb1cb11037 Mon Sep 17 00:00:00 2001 From: Ferdinand Thiessen Date: Fri, 29 Mar 2024 15:30:39 +0100 Subject: [PATCH] fix(files_sharing): Create passwords when enforced for mail shares Signed-off-by: Ferdinand Thiessen --- apps/files_sharing/src/models/Share.js | 6 +++--- apps/files_sharing/src/views/SharingDetailsTab.vue | 11 ++++------- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/apps/files_sharing/src/models/Share.js b/apps/files_sharing/src/models/Share.js index 5504c63b345..b88d376a0ff 100644 --- a/apps/files_sharing/src/models/Share.js +++ b/apps/files_sharing/src/models/Share.js @@ -43,11 +43,11 @@ export default class Share { ocsData.hide_download = !!ocsData.hide_download ocsData.mail_send = !!ocsData.mail_send - if (ocsData.attributes) { + if (ocsData.attributes && typeof ocsData.attributes === 'string') { try { ocsData.attributes = JSON.parse(ocsData.attributes) } catch (e) { - console.warn('Could not parse share attributes returned by server: "' + ocsData.attributes + '"') + console.warn('Could not parse share attributes returned by server', ocsData.attributes) } } ocsData.attributes = ocsData.attributes ?? [] @@ -310,7 +310,7 @@ export default class Share { * @memberof Share */ get label() { - return this._share.label + return this._share.label ?? '' } /** diff --git a/apps/files_sharing/src/views/SharingDetailsTab.vue b/apps/files_sharing/src/views/SharingDetailsTab.vue index 6e07d36301f..a497b6b2d83 100644 --- a/apps/files_sharing/src/views/SharingDetailsTab.vue +++ b/apps/files_sharing/src/views/SharingDetailsTab.vue @@ -453,7 +453,7 @@ export default { return this.share.type === this.SHARE_TYPES.SHARE_TYPE_GROUP }, isNewShare() { - return this.share.id === null || this.share.id === undefined + return !this.share.id }, allowsFileDrop() { if (this.isFolder && this.config.isPublicUploadEnabled) { @@ -718,13 +718,10 @@ export default { }, handleShareType() { - if (this.share.share_type) { - this.share.type = this.share.share_type - } - // shareType 0 (USER_SHARE) would evaluate to zero - // Hence the use of hasOwnProperty if ('shareType' in this.share) { this.share.type = this.share.shareType + } else if (this.share.share_type) { + this.share.type = this.share.share_type } }, handleDefaultPermissions() { @@ -745,7 +742,7 @@ export default { this.sharingPermission = 'custom' this.advancedSectionAccordionExpanded = true this.setCustomPermissions = true - } else { + } else if (this.share.permissions) { this.sharingPermission = this.share.permissions.toString() } },