aboutsummaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorfenn-cs <fenn25.fn@gmail.com>2023-09-26 08:22:43 +0100
committerfenn-cs <fenn25.fn@gmail.com>2023-10-02 11:59:10 +0100
commita092bae72008ac0fa6297013ae4ba86a1827fc93 (patch)
treea40ffa17056e112cbf13ca6be4c9f8b15617ce1e /apps
parent5ddffcb7b41326b5d3d2528e2a0e9cb6f8f8d76a (diff)
downloadnextcloud-server-a092bae72008ac0fa6297013ae4ba86a1827fc93.tar.gz
nextcloud-server-a092bae72008ac0fa6297013ae4ba86a1827fc93.zip
Updates to sharing flow
- Show enforced expiry date for new shares. - Improve quick share dropdown visibility in dark mode. - Prevent expiry date from showing expire for incoming shares. by updating the check for `share.passwordExpirationTime` to equally check for `undefined`. - Move "Download permission/attribute" from custom setting (as it is just another advanced setting and not an actual permission). - Show correct text for upload/editing when "allow public uploads" is enabled or disabled by admin. Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
Diffstat (limited to 'apps')
-rw-r--r--apps/files_sharing/src/components/SharingEntryQuickShareSelect.vue5
-rw-r--r--apps/files_sharing/src/views/SharingDetailsTab.vue57
2 files changed, 30 insertions, 32 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..79bd05a45bb 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>
@@ -542,7 +551,7 @@ export default {
return this.share.newPassword !== undefined
},
passwordExpirationTime() {
- if (this.share.passwordExpirationTime === null) {
+ if (!this.isValidShareAttribute(this.share.passwordExpirationTime)) {
return null
}
@@ -629,9 +638,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 +682,7 @@ export default {
}
},
expandCustomPermissions() {
- if (!this.advancedSectionAccordionExpanded) {
+ if (!this.advancedSectionAccordionExpanded) {
this.advancedSectionAccordionExpanded = true
}
this.toggleCustomPermissions()
@@ -687,34 +693,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 +1027,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;