Implement catchall settings

This commit is contained in:
Johannes Zellner
2025-03-11 12:38:54 +01:00
parent ba1636033e
commit a5ca8781ff
3 changed files with 118 additions and 1 deletions

View File

@@ -8,6 +8,7 @@ import { ref, onMounted, useTemplateRef } from 'vue';
import { Button, TableView, Checkbox, InputDialog, Dialog, FormGroup, TextInput, InputGroup, Switch, ButtonGroup, SingleSelect } from 'pankow';
import Section from '../components/Section.vue';
import SettingsItem from '../components/SettingsItem.vue';
import CatchAllSettingsItem from '../components/CatchAllSettingsItem.vue';
import DomainsModel from '../models/DomainsModel.js';
import MailModel from '../models/MailModel.js';
import ProfileModel from '../models/ProfileModel.js';
@@ -38,7 +39,6 @@ async function onAskIncomingToggle(value) {
const yes = await inputDialog.value.confirm({
title: t('email.disableEmailDialog.title', { domain: domain.value }),
message: t('email.disableEmailDialog.description', { domain: domain.value }),
modal: true,
confirmStyle: 'danger',
confirmLabel: t('email.disableEmailDialog.disableAction'),
rejectLabel: t('main.dialog.cancel'),
@@ -117,6 +117,7 @@ onMounted(async () => {
:reject-label="enableIncomeBusy ? '' : $t('main.dialog.cancel')"
reject-style="secondary"
@confirm="onEnableIncoming()"
@reject="incomingEnabled = false"
>
<div>
<p v-html="$t('email.enableEmailDialog.description', { domain: domain, requiredPortsDocsLink: 'https://docs.cloudron.io/email/#required-ports' })"></p>
@@ -149,6 +150,8 @@ onMounted(async () => {
</FormGroup>
<Switch v-model="mailFromValidation" @change="onToggleMailFromValidation"/>
</SettingsItem>
<CatchAllSettingsItem :domain-config="mailConfig" />
</Section>
</div>
</template>