diff --git a/ayanova/src/views/home-schedule.vue b/ayanova/src/views/home-schedule.vue index 28989ea7..3d0d2499 100644 --- a/ayanova/src/views/home-schedule.vue +++ b/ayanova/src/views/home-schedule.vue @@ -1022,7 +1022,12 @@ async function clickHandler(menuItem) { name: "home-reviews" }); break; - + case "newcustomer": + m.vm.$router.push({ + name: "customer-edit", + params: { recordid: 0 } + }); + break; default: window.$gz.eventBus.$emit( "notify-warning", @@ -1082,6 +1087,15 @@ function generateMenu(vm) { if (vm.$store.getters.isScheduleableUser) { menuOptions.menuItems.push({ divider: true, inset: false }); + if (window.$gz.role.canChange(window.$gz.type.Customer)) { + menuOptions.menuItems.push({ + title: "NewCustomer", + icon: "$ayiAddressCard", + key: FORM_KEY + ":newcustomer", + vm: vm + }); + } + menuOptions.menuItems.push({ title: "WorkOrderItemScheduledUserList", icon: "$ayiUserClock", @@ -1221,7 +1235,8 @@ async function fetchTranslatedText() { "ReviewName", "ReviewNotes", "ReviewCompletedDate", - "ReviewCompletionNotes" + "ReviewCompletionNotes", + "NewCustomer" ]); } diff --git a/ayanova/src/views/svc-pms.vue b/ayanova/src/views/svc-pms.vue index 3f616b18..3800b2ba 100644 --- a/ayanova/src/views/svc-pms.vue +++ b/ayanova/src/views/svc-pms.vue @@ -187,6 +187,12 @@ async function clickHandler(menuItem) { case "open": m.vm.openDialog = true; break; + case "newcustomer": + m.vm.$router.push({ + name: "customer-edit", + params: { recordid: 0 } + }); + break; default: window.$gz.eventBus.$emit( "notify-warning", @@ -259,7 +265,14 @@ function generateMenu(vm) { key: FORM_KEY + ":WorkOrderItemList", vm: vm }); - + if (window.$gz.role.canChange(window.$gz.type.Customer)) { + menuOptions.menuItems.push({ + title: "NewCustomer", + icon: "$ayiAddressCard", + key: FORM_KEY + ":newcustomer", + vm: vm + }); + } menuOptions.menuItems.push({ divider: true, inset: false }); window.$gz.eventBus.$emit("menu-change", menuOptions); @@ -269,6 +282,6 @@ function generateMenu(vm) { // Ensures UI translated text is available // async function fetchTranslatedText() { - await window.$gz.translation.cacheTranslations(["PM"]); + await window.$gz.translation.cacheTranslations(["PM", "NewCustomer"]); } diff --git a/ayanova/src/views/svc-quotes.vue b/ayanova/src/views/svc-quotes.vue index 0bef1539..393692e6 100644 --- a/ayanova/src/views/svc-quotes.vue +++ b/ayanova/src/views/svc-quotes.vue @@ -189,6 +189,12 @@ async function clickHandler(menuItem) { case "open": m.vm.openDialog = true; break; + case "newcustomer": + m.vm.$router.push({ + name: "customer-edit", + params: { recordid: 0 } + }); + break; default: window.$gz.eventBus.$emit( "notify-warning", @@ -261,7 +267,14 @@ function generateMenu(vm) { key: FORM_KEY + ":WorkOrderItemList", vm: vm }); - + if (window.$gz.role.canChange(window.$gz.type.Customer)) { + menuOptions.menuItems.push({ + title: "NewCustomer", + icon: "$ayiAddressCard", + key: FORM_KEY + ":newcustomer", + vm: vm + }); + } menuOptions.menuItems.push({ divider: true, inset: false }); window.$gz.eventBus.$emit("menu-change", menuOptions); @@ -271,6 +284,6 @@ function generateMenu(vm) { // Ensures UI translated text is available // async function fetchTranslatedText() { - await window.$gz.translation.cacheTranslations(["Quote"]); + await window.$gz.translation.cacheTranslations(["Quote", "NewCustomer"]); } diff --git a/ayanova/src/views/svc-schedule-user.vue b/ayanova/src/views/svc-schedule-user.vue index a3f24ac7..17f83861 100644 --- a/ayanova/src/views/svc-schedule-user.vue +++ b/ayanova/src/views/svc-schedule-user.vue @@ -905,7 +905,12 @@ async function clickHandler(menuItem) { name: "home-reviews" }); break; - + case "newcustomer": + m.vm.$router.push({ + name: "customer-edit", + params: { recordid: 0 } + }); + break; default: window.$gz.eventBus.$emit( "notify-warning", @@ -966,7 +971,14 @@ function generateMenu(vm) { // }); menuOptions.menuItems.push({ divider: true, inset: false }); - + if (window.$gz.role.canChange(window.$gz.type.Customer)) { + menuOptions.menuItems.push({ + title: "NewCustomer", + icon: "$ayiAddressCard", + key: FORM_KEY + ":newcustomer", + vm: vm + }); + } menuOptions.menuItems.push({ title: "WorkOrderItemScheduledUserList", icon: "$ayiUserClock", @@ -1110,7 +1122,8 @@ async function fetchTranslatedText() { "ReviewName", "ReviewNotes", "ReviewCompletedDate", - "ReviewCompletionNotes" + "ReviewCompletionNotes", + "NewCustomer" ]); } diff --git a/ayanova/src/views/svc-schedule.vue b/ayanova/src/views/svc-schedule.vue index 3412d23e..b536299d 100644 --- a/ayanova/src/views/svc-schedule.vue +++ b/ayanova/src/views/svc-schedule.vue @@ -959,7 +959,12 @@ async function clickHandler(menuItem) { name: "svc-workorder-item-scheduled-users" }); break; - + case "newcustomer": + m.vm.$router.push({ + name: "customer-edit", + params: { recordid: 0 } + }); + break; default: window.$gz.eventBus.$emit( "notify-warning", @@ -1003,7 +1008,14 @@ function generateMenu(vm) { // } menuOptions.menuItems.push({ divider: true, inset: false }); - + if (window.$gz.role.canChange(window.$gz.type.Customer)) { + menuOptions.menuItems.push({ + title: "NewCustomer", + icon: "$ayiAddressCard", + key: FORM_KEY + ":newcustomer", + vm: vm + }); + } menuOptions.menuItems.push({ title: "WorkOrderItemScheduledUserList", icon: "$ayiUserClock", @@ -1130,7 +1142,8 @@ async function fetchTranslatedText() { "WorkOrderStatus", "WorkOrderItemScheduledUserEstimatedQuantity", "WorkOrderItemScheduledUserServiceRateID", - "WorkOrderItemTags" + "WorkOrderItemTags", + "NewCustomer" ]); } diff --git a/ayanova/src/views/svc-unit.vue b/ayanova/src/views/svc-unit.vue index cabfa957..7551f0d4 100644 --- a/ayanova/src/views/svc-unit.vue +++ b/ayanova/src/views/svc-unit.vue @@ -1220,6 +1220,7 @@ async function clickHandler(menuItem) { } }); break; + default: window.$gz.eventBus.$emit( "notify-warning", @@ -1318,6 +1319,7 @@ function generateMenu(vm) { vm: vm }); } + menuOptions.menuItems.push({ title: "UnitModels", icon: "$ayiDiceD20", diff --git a/ayanova/src/views/svc-units.vue b/ayanova/src/views/svc-units.vue index 988c01e9..62a6e698 100644 --- a/ayanova/src/views/svc-units.vue +++ b/ayanova/src/views/svc-units.vue @@ -38,9 +38,10 @@ export default { name: null }; }, - created() { + async created() { this.rights = window.$gz.role.getRights(window.$gz.type.Unit); window.$gz.eventBus.$on("menu-click", clickHandler); + await fetchTranslatedText(); //------ Show all ---- //OPTIONAL "Show All" FILTER this.objectId = window.$gz.util.stringToIntOrNull( @@ -116,6 +117,12 @@ async function clickHandler(menuItem) { window.$gz.form.setLastReportMenuItem(FORM_KEY, res, m.vm); } break; + case "newcustomer": + m.vm.$router.push({ + name: "customer-edit", + params: { recordid: 0 } + }); + break; default: window.$gz.eventBus.$emit( "notify-warning", @@ -176,6 +183,14 @@ function generateMenu(vm) { }); menuOptions.menuItems.push({ divider: true, inset: false }); + if (window.$gz.role.canChange(window.$gz.type.Customer)) { + menuOptions.menuItems.push({ + title: "NewCustomer", + icon: "$ayiAddressCard", + key: FORM_KEY + ":newcustomer", + vm: vm + }); + } menuOptions.menuItems.push({ title: "UnitModels", icon: "$ayiDiceD20", @@ -183,6 +198,15 @@ function generateMenu(vm) { key: "app:nav" }); menuOptions.menuItems.push({ divider: true, inset: false }); + window.$gz.eventBus.$emit("menu-change", menuOptions); } + +////////////////////////////////////////////////////////// +// +// Ensures UI translated text is available +// +async function fetchTranslatedText() { + await window.$gz.translation.cacheTranslations(["NewCustomer"]); +} diff --git a/ayanova/src/views/svc-workorders.vue b/ayanova/src/views/svc-workorders.vue index daa3e84d..dc93aae6 100644 --- a/ayanova/src/views/svc-workorders.vue +++ b/ayanova/src/views/svc-workorders.vue @@ -193,6 +193,12 @@ async function clickHandler(menuItem) { case "open": m.vm.openDialog = true; break; + case "newcustomer": + m.vm.$router.push({ + name: "customer-edit", + params: { recordid: 0 } + }); + break; default: window.$gz.eventBus.$emit( "notify-warning", @@ -265,7 +271,14 @@ function generateMenu(vm) { key: FORM_KEY + ":WorkOrderItemList", vm: vm }); - + if (window.$gz.role.canChange(window.$gz.type.Customer)) { + menuOptions.menuItems.push({ + title: "NewCustomer", + icon: "$ayiAddressCard", + key: FORM_KEY + ":newcustomer", + vm: vm + }); + } menuOptions.menuItems.push({ divider: true, inset: false }); window.$gz.eventBus.$emit("menu-change", menuOptions); @@ -275,6 +288,6 @@ function generateMenu(vm) { // Ensures UI translated text is available // async function fetchTranslatedText() { - await window.$gz.translation.cacheTranslations(["WorkOrder"]); + await window.$gz.translation.cacheTranslations(["WorkOrder", "NewCustomer"]); }