diff --git a/ayanova/src/views/svc-workorder.vue b/ayanova/src/views/svc-workorder.vue index bac92250..d15f4a0e 100644 --- a/ayanova/src/views/svc-workorder.vue +++ b/ayanova/src/views/svc-workorder.vue @@ -1766,6 +1766,24 @@ async function clickHandler(menuItem) { name: "svc-work-order-item-priorities" }); break; + case "quote": + window.$gz.eventBus.$emit("openobject", { + type: window.$gz.type.Quote, + id: m.vm.obj.fromQuoteId + }); + break; + case "pm": + window.$gz.eventBus.$emit("openobject", { + type: window.$gz.type.PM, + id: m.vm.obj.fromPMId + }); + break; + case "csr": + window.$gz.eventBus.$emit("openobject", { + type: window.$gz.type.CustomerServiceRequest, + id: m.vm.obj.fromCSRId + }); + break; default: window.$gz.eventBus.$emit( "notify-warning", @@ -1887,6 +1905,46 @@ function generateMenu(vm) { } menuOptions.menuItems.push({ divider: true, inset: false }); + let hasFromInsertDivider = false; + + if ( + vm.obj.fromQuoteId != null && + window.$gz.role.canOpen(window.$gz.type.Quote) + ) { + menuOptions.menuItems.push({ + title: "WorkOrderFromQuoteID", + icon: "$ayiPencilAlt", + key: FORM_KEY + ":quote", + vm: vm + }); + hasFromInsertDivider = true; + } + if (vm.obj.fromPMId != null && window.$gz.role.canOpen(window.$gz.type.PM)) { + menuOptions.menuItems.push({ + title: "WorkOrderFromPMID", + icon: "$ayiBusinessTime", + key: FORM_KEY + ":pm", + vm: vm + }); + hasFromInsertDivider = true; + } + if ( + vm.obj.fromCSRId != null && + window.$gz.role.canOpen(window.$gz.type.CustomerServiceRequest) + ) { + menuOptions.menuItems.push({ + title: "CustomerServiceRequest", + icon: "$ayiConciergeBell", + key: FORM_KEY + ":csr", + vm: vm + }); + hasFromInsertDivider = true; + } + + if (hasFromInsertDivider) { + menuOptions.menuItems.push({ divider: true, inset: false }); + } + window.$gz.eventBus.$emit("menu-change", menuOptions); } @@ -2131,7 +2189,10 @@ async function fetchTranslatedText(vm) { "UnitReceipt", "RecentWorkOrders", "WorkOrderGenerateUnit", - "ApplyUnitContract" + "ApplyUnitContract", + "WorkOrderFromQuoteID", + "WorkOrderFromPMID", + "CustomerServiceRequest" ]); }