aboutsummaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorF. E Noel Nfebe <fenn25.fn@gmail.com>2023-10-02 19:26:53 +0100
committerGitHub <noreply@github.com>2023-10-02 19:26:53 +0100
commit8c2ff08fb7363e070dfb4e0a0115fa0523593009 (patch)
tree4674430a8e6aecd3d61cd8d5ad3a7ce233e53826 /apps
parentcd1d980fbdda9f9fd9ff03413f6c8b6d13c5c730 (diff)
parent0537bbd331cda5ad7b477c398e652b4c11c4834d (diff)
downloadnextcloud-server-8c2ff08fb7363e070dfb4e0a0115fa0523593009.tar.gz
nextcloud-server-8c2ff08fb7363e070dfb4e0a0115fa0523593009.zip
Merge pull request #40629 from nextcloud/40438-sharing-cleanup
Updates to new sharing flow
Diffstat (limited to 'apps')
-rw-r--r--apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue5
-rw-r--r--apps/files_sharing/src/views/SharingDetailsTab.vue69
2 files changed, 39 insertions, 35 deletions
diff --git a/apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue b/apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue
index b89574a2fca..2bf30533b59 100644
--- a/apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue
+++ b/apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue
@@ -238,6 +238,7 @@ export default {
background-color: var(--color-main-background);
border-radius: 8px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
+ border: 1px solid var(--color-border);
padding: 4px 0;
z-index: 1;
@@ -256,11 +257,11 @@ export default {
text-align: left;
&:hover {
- background-color: #f2f2f2;
+ background-color: var(--color-background-dark);
}
&.selected {
- background-color: #f0f0f0;
+ background-color: var(--color-background-dark);
}
}
}
diff --git a/apps/files_sharing/src/views/SharingDetailsTab.vue b/apps/files_sharing/src/views/SharingDetailsTab.vue
index e892ca472d8..ca578794d13 100644
--- a/apps/files_sharing/src/views/SharingDetailsTab.vue
+++ b/apps/files_sharing/src/views/SharingDetailsTab.vue
@@ -36,7 +36,13 @@
type="radio"
button-variant-grouped="vertical"
@update:checked="toggleCustomPermissions">
- {{ t('files_sharing', 'Allow upload and editing') }}
+ <template v-if="allowsFileDrop">
+ {{ t('files_sharing', 'Allow upload and editing') }}
+ </template>
+ <template v-else>
+ {{ t('files_sharing', 'Allow editing') }}
+ </template>
+
<template #icon>
<EditIcon :size="20" />
</template>
@@ -132,6 +138,9 @@
@update:checked="onPasswordProtectedByTalkChange">
{{ t('file_sharing', 'Video verification') }}
</NcCheckboxRadioSwitch>
+ <NcCheckboxRadioSwitch v-if="!isPublicShare" :disabled="!canSetDownload" :checked.sync="canDownload">
+ {{ t('file_sharing', 'Allow download') }}
+ </NcCheckboxRadioSwitch>
<NcCheckboxRadioSwitch :checked.sync="writeNoteToRecipientIsChecked">
{{ t('file_sharing', 'Note to recipient') }}
</NcCheckboxRadioSwitch>
@@ -145,7 +154,8 @@
{{ t('file_sharing', 'Custom permissions') }}
</NcCheckboxRadioSwitch>
<section v-if="setCustomPermissions" class="custom-permissions-group">
- <NcCheckboxRadioSwitch :disabled="!allowsFileDrop && share.type === SHARE_TYPES.SHARE_TYPE_LINK" :checked.sync="hasRead">
+ <NcCheckboxRadioSwitch :disabled="!allowsFileDrop && share.type === SHARE_TYPES.SHARE_TYPE_LINK"
+ :checked.sync="hasRead">
{{ t('file_sharing', 'Read') }}
</NcCheckboxRadioSwitch>
<NcCheckboxRadioSwitch v-if="isFolder" :disabled="!canSetCreate" :checked.sync="canCreate">
@@ -154,12 +164,11 @@
<NcCheckboxRadioSwitch :disabled="!canSetEdit" :checked.sync="canEdit">
{{ t('file_sharing', 'Update') }}
</NcCheckboxRadioSwitch>
- <NcCheckboxRadioSwitch v-if="config.isResharingAllowed && share.type !== SHARE_TYPES.SHARE_TYPE_LINK" :disabled="!canSetReshare" :checked.sync="canReshare">
+ <NcCheckboxRadioSwitch v-if="config.isResharingAllowed && share.type !== SHARE_TYPES.SHARE_TYPE_LINK"
+ :disabled="!canSetReshare"
+ :checked.sync="canReshare">
{{ t('file_sharing', 'Share') }}
</NcCheckboxRadioSwitch>
- <NcCheckboxRadioSwitch v-if="!isPublicShare" :disabled="!canSetDownload" :checked.sync="canDownload">
- {{ t('file_sharing', 'Download') }}
- </NcCheckboxRadioSwitch>
<NcCheckboxRadioSwitch :disabled="!canSetDelete" :checked.sync="canDelete">
{{ t('file_sharing', 'Delete') }}
</NcCheckboxRadioSwitch>
@@ -371,13 +380,19 @@ export default {
*/
hasExpirationDate: {
get() {
+ const isDefaultExpireDateEnabled = this.config.isDefaultExpireDateEnabled
+ const hasExistingExpirationDate = !!this.share.expireDate || isDefaultExpireDateEnabled
+ const isDefaultInternalExpireDateEnabled = this.config.isDefaultInternalExpireDateEnabled
+ const isDefaultRemoteExpireDateEnabled = this.config.isDefaultRemoteExpireDateEnabled
if (this.isPublicShare) {
- return !!this.share.expireDate || this.config.isDefaultExpireDateEnforced
+ return hasExistingExpirationDate
}
+
if (this.isRemoteShare) {
- return !!this.share.expireDate || this.config.isDefaultInternalExpireDateEnforced || this.config.isDefaultExpireDateEnforced
+ return hasExistingExpirationDate || isDefaultRemoteExpireDateEnabled
}
- return !!this.share.expireDate || this.config.isDefaultInternalExpireDateEnforced || this.config.isDefaultExpireDateEnforced
+
+ return hasExistingExpirationDate || isDefaultInternalExpireDateEnabled
},
set(enabled) {
this.share.expireDate = enabled
@@ -542,7 +557,7 @@ export default {
return this.share.newPassword !== undefined
},
passwordExpirationTime() {
- if (this.share.passwordExpirationTime === null) {
+ if (!this.isValidShareAttribute(this.share.passwordExpirationTime)) {
return null
}
@@ -629,9 +644,6 @@ export default {
if (hasPermissions(this.share.permissions, ATOMIC_PERMISSIONS.SHARE)) {
perms.push('share')
}
- if (this.share.hasDownloadPermission) {
- perms.push('download')
- }
const capitalizeFirstAndJoin = array => array.map((item, index) => index === 0 ? item[0].toUpperCase() + item.substring(1) : item).join(', ')
return capitalizeFirstAndJoin(perms)
@@ -676,7 +688,7 @@ export default {
}
},
expandCustomPermissions() {
- if (!this.advancedSectionAccordionExpanded) {
+ if (!this.advancedSectionAccordionExpanded) {
this.advancedSectionAccordionExpanded = true
}
this.toggleCustomPermissions()
@@ -687,34 +699,24 @@ export default {
this.setCustomPermissions = isCustomPermissions
},
async initializeAttributes() {
- let hasAdvancedAttributes = false
if (this.isNewShare) {
if (this.isPasswordEnforced && this.isPublicShare) {
this.share.newPassword = await GeneratePassword()
this.advancedSectionAccordionExpanded = true
}
+ if (this.hasExpirationDate) {
+ this.share.expireDate = this.defaultExpiryDate
+ this.advancedSectionAccordionExpanded = true
+ }
return
}
- if (this.isValidShareAttribute(this.share.note)) {
- this.writeNoteToRecipientIsChecked = true
- hasAdvancedAttributes = true
- }
-
- if (this.isValidShareAttribute(this.share.password)) {
- hasAdvancedAttributes = true
- }
-
- if (this.isValidShareAttribute(this.share.expireDate)) {
- hasAdvancedAttributes = true
- }
-
- if (this.isValidShareAttribute(this.share.label)) {
- hasAdvancedAttributes = true
- }
-
- if (hasAdvancedAttributes) {
+ if (
+ this.isValidShareAttribute(this.share.password)
+ || this.isValidShareAttribute(this.share.expireDate)
+ || this.isValidShareAttribute(this.share.label)
+ ) {
this.advancedSectionAccordionExpanded = true
}
@@ -1031,6 +1033,7 @@ export default {
flex-direction: column;
justify-content: space-between;
align-items: flex-start;
+ background: linear-gradient(to bottom, rgba(255, 255, 255, 0), var(--color-main-background));
.button-group {
display: flex;