aboutsummaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorChristoph Wurst <ChristophWurst@users.noreply.github.com>2023-11-29 08:54:25 +0100
committerGitHub <noreply@github.com>2023-11-29 08:54:25 +0100
commit4d2a32a79b316042f2dd6cc89b14c65527f3ae08 (patch)
tree80bc93ea7a8a6181fae1edebefc9c4c65368fea2 /apps
parent779141532269e413e6d9c2148907d03fab4786e7 (diff)
parentecc1576be61a59b7f41024c913acc083e08d1209 (diff)
downloadnextcloud-server-4d2a32a79b316042f2dd6cc89b14c65527f3ae08.tar.gz
nextcloud-server-4d2a32a79b316042f2dd6cc89b14c65527f3ae08.zip
Merge pull request #41759 from nextcloud/fix/dav/ooo-form-mandatory-message
fix(dav): Make ooo settings a form and the message required
Diffstat (limited to 'apps')
-rw-r--r--apps/dav/src/components/AbsenceForm.vue25
1 files changed, 17 insertions, 8 deletions
diff --git a/apps/dav/src/components/AbsenceForm.vue b/apps/dav/src/components/AbsenceForm.vue
index 0462c22a53d..500004b755a 100644
--- a/apps/dav/src/components/AbsenceForm.vue
+++ b/apps/dav/src/components/AbsenceForm.vue
@@ -21,24 +21,26 @@
-->
<template>
- <div class="absence">
+ <form class="absence" @submit.prevent="saveForm">
<div class="absence__dates">
<NcDateTimePickerNative id="absence-first-day"
v-model="firstDay"
:label="$t('dav', 'First day')"
- class="absence__dates__picker" />
+ class="absence__dates__picker"
+ :required="true" />
<NcDateTimePickerNative id="absence-last-day"
v-model="lastDay"
:label="$t('dav', 'Last day (inclusive)')"
- class="absence__dates__picker" />
+ class="absence__dates__picker"
+ :required="true" />
</div>
- <NcTextField :value.sync="status" :label="$t('dav', 'Short absence status')" />
- <NcTextArea :value.sync="message" :label="$t('dav', 'Long absence Message')" />
+ <NcTextField :value.sync="status" :label="$t('dav', 'Short absence status')" :required="true" />
+ <NcTextArea :value.sync="message" :label="$t('dav', 'Long absence Message')" :required="true" />
<div class="absence__buttons">
<NcButton :disabled="loading || !valid"
type="primary"
- @click="saveForm">
+ native-type="submit">
{{ $t('dav', 'Save') }}
</NcButton>
<NcButton :disabled="loading || !valid"
@@ -47,7 +49,7 @@
{{ $t('dav', 'Disable absence') }}
</NcButton>
</div>
- </div>
+ </form>
</template>
<script>
@@ -59,7 +61,9 @@ import { generateUrl } from '@nextcloud/router'
import axios from '@nextcloud/axios'
import { formatDateAsYMD } from '../utils/date.js'
import { loadState } from '@nextcloud/initial-state'
-import { showError } from '@nextcloud/dialogs'
+import { showError, showSuccess } from '@nextcloud/dialogs'
+
+import logger from '../service/logger.js'
export default {
name: 'AbsenceForm',
@@ -88,6 +92,7 @@ export default {
return !!this.firstDay
&& !!this.lastDay
&& !!this.status
+ && !!this.message
&& this.lastDay > this.firstDay
},
},
@@ -111,8 +116,10 @@ export default {
status: this.status,
message: this.message,
})
+ showSuccess(this.$t('dav', 'Absence saved'))
} catch (error) {
showError(this.$t('dav', 'Failed to save your absence settings'))
+ logger.error('Could not save absence', { error })
} finally {
this.loading = false
}
@@ -122,8 +129,10 @@ export default {
try {
await axios.delete(generateUrl('/apps/dav/settings/absence'))
this.resetForm()
+ showSuccess(this.$t('dav', 'Absence cleared'))
} catch (error) {
showError(this.$t('dav', 'Failed to clear your absence settings'))
+ logger.error('Could not clear absence', { error })
} finally {
this.loading = false
}