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 @@ \ No newline at end of file +
+ +
+
+
+ + {{ __(template.name) }} +
+
+
+
+
+ + +
+
+
{{ __('Enabled') }}
+ +
+
+
+ +
+
+ +
+
+
+ +
+
+ +
+
+ +
+
+ {{ __('Content') }} + * +
+ +
+
+
+
+ +
+
+ + 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) {