summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVitalii Lysak <v.lysak@dunice.net>2022-09-12 17:09:07 +0300
committerVitalii Lysak <v.lysak@dunice.net>2022-09-12 17:09:07 +0300
commit6236064bf4c21c350026fafb875551fda8699a15 (patch)
treebed1c151c8a44c23fe0ef2640caa583658bfac9a
parent8289e3bff6c1c43db5a0288d32c2fae05a8c0b86 (diff)
downloadwebui-vue-6236064bf4c21c350026fafb875551fda8699a15.tar.xz
add test msg req
-rw-r--r--src/locales/ru-RU.json3
-rw-r--r--src/store/modules/Settings/SmtpStore.js9
-rw-r--r--src/views/_sila/Settings/TransferInfo/WarningSmtp.vue37
3 files changed, 31 insertions, 18 deletions
diff --git a/src/locales/ru-RU.json b/src/locales/ru-RU.json
index 4c562e9f..2ff30ace 100644
--- a/src/locales/ru-RU.json
+++ b/src/locales/ru-RU.json
@@ -1155,7 +1155,8 @@
"host": "SMTP-сервер",
"port": "SMTP-порт",
"authorization": "Авторизация",
- "sslEnabled": "Поддержка SSL"
+ "sslEnabled": "Поддержка SSL",
+ "testMessage": "Тестовое сообщение"
},
"table": {
"userName": "Имя пользователя",
diff --git a/src/store/modules/Settings/SmtpStore.js b/src/store/modules/Settings/SmtpStore.js
index 38f60cf1..b89b99b6 100644
--- a/src/store/modules/Settings/SmtpStore.js
+++ b/src/store/modules/Settings/SmtpStore.js
@@ -23,14 +23,9 @@ const SmtpStore = {
throw new Error(i18n.t('pageTransfer.saveSmtpError'));
});
},
- async sendTestMessage(payload) {
+ async sendTestMessage(_, payload) {
return await api.get(
- `redfish/v1/Smtp/SendMail
- &from=${payload.from}
- &to=${payload.subscribers}
- &subject=theme
- &text=text
- `
+ `redfish/v1/Smtp/SendMail&from=${payload.from}&to=${payload.to}&subject=${payload.subject}&text=${payload.text}`
);
},
},
diff --git a/src/views/_sila/Settings/TransferInfo/WarningSmtp.vue b/src/views/_sila/Settings/TransferInfo/WarningSmtp.vue
index 2e59c3a9..63d3a75a 100644
--- a/src/views/_sila/Settings/TransferInfo/WarningSmtp.vue
+++ b/src/views/_sila/Settings/TransferInfo/WarningSmtp.vue
@@ -1,6 +1,6 @@
<template>
<page-section :section-title="$t('pageTransfer.smtp.smtpTitle')">
- <b-row class="smtp-warning mb-3">
+ <b-row class="smtp-warning mb-5">
<b-col xs="12" sm="12">
<div class="switch-group">
<label for="authenticationSwitch">{{
@@ -11,7 +11,7 @@
v-model="form.auth"
data-test-id="checkbox-authorization"
switch
- :disabled="$store.getters['authentication/role'] === 'ReadOnly'"
+ :disabled="isNotAdmin"
>
<span v-if="form.auth">
{{ $t('global.status.enabled') }}
@@ -28,7 +28,7 @@
<b-form-input
id="smtp-name"
v-model="form.user"
- :disabled="$store.getters['authentication/role'] === 'ReadOnly'"
+ :disabled="isNotAdmin"
/> </b-form-group
></b-col>
<b-col xs="12" sm="12">
@@ -41,7 +41,7 @@
id="smtp-password"
v-model="form.password"
type="password"
- :disabled="$store.getters['authentication/role'] === 'ReadOnly'"
+ :disabled="isNotAdmin"
/>
</input-password-toggle>
</b-form-group>
@@ -54,7 +54,7 @@
<b-form-input
id="smtp-host"
v-model="form.host"
- :disabled="$store.getters['authentication/role'] === 'ReadOnly'"
+ :disabled="isNotAdmin"
/>
</b-form-group>
</b-col>
@@ -67,7 +67,7 @@
id="smtp-port"
v-model="form.port"
type="number"
- :disabled="$store.getters['authentication/role'] === 'ReadOnly'"
+ :disabled="isNotAdmin"
/>
</b-form-group>
</b-col>
@@ -81,7 +81,7 @@
v-model="form.ssl"
data-test-id="checkbox-ssl"
switch
- :disabled="$store.getters['authentication/role'] === 'ReadOnly'"
+ :disabled="isNotAdmin"
>
<span v-if="form.ssl">
{{ $t('global.status.enabled') }}
@@ -90,8 +90,12 @@
</b-form-checkbox>
</div>
</b-col>
- <b-col xs="4" class="d-flex justify-content-end align-items-start">
- <b-button variant="primary" @click="saveSmtp">
+ <b-col xs="4" class="d-flex justify-content-between align-items-start">
+ <b-button variant="secondary" :disabled="isNotAdmin" @click="sendMail">
+ {{ $t('pageTransfer.smtp.testMessage') }}
+ </b-button>
+
+ <b-button variant="primary" :disabled="isNotAdmin" @click="saveSmtp">
{{ $t('global.action.save') }}
</b-button>
</b-col>
@@ -150,6 +154,14 @@ export default {
],
};
},
+ computed: {
+ isNotAdmin() {
+ return (
+ this.$store.getters['authentication/role'] === 'ReadOnly' ||
+ this.$store.getters['authentication/role'] === 'Operator'
+ );
+ },
+ },
methods: {
saveSmtp() {
this.$store
@@ -159,7 +171,12 @@ export default {
},
sendMail() {
this.$store
- .dispatch('smtpStore/sendTestMessage')
+ .dispatch('smtpStore/sendTestMessage', {
+ from: 'ex@mail.ru',
+ to: 'v.lysak@dunice.net',
+ subject: 'qwerty',
+ text: 'lol',
+ })
.then((message) => this.successToast(message))
.catch(({ message }) => this.errorToast(message));
},