diff --git a/frontend/src/components/Settings/EmailTemplate/EditEmailTemplate.vue b/frontend/src/components/Settings/EmailTemplate/EditEmailTemplate.vue
index b9f1a8b2..927302e7 100644
--- a/frontend/src/components/Settings/EmailTemplate/EditEmailTemplate.vue
+++ b/frontend/src/components/Settings/EmailTemplate/EditEmailTemplate.vue
@@ -1,3 +1,255 @@
- Edit
-
\ No newline at end of file
+
+
+
+
+
emit('updateStep', 'template-list')"
+ @click="() => emit('updateStep', 'template-list')"
+ >
+
+ {{ __(template.name) }}
+
+
+
+
+
+
+
+
+
+
(template.enabled = !template.enabled)"
+ >
+
{{ __('Enabled') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ __('Content') }}
+ *
+
+
(template.response = val)"
+ :placeholder="
+ __(
+ 'Dear {{ lead_name }}, \n\nThis is a reminder for the payment of {{ grand_total }}. \n\nThanks, \nFrappé',
+ )
+ "
+ />
+
+
+
+
+
+
+
+
+
diff --git a/frontend/src/components/Settings/EmailTemplate/EmailTemplatePage.vue b/frontend/src/components/Settings/EmailTemplate/EmailTemplatePage.vue
index f41b4d5d..e0ed3e07 100644
--- a/frontend/src/components/Settings/EmailTemplate/EmailTemplatePage.vue
+++ b/frontend/src/components/Settings/EmailTemplate/EmailTemplatePage.vue
@@ -6,7 +6,7 @@
/>
@@ -19,7 +19,7 @@ import { createListResource } from 'frappe-ui'
import { provide, ref } from 'vue'
const step = ref('template-list')
-const templateData = ref(null)
+const template = ref(null)
const templates = createListResource({
type: 'list',
@@ -46,6 +46,6 @@ provide('templates', templates)
function updateStep(newStep, data) {
step.value = newStep
- templateData.value = data
+ template.value = data
}
diff --git a/frontend/src/components/Settings/EmailTemplate/EmailTemplates.vue b/frontend/src/components/Settings/EmailTemplate/EmailTemplates.vue
index 4eb9c622..682d31e9 100644
--- a/frontend/src/components/Settings/EmailTemplate/EmailTemplates.vue
+++ b/frontend/src/components/Settings/EmailTemplate/EmailTemplates.vue
@@ -143,6 +143,7 @@ import {
Switch,
Dropdown,
FeatherIcon,
+ toast,
} from 'frappe-ui'
import { ref, computed, inject, h } from 'vue'
@@ -172,10 +173,26 @@ const templatesList = computed(() => {
})
function toggleEmailTemplate(template) {
- templates.setValue.submit({
- name: template.name,
- enabled: template.enabled ? 1 : 0,
- })
+ templates.setValue.submit(
+ {
+ name: template.name,
+ enabled: template.enabled ? 1 : 0,
+ },
+ {
+ onSuccess: () => {
+ toast.success(
+ template.enabled
+ ? __('Template enabled successfully')
+ : __('Template disabled successfully'),
+ )
+ },
+ onError: (error) => {
+ toast.error(error.messages[0] || __('Failed to update template'))
+ // Revert the change if there was an error
+ template.enabled = !template.enabled
+ },
+ },
+ )
}
function deleteTemplate(template) {