From 6f1a5c8203695741e4875f2970829ffdd1ef3dd7 Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Mon, 7 Mar 2022 00:32:55 +0000 Subject: [PATCH] --- .../views/customer-notify-subscription.vue | 128 +++++++++++++++++- 1 file changed, 126 insertions(+), 2 deletions(-) diff --git a/ayanova/src/views/customer-notify-subscription.vue b/ayanova/src/views/customer-notify-subscription.vue index b1989efb..f28dfd40 100644 --- a/ayanova/src/views/customer-notify-subscription.vue +++ b/ayanova/src/views/customer-notify-subscription.vue @@ -256,12 +256,25 @@ v-model="obj.template" :readonly="formState.readOnly" :label="$ay.t('EmailTemplate')" + :rules="[form().required(this, 'template')]" :error-messages="form().serverErrors(this, 'template')" data-cy="template" auto-grow @input="fieldValueChanged('template')" > + + + @@ -426,7 +439,10 @@ export default { wostatus: [], quotestatus: [], eventTypes: [], - translations: [] + translations: [], + workOrderTemplateTokens: [], + quoteTemplateTokens: [], + csrTemplateTokens: [] }, obj: { id: 0, @@ -459,7 +475,8 @@ export default { ayaType: window.$gz.type.CustomerNotifySubscription, tab: 0, whoDialog: false, - whoList: [] + whoList: [], + woToken: null }; }, computed: { @@ -537,6 +554,72 @@ export default { default: return false; } + }, + showWorkOrderTokenSelector() { + switch (this.obj.eventType) { + case 4: //WorkorderStatusChange = 4 + return true; + // case 6: //notifyCSRAccepted; + // return true; + // case 7: //notifyCSRRejected; + // return true; + // case 9: //QuoteStatusChange = 9 + // return true; + case 21: //notifyServiceImminent; + return true; + case 24: //WorkorderStatusAge = 24 This is to replace the v7 wo follow up x days after closed notification to send message for follow up after closed + return true; + case 30: //notifyWOCompleted; + return true; + case 31: //notifyWOCreated; + return true; + default: + return false; + } + }, + showQuoteTokenSelector() { + switch (this.obj.eventType) { + // case 4: //WorkorderStatusChange = 4 + // return true; + // case 6: //notifyCSRAccepted; + // return true; + // case 7: //notifyCSRRejected; + // return true; + case 9: //QuoteStatusChange = 9 + return true; + // case 21: //notifyServiceImminent; + // return true; + // case 24: //WorkorderStatusAge = 24 This is to replace the v7 wo follow up x days after closed notification to send message for follow up after closed + // return true; + // case 30: //notifyWOCompleted; + // return true; + // case 31: //notifyWOCreated; + // return true; + default: + return false; + } + }, + showCSRTokenSelector() { + switch (this.obj.eventType) { + // case 4: //WorkorderStatusChange = 4 + // return true; + case 6: //notifyCSRAccepted; + return true; + case 7: //notifyCSRRejected; + return true; + // case 9: //QuoteStatusChange = 9 + // return true; + // case 21: //notifyServiceImminent; + // return true; + // case 24: //WorkorderStatusAge = 24 This is to replace the v7 wo follow up x days after closed notification to send message for follow up after closed + // return true; + // case 30: //notifyWOCompleted; + // return true; + // case 31: //notifyWOCreated; + // return true; + default: + return false; + } } }, watch: { @@ -626,6 +709,9 @@ export default { window.$gz.eventBus.$off("menu-click", clickHandler); }, methods: { + insertToken(t) { + console.log("INSERT TOKEN: ", t); + }, objectTagsTitle() { let objectName = null; switch (this.obj.eventType) { @@ -1049,5 +1135,43 @@ async function populateSelectionLists(vm) { } else { vm.obj.translationId = res.data.translationId; } + + /*Template tokens +workorder: +[Client.Label.Name] - Client name, [O.WorkorderStatus] - Workorder status, [Workorder.Label.CustomerContactName] - Contact, +[Workorder.Label.CustomerReferenceNumber] - Client Reference #, [Workorder.Label.Summary] - Summary,[WorkorderService.Label.ServiceNumber] - Service Number + +Quote: +[Client.Label.Name] - Client name,[WorkorderQuote.Label.QuoteNumber] - Quote Number + +CSR: +[Client.Label.Name] - Client name,[ClientServiceRequest.Label.Title] - Title + +*/ + vm.selectLists.workOrderTemplateTokens.push( + ...[ + { name: vm.$ay.t("Customer"), id: "{{Customer}}" }, + { + name: vm.$ay.t("WorkOrderStatus"), + id: "{{WorkOrderStatus}}" + }, + { + name: vm.$ay.t("WorkOrderCustomerContactName"), + id: "{{WorkOrderCustomerContactName}}" + }, + { + name: vm.$ay.t("WorkOrderCustomerReferenceNumber"), + id: "{{WorkOrderCustomerReferenceNumber}}" + }, + { + name: vm.$ay.t("WorkOrderSummary"), + id: "{{WorkOrderSummary}}" + }, + { + name: vm.$ay.t("WorkOrderSerialNumber"), + id: "{{WorkOrderSerialNumber}}" + } + ] + ); }