From 6c2c3c8c8ecbcfeb03d926dbea01c4717336f899 Mon Sep 17 00:00:00 2001 From: lesion Date: Mon, 18 Oct 2021 15:43:29 +0200 Subject: [PATCH] fix SMTP configuration --- components/admin/SMTP.vue | 38 +++++++++++++++++++---------------- components/admin/Settings.vue | 17 +++++++++++++++- 2 files changed, 37 insertions(+), 18 deletions(-) diff --git a/components/admin/SMTP.vue b/components/admin/SMTP.vue index c209a30b..8bccd115 100644 --- a/components/admin/SMTP.vue +++ b/components/admin/SMTP.vue @@ -4,26 +4,27 @@ v-card-text p(v-html="$t('admin.smtp_description')") - v-text-field(v-model='admin_email' - :label="$t('admin.admin_email')" - :rules="$validators.email") + v-form(v-model='isValid') + v-text-field(v-model='admin_email' + :label="$t('admin.admin_email')" + :rules="$validators.email") - v-text-field(v-model='smtp.host' - :label="$t('admin.smtp_hostname')" - :rules="[$validators.required('admin.smtp_hostname')]") + v-text-field(v-model='smtp.host' + :label="$t('admin.smtp_hostname')" + :rules="[$validators.required('admin.smtp_hostname')]") - v-text-field(v-model='smtp.auth.user' - :label="$t('common.user')" - :rules="[$validators.required('common.user')]") + v-text-field(v-model='smtp.auth.user' + :label="$t('common.user')" + :rules="[$validators.required('common.user')]") - v-text-field(v-model='smtp.auth.pass' - :label="$t('common.password')" - :rules="[$validators.required('common.password')]" - type='password') + v-text-field(v-model='smtp.auth.pass' + :label="$t('common.password')" + :rules="[$validators.required('common.password')]" + type='password') v-card-actions v-spacer - v-btn(color='primary' @click='testSMTP' :loading='loading' :disabled='loading') {{$t('admin.smtp_test_button')}} + v-btn(color='primary' @click='testSMTP' :loading='loading' :disabled='loading || !isValid') {{$t('admin.smtp_test_button')}} v-btn(color='warning' @click="done") {{$t("common.ok")}} @@ -32,6 +33,7 @@ import { mapActions, mapState } from 'vuex' export default { data () { return { + isValid: false, loading: false, smtp: { host: '', auth: {} } } @@ -44,9 +46,11 @@ export default { }, }, mounted () { - this.smtp.auth.user = this.settings.smtp.auth.user - this.smtp.auth.pass = this.settings.smtp.auth.pass - this.smtp.host = this.settings.smtp.host + if (this.settings.smtp && this.settings.smtp.auth) { + this.smtp.auth.user = this.settings.smtp.auth.user + this.smtp.auth.pass = this.settings.smtp.auth.pass + this.smtp.host = this.settings.smtp.host + } }, methods: { ...mapActions(['setSetting']), diff --git a/components/admin/Settings.vue b/components/admin/Settings.vue index 9f90dd9b..1df5e6c5 100644 --- a/components/admin/Settings.vue +++ b/components/admin/Settings.vue @@ -48,20 +48,35 @@ inset :label="$t('admin.recurrent_event_visible')") + v-dialog(v-model='showSMTP' destroy-on-close max-width='700px') + SMTP(@close='showSMTP = false') + + v-card-actions + v-btn(text @click='showSMTP=true') {{$t('admin.show_smtp_setup')}} + v-btn(text @click='$emit("complete")' color='primary' v-if='setup') {{$t('common.next')}} + v-icon mdi-arrow-right + +