Files
bssapp/ui/src/pages/TestMail.vue

82 lines
1.7 KiB
Vue

<template>
<q-page
v-if="canSendTestMail"
class="q-pa-md"
>
<q-card flat bordered class="q-pa-md" style="max-width: 500px">
<q-card-section>
<div class="text-h6">SMTP Test Mail</div>
</q-card-section>
<q-card-section>
<q-input
v-model="to"
label="Gonderilecek mail"
filled
dense
/>
</q-card-section>
<q-card-actions align="right">
<q-btn
v-if="canSendTestMail"
color="primary"
label="Test Mail Gonder"
:loading="store.loading"
:disable="!canSendTestMail"
@click="send"
/>
</q-card-actions>
</q-card>
</q-page>
<q-page
v-else
class="q-pa-md flex flex-center"
>
<div class="text-negative text-subtitle1">
Bu module erisim yetkiniz yok.
</div>
</q-page>
</template>
<script setup>
import { computed, ref } from 'vue'
import { useQuasar } from 'quasar'
import { useMailTestStore } from 'src/stores/mailTestStore'
import { usePermission } from 'src/composables/usePermission'
const { canWrite } = usePermission()
const canWriteUser = canWrite('user')
const canSendTestMail = computed(() => canWriteUser.value)
const $q = useQuasar()
const store = useMailTestStore()
const to = ref('mehmet.kececi@baggi.com.tr')
async function send () {
if (!canSendTestMail.value) {
$q.notify({
type: 'negative',
message: 'Test mail gonderme yetkiniz yok'
})
return
}
try {
await store.sendTestMail(to.value)
$q.notify({
type: 'positive',
message: 'Test mail gonderildi'
})
} catch (err) {
$q.notify({
type: 'negative',
message: err?.message || 'Mail gonderilemedi'
})
}
}
</script>