diff options
author | John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com> | 2019-11-13 17:43:11 +0300 |
---|---|---|
committer | Roeland Jago Douma <roeland@famdouma.nl> | 2019-11-27 16:33:13 +0300 |
commit | 444c9b6744f00a0fb8ac31cf0c827c150719bc68 (patch) | |
tree | b4f283ae7a6f7996dc279cc5eabb173c9cc2bad9 /apps/files_sharing/src | |
parent | efce1fdfaca81353414c2a752dcebfa3ca4135e6 (diff) |
Add settings front and split sharing entry config
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
Diffstat (limited to 'apps/files_sharing/src')
-rw-r--r-- | apps/files_sharing/src/components/SharingEntry.vue | 22 | ||||
-rw-r--r-- | apps/files_sharing/src/components/SharingEntryLink.vue | 22 | ||||
-rw-r--r-- | apps/files_sharing/src/mixins/SharesMixin.js | 22 | ||||
-rw-r--r-- | apps/files_sharing/src/services/ConfigService.js | 55 |
4 files changed, 97 insertions, 24 deletions
diff --git a/apps/files_sharing/src/components/SharingEntry.vue b/apps/files_sharing/src/components/SharingEntry.vue index 09d09d607fe..cde7d2ed2b1 100644 --- a/apps/files_sharing/src/components/SharingEntry.vue +++ b/apps/files_sharing/src/components/SharingEntry.vue @@ -213,6 +213,28 @@ export default { set: function(checked) { this.updatePermissions(this.canEdit, checked) } + }, + + /** + * Does the current share have an expiration date + * @returns {boolean} + */ + hasExpirationDate: { + get: function() { + return this.config.isDefaultInternalExpireDateEnforced || !!this.share.expireDate + }, + set: function(enabled) { + this.share.expireDate = enabled + ? this.config.defaultInternalExpirationDateString !== '' + ? this.config.defaultInternalExpirationDateString + : moment().format('YYYY-MM-DD') + : '' + } + }, + + dateMaxEnforced() { + return this.config.isDefaultInternalExpireDateEnforced + && moment().add(1 + this.config.defaultInternalExpireDate, 'days') } }, diff --git a/apps/files_sharing/src/components/SharingEntryLink.vue b/apps/files_sharing/src/components/SharingEntryLink.vue index 407d674e77a..ddfe953e339 100644 --- a/apps/files_sharing/src/components/SharingEntryLink.vue +++ b/apps/files_sharing/src/components/SharingEntryLink.vue @@ -380,6 +380,28 @@ export default { }, /** + * Does the current share have an expiration date + * @returns {boolean} + */ + hasExpirationDate: { + get: function() { + return this.config.isDefaultExpireDateEnforced || !!this.share.expireDate + }, + set: function(enabled) { + this.share.expireDate = enabled + ? this.config.defaultExpirationDateString !== '' + ? this.config.defaultExpirationDateString + : moment().format('YYYY-MM-DD') + : '' + } + }, + + dateMaxEnforced() { + return this.config.isDefaultExpireDateEnforced + && moment().add(1 + this.config.defaultExpireDate, 'days') + }, + + /** * Is the current share password protected ? * @returns {boolean} */ diff --git a/apps/files_sharing/src/mixins/SharesMixin.js b/apps/files_sharing/src/mixins/SharesMixin.js index d012f35591d..a0ec0748951 100644 --- a/apps/files_sharing/src/mixins/SharesMixin.js +++ b/apps/files_sharing/src/mixins/SharesMixin.js @@ -83,23 +83,6 @@ export default { computed: { /** - * Does the current share have an expiration date - * @returns {boolean} - */ - hasExpirationDate: { - get: function() { - return this.config.isDefaultExpireDateEnforced || !!this.share.expireDate - }, - set: function(enabled) { - this.share.expireDate = enabled - ? this.config.defaultExpirationDateString !== '' - ? this.config.defaultExpirationDateString - : moment().format('YYYY-MM-DD') - : '' - } - }, - - /** * Does the current share have a note * @returns {boolean} */ @@ -118,11 +101,6 @@ export default { return moment().add(1, 'days') }, - dateMaxEnforced() { - return this.config.isDefaultExpireDateEnforced - && moment().add(1 + this.config.defaultExpireDate, 'days') - }, - /** * Datepicker lang values * https://github.com/nextcloud/nextcloud-vue/pull/146 diff --git a/apps/files_sharing/src/services/ConfigService.js b/apps/files_sharing/src/services/ConfigService.js index 7058c714776..7e0ae960c64 100644 --- a/apps/files_sharing/src/services/ConfigService.js +++ b/apps/files_sharing/src/services/ConfigService.js @@ -58,7 +58,7 @@ export default class Config { } /** - * Get the default expiration date as string + * Get the default link share expiration date as string * * @returns {string} * @readonly @@ -76,6 +76,24 @@ export default class Config { } /** + * Get the default internal expiration date as string + * + * @returns {string} + * @readonly + * @memberof Config + */ + get defaultInternalExpirationDateString() { + let expireDateString = '' + if (this.isDefaultInternalExpireDateEnabled) { + const date = window.moment.utc() + const expireAfterDays = this.defaultInternalExpireDate + date.add(expireAfterDays, 'days') + expireDateString = date.format('YYYY-MM-DD') + } + return expireDateString + } + + /** * Are link shares password-enforced ? * * @returns {boolean} @@ -120,6 +138,28 @@ export default class Config { } /** + * Is internal shares expiration enforced ? + * + * @returns {boolean} + * @readonly + * @memberof Config + */ + get isDefaultInternalExpireDateEnforced() { + return OC.appConfig.core.defaultInternalExpireDateEnforced === true + } + + /** + * Is there a default expiration date for new internal shares ? + * + * @returns {boolean} + * @readonly + * @memberof Config + */ + get isDefaultInternalExpireDateEnabled() { + return OC.appConfig.core.defaultInternalExpireDateEnabled === true + } + + /** * Are users on this server allowed to send shares to other servers ? * * @returns {boolean} @@ -142,7 +182,7 @@ export default class Config { } /** - * Get the default days to expiration + * Get the default days to link shares expiration * * @returns {int} * @readonly @@ -153,6 +193,17 @@ export default class Config { } /** + * Get the default days to internal shares expiration + * + * @returns {int} + * @readonly + * @memberof Config + */ + get defaultInternalExpireDate() { + return OC.appConfig.core.defaultInternalExpireDate + } + + /** * Is resharing allowed ? * * @returns {boolean} |