fix(files_sharing): default empty file request expiration

Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
pull/46631/head
skjnldsv 2024-07-19 12:01:55 +07:00
parent 725736a754
commit cfa2caacf1
4 changed files with 15 additions and 15 deletions

@ -270,19 +270,15 @@ export default defineComponent({
async createShare() {
this.loading = true
// This should never happen
if (this.expirationDate == null) {
throw new Error('Expiration date is missing')
let expireDate = ''
if (this.expirationDate) {
const year = this.expirationDate.getFullYear()
const month = (this.expirationDate.getMonth() + 1).toString().padStart(2, '0')
const day = this.expirationDate.getDate().toString().padStart(2, '0')
// Format must be YYYY-MM-DD
expireDate = `${year}-${month}-${day}`
}
const year = this.expirationDate.getFullYear()
const month = (this.expirationDate.getMonth() + 1).toString().padStart(2, '0')
const day = this.expirationDate.getDate().toString().padStart(2, '0')
// Format must be YYYY-MM-DD
const expireDate = this.expirationDate
? `${year}-${month}-${day}`
: undefined
const shareUrl = generateOcsUrl('apps/files_sharing/api/v1/shares')
try {
const request = await axios.post<OCSResponse>(shareUrl, {
@ -296,7 +292,7 @@ export default defineComponent({
note: this.note,
password: this.password || undefined,
expireDate,
expireDate: expireDate || undefined,
// Empty string
shareWith: '',

@ -201,7 +201,7 @@ export default defineComponent({
methods: {
onToggleDeadline(checked: boolean) {
this.$emit('update:expirationDate', checked ? new Date() : null)
this.$emit('update:expirationDate', checked ? (this.maxDate || this.minDate) : null)
},
async onTogglePassword(checked: boolean) {

@ -17,6 +17,7 @@
:readonly="true"
:show-trailing-button="true"
:trailing-button-label="t('files_sharing', 'Copy to clipboard')"
data-cy-file-request-dialog-fieldset="link"
@click="copyShareLink"
@trailing-button-click="copyShareLink">
<template #trailing-button-icon>
@ -30,6 +31,7 @@
<NcTextField :value.sync="email"
:label="t('files_sharing', 'Send link via email')"
:placeholder="t('files_sharing', 'Enter an email address or paste a list')"
data-cy-file-request-dialog-fieldset="email"
type="email"
@keypress.enter.stop="addNewEmail"
@paste.stop.prevent="onPasteEmails"

@ -14,8 +14,10 @@ const NewFileRequestDialogVue = defineAsyncComponent(() => import('../components
const sharingConfig = new Config()
export const EntryId = 'file-request'
export const entry = {
id: 'file-request',
id: EntryId,
displayName: t('files_sharing', 'Create file request'),
iconSvgInline: FileUploadSvg,
order: 30,