diff options
author | Vitalii Lysak <v.lysak@dunice.net> | 2022-09-12 17:09:07 +0300 |
---|---|---|
committer | Vitalii Lysak <v.lysak@dunice.net> | 2022-09-12 17:09:07 +0300 |
commit | 6236064bf4c21c350026fafb875551fda8699a15 (patch) | |
tree | bed1c151c8a44c23fe0ef2640caa583658bfac9a | |
parent | 8289e3bff6c1c43db5a0288d32c2fae05a8c0b86 (diff) | |
download | webui-vue-6236064bf4c21c350026fafb875551fda8699a15.tar.xz |
add test msg req
-rw-r--r-- | src/locales/ru-RU.json | 3 | ||||
-rw-r--r-- | src/store/modules/Settings/SmtpStore.js | 9 | ||||
-rw-r--r-- | src/views/_sila/Settings/TransferInfo/WarningSmtp.vue | 37 |
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)); }, |