aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files_sharing/src
diff options
context:
space:
mode:
Diffstat (limited to 'apps/files_sharing/src')
-rw-r--r--apps/files_sharing/src/components/SharingEntry.vue13
-rw-r--r--apps/files_sharing/src/models/Share.js12
2 files changed, 24 insertions, 1 deletions
diff --git a/apps/files_sharing/src/components/SharingEntry.vue b/apps/files_sharing/src/components/SharingEntry.vue
index e07654a19c1..8167172ceea 100644
--- a/apps/files_sharing/src/components/SharingEntry.vue
+++ b/apps/files_sharing/src/components/SharingEntry.vue
@@ -327,6 +327,16 @@ export default {
},
/**
+ * Is this share readable
+ * Needed for some federated shares that might have been added from file drop links
+ */
+ hasRead: {
+ get() {
+ return this.share.hasReadPermission
+ },
+ },
+
+ /**
* Is the current share a folder ?
* @returns {boolean}
*/
@@ -377,7 +387,8 @@ export default {
methods: {
updatePermissions({ isEditChecked = this.canEdit, isCreateChecked = this.canCreate, isDeleteChecked = this.canDelete, isReshareChecked = this.canReshare } = {}) {
// calc permissions if checked
- const permissions = this.permissionsRead
+ const permissions = 0
+ | (this.hasRead ? this.permissionsRead : 0)
| (isCreateChecked ? this.permissionsCreate : 0)
| (isDeleteChecked ? this.permissionsDelete : 0)
| (isEditChecked ? this.permissionsEdit : 0)
diff --git a/apps/files_sharing/src/models/Share.js b/apps/files_sharing/src/models/Share.js
index 085eab056df..7a4b96261c0 100644
--- a/apps/files_sharing/src/models/Share.js
+++ b/apps/files_sharing/src/models/Share.js
@@ -450,6 +450,18 @@ export default class Share {
}
// PERMISSIONS Shortcuts
+
+ /**
+ * Does this share have READ permissions
+ *
+ * @returns {boolean}
+ * @readonly
+ * @memberof Share
+ */
+ get hasReadPermission() {
+ return !!((this.permissions & OC.PERMISSION_READ))
+ }
+
/**
* Does this share have CREATE permissions
*