summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorfenn-cs <fenn25.fn@gmail.com>2023-10-16 17:35:35 +0100
committerfenn-cs <fenn25.fn@gmail.com>2023-10-28 09:53:41 +0100
commita5a956406987fb3bb68200aab9ab94e2cdc4e609 (patch)
tree06d5abe69e9ab02d150dce2f02725bf69e2652e7 /apps
parent77b047cc62573015fb7cfcf8a6fd003c5fab4786 (diff)
downloadnextcloud-server-a5a956406987fb3bb68200aab9ab94e2cdc4e609.tar.gz
nextcloud-server-a5a956406987fb3bb68200aab9ab94e2cdc4e609.zip
Fix has expiration date logic
Current expiration date errorneously assumes that `defaultExpirationDate` applies to all kinds of shares. But it only really applies to public shares despite its name. This commit, fixes that by paring expiration dates with the correct share types during new share initialization and simplifying the `hasExpirationDate` (check) property. Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
Diffstat (limited to 'apps')
-rw-r--r--apps/files_sharing/src/views/SharingDetailsTab.vue27
1 files changed, 12 insertions, 15 deletions
diff --git a/apps/files_sharing/src/views/SharingDetailsTab.vue b/apps/files_sharing/src/views/SharingDetailsTab.vue
index fdb38da7f79..bb1ce9b0dea 100644
--- a/apps/files_sharing/src/views/SharingDetailsTab.vue
+++ b/apps/files_sharing/src/views/SharingDetailsTab.vue
@@ -373,19 +373,7 @@ 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 hasExistingExpirationDate
- }
-
- if (this.isRemoteShare) {
- return hasExistingExpirationDate || isDefaultRemoteExpireDateEnabled
- }
-
- return hasExistingExpirationDate || isDefaultInternalExpireDateEnabled
+ return this.isValidShareAttribute(this.share.expireDate)
},
set(enabled) {
this.share.expireDate = enabled
@@ -703,10 +691,19 @@ export default {
this.share.newPassword = await GeneratePassword()
this.advancedSectionAccordionExpanded = true
}
- if (this.hasExpirationDate) {
- this.share.expireDate = this.defaultExpiryDate
+ /* Set default expiration dates if configured */
+ if (this.isPublicShare && this.config.isDefaultExpireDateEnabled) {
+ this.share.expireDate = this.config.defaultExpirationDate.toDateString()
+ } else if (this.isRemoteShare && this.config.isDefaultRemoteExpireDateEnabled) {
+ this.share.expireDate = this.config.defaultRemoteExpirationDateString.toDateString()
+ } else if (this.config.isDefaultInternalExpireDateEnabled) {
+ this.share.expireDate = this.config.defaultInternalExpirationDate.toDateString()
+ }
+
+ if (this.isValidShareAttribute(this.share.expireDate)) {
this.advancedSectionAccordionExpanded = true
}
+
return
}