aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFerdinand Thiessen <opensource@fthiessen.de>2024-03-29 15:30:39 +0100
committerFerdinand Thiessen <opensource@fthiessen.de>2024-04-04 16:20:11 +0200
commit2c2a269042c0dbc75658af9ec9f5a187992b36ad (patch)
treeafc119e4e073531716c3e9db1a6f56082374809d
parent7a4e0c0cc034060a4d788e5eb25e7f25b3566a2c (diff)
downloadnextcloud-server-2c2a269042c0dbc75658af9ec9f5a187992b36ad.tar.gz
nextcloud-server-2c2a269042c0dbc75658af9ec9f5a187992b36ad.zip
fix(files_sharing): Create passwords when enforced for mail shares
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
-rw-r--r--apps/files_sharing/src/models/Share.js6
-rw-r--r--apps/files_sharing/src/views/SharingDetailsTab.vue11
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 e852a0f8599..5e7f7c1b452 100644
--- a/apps/files_sharing/src/views/SharingDetailsTab.vue
+++ b/apps/files_sharing/src/views/SharingDetailsTab.vue
@@ -509,7 +509,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) {
@@ -788,13 +788,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() {
@@ -815,7 +812,7 @@ export default {
this.sharingPermission = 'custom'
this.advancedSectionAccordionExpanded = true
this.setCustomPermissions = true
- } else {
+ } else if (this.share.permissions) {
this.sharingPermission = this.share.permissions.toString()
}
},