From 46308e96f36486dd9dd55a41c1979d7f6cafacfe Mon Sep 17 00:00:00 2001 From: fenn-cs Date: Mon, 16 Oct 2023 17:35:35 +0100 Subject: 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 --- apps/files_sharing/src/views/SharingDetailsTab.vue | 27 ++++++++++------------ 1 file changed, 12 insertions(+), 15 deletions(-) (limited to 'apps/files_sharing/src') diff --git a/apps/files_sharing/src/views/SharingDetailsTab.vue b/apps/files_sharing/src/views/SharingDetailsTab.vue index de52dda618b..c5ef4e96739 100644 --- a/apps/files_sharing/src/views/SharingDetailsTab.vue +++ b/apps/files_sharing/src/views/SharingDetailsTab.vue @@ -385,19 +385,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 @@ -715,10 +703,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 } -- cgit v1.2.3