diff --git a/ayanova/devdocs/todo.txt b/ayanova/devdocs/todo.txt
index 31920002..1c7696a4 100644
--- a/ayanova/devdocs/todo.txt
+++ b/ayanova/devdocs/todo.txt
@@ -9,8 +9,6 @@
## ROUGH SCHEDULE
- GetLastReport is not implemented anywhere but is useful adn key
- lastreport new icon or no icon or...??
Erase all data / generate data should maybe also erase all local cached browser data like ?reset ??
or maybe not, this is related to reports which I think don't clear in erasedatabase??
@@ -722,4 +720,5 @@ BUILD 130 CHANGES OF NOTE
- About form: fixed bug that allowed customer / ho type user to view license info
- Fixed picklist bug that could in rare circumstances (no tags but has variant type for specific purpose) result in error at the server due to trailing " and " clause in query
- CustomerServiceRequest Customer / HeadOffice user interface: completed. Customer user can create / view their csrs, headoffice user can create / view their customer's csrs
+- UI Menu all reportable pages: now have an additional menu option under Reports which is a quick access link to the most recent report used for that form on that browser
diff --git a/ayanova/src/App.vue b/ayanova/src/App.vue
index 0a201b03..a682f227 100644
--- a/ayanova/src/App.vue
+++ b/ayanova/src/App.vue
@@ -217,7 +217,8 @@
- {{ $ay.t(item.title) }}
+ {{ item.title }}
+ {{ $ay.t(item.title) }}
diff --git a/ayanova/src/components/data-table.vue b/ayanova/src/components/data-table.vue
index 1c86b9d5..7ffe2e96 100644
--- a/ayanova/src/components/data-table.vue
+++ b/ayanova/src/components/data-table.vue
@@ -1304,12 +1304,13 @@ function saveFormSettings(vm) {
//preserve anything not directly related to datatable
//for now it's just the last report so nothing fancy here
let formSettings = window.$gz.form.getFormSettings(vm.formKey);
- console.log("datatable-saveformsettings fetched is:", formSettings);
+
if (formSettings != null && formSettings.saved != null) {
if (formSettings.saved.lastReport != null) {
- newFormSettings.lastReport = formSettings.saved.lastReport;
+ newFormSettings.saved.lastReport = formSettings.saved.lastReport;
}
}
+
window.$gz.form.setFormSettings(vm.formKey, newFormSettings);
}
diff --git a/ayanova/src/store.js b/ayanova/src/store.js
index 0f6064d5..3eafbddd 100644
--- a/ayanova/src/store.js
+++ b/ayanova/src/store.js
@@ -13,7 +13,7 @@ if (window.location.search) {
var searchParams = new URLSearchParams(window.location.search);
if (searchParams.has("reset")) {
localStorage.removeItem("AyaNova");
- console.log("RESET LOCAL SETTINGS");
+ console.log("LOCAL SETTINGS RESET");
}
}
@@ -185,7 +185,6 @@ export default new Vuex.Store({
state.formSettings = {};
},
setFormSettings(state, data) {
- console.log("Store::setformsettings", data);
state.formSettings[data.formKey] = data.formSettings;
},
clearFormSettings(state, formKey) {
diff --git a/ayanova/src/views/acc-service-bank.vue b/ayanova/src/views/acc-service-bank.vue
index a73ae0b7..24397311 100644
--- a/ayanova/src/views/acc-service-bank.vue
+++ b/ayanova/src/views/acc-service-bank.vue
@@ -380,34 +380,18 @@ async function clickHandler(menuItem) {
break;
case "report":
- if (m.id != null) {
- //last report selected is in m.id
- m.vm.$router.push({
- name: "ay-report",
- params: { recordid: m.id, ayatype: window.$gz.type.ServiceBank }
- });
- } else {
- //general report selector chosen
-
- let res = await m.vm.$refs.reportSelector.open({
+ let res = await m.vm.$refs.reportSelector.open(
+ {
AType: window.$gz.type.ServiceBank,
selectedRowIds: [m.vm.obj.id]
- });
-
- //if null for no selection
- //just bail out
- if (res == null) {
- return;
- }
- //persist last report selected
- window.$gz.form.setLastReport(FORM_KEY, res);
-
- //Now open the report viewer...
- m.vm.$router.push({
- name: "ay-report",
- params: { recordid: res.id, ayatype: window.$gz.type.ServiceBank }
- });
+ },
+ m.id
+ );
+ if (res == null) {
+ return;
}
+ window.$gz.form.setLastReport(FORM_KEY, res);
+ generateMenu(m.vm);
break;
default:
diff --git a/ayanova/src/views/acc-service-banks.vue b/ayanova/src/views/acc-service-banks.vue
index bf5d00f3..b06cfdad 100644
--- a/ayanova/src/views/acc-service-banks.vue
+++ b/ayanova/src/views/acc-service-banks.vue
@@ -126,37 +126,20 @@ async function clickHandler(menuItem) {
}
break;
case "report":
- if (m.id != null) {
- //last report selected is in m.id
- m.vm.$router.push({
- name: "ay-report",
- params: { recordid: m.id, ayatype: window.$gz.type.ServiceBank }
- });
- } else {
- //general report selector chosen
-
+ {
let res = await m.vm.$refs.reportSelector.open(
m.vm.$refs.gzdatatable.getDataListSelection(
window.$gz.type.ServiceBank
- )
+ ),
+ m.id
);
-
- //if null for no selection
- //just bail out
if (res == null) {
return;
}
- //persist last report selected
window.$gz.form.setLastReport(FORM_KEY, res);
-
- //Now open the report viewer...
- m.vm.$router.push({
- name: "ay-report",
- params: { recordid: res.id, ayatype: window.$gz.type.ServiceBank }
- });
+ generateMenu(m.vm); //refresh the menu with the new report
}
break;
-
default:
window.$gz.eventBus.$emit(
"notify-warning",
@@ -207,6 +190,7 @@ function generateMenu(vm) {
if (lastReport != null) {
menuOptions.menuItems.push({
title: lastReport.name,
+ notrans: true,
icon: "$ayiFileAlt",
key: FORM_KEY + ":report:" + lastReport.id,
vm: vm
diff --git a/ayanova/src/views/acc-service-rate.vue b/ayanova/src/views/acc-service-rate.vue
index 6a8540e5..f130d397 100644
--- a/ayanova/src/views/acc-service-rate.vue
+++ b/ayanova/src/views/acc-service-rate.vue
@@ -531,35 +531,20 @@ async function clickHandler(menuItem) {
case "duplicate":
m.vm.duplicate();
break;
- case "report":
- if (m.id != null) {
- //last report selected is in m.id
- m.vm.$router.push({
- name: "ay-report",
- params: { recordid: m.id, ayatype: window.$gz.type.ServiceRate }
- });
- } else {
- //general report selector chosen
- let res = await m.vm.$refs.reportSelector.open({
+ case "report":
+ let res = await m.vm.$refs.reportSelector.open(
+ {
AType: window.$gz.type.ServiceRate,
selectedRowIds: [m.vm.obj.id]
- });
-
- //if null for no selection
- //just bail out
- if (res == null) {
- return;
- }
- //persist last report selected
- window.$gz.form.setLastReport(FORM_KEY, res);
-
- //Now open the report viewer...
- m.vm.$router.push({
- name: "ay-report",
- params: { recordid: res.id, ayatype: window.$gz.type.ServiceRate }
- });
+ },
+ m.id
+ );
+ if (res == null) {
+ return;
}
+ window.$gz.form.setLastReport(FORM_KEY, res);
+ generateMenu(m.vm);
break;
default:
@@ -624,6 +609,7 @@ function generateMenu(vm) {
if (lastReport != null) {
menuOptions.menuItems.push({
title: lastReport.name,
+ notrans: true,
icon: "$ayiFileAlt",
key: FORM_KEY + ":report:" + lastReport.id,
vm: vm
diff --git a/ayanova/src/views/acc-service-rates.vue b/ayanova/src/views/acc-service-rates.vue
index 4545b7ce..74db3f09 100644
--- a/ayanova/src/views/acc-service-rates.vue
+++ b/ayanova/src/views/acc-service-rates.vue
@@ -73,37 +73,20 @@ async function clickHandler(menuItem) {
}
break;
case "report":
- if (m.id != null) {
- //last report selected is in m.id
- m.vm.$router.push({
- name: "ay-report",
- params: { recordid: m.id, ayatype: window.$gz.type.ServiceRate }
- });
- } else {
- //general report selector chosen
-
+ {
let res = await m.vm.$refs.reportSelector.open(
m.vm.$refs.gzdatatable.getDataListSelection(
window.$gz.type.ServiceRate
- )
+ ),
+ m.id
);
-
- //if null for no selection
- //just bail out
if (res == null) {
return;
}
- //persist last report selected
window.$gz.form.setLastReport(FORM_KEY, res);
-
- //Now open the report viewer...
- m.vm.$router.push({
- name: "ay-report",
- params: { recordid: res.id, ayatype: window.$gz.type.ServiceRate }
- });
+ generateMenu(m.vm); //refresh the menu with the new report
}
break;
-
default:
window.$gz.eventBus.$emit(
"notify-warning",
@@ -152,6 +135,7 @@ function generateMenu(vm) {
if (lastReport != null) {
menuOptions.menuItems.push({
title: lastReport.name,
+ notrans: true,
icon: "$ayiFileAlt",
key: FORM_KEY + ":report:" + lastReport.id,
vm: vm
diff --git a/ayanova/src/views/acc-tax-code.vue b/ayanova/src/views/acc-tax-code.vue
index 1320d0d6..13684ef4 100644
--- a/ayanova/src/views/acc-tax-code.vue
+++ b/ayanova/src/views/acc-tax-code.vue
@@ -502,34 +502,18 @@ async function clickHandler(menuItem) {
m.vm.duplicate();
break;
case "report":
- if (m.id != null) {
- //last report selected is in m.id
- m.vm.$router.push({
- name: "ay-report",
- params: { recordid: m.id, ayatype: window.$gz.type.TaxCode }
- });
- } else {
- //general report selector chosen
-
- let res = await m.vm.$refs.reportSelector.open({
+ let res = await m.vm.$refs.reportSelector.open(
+ {
AType: window.$gz.type.TaxCode,
selectedRowIds: [m.vm.obj.id]
- });
-
- //if null for no selection
- //just bail out
- if (res == null) {
- return;
- }
- //persist last report selected
- window.$gz.form.setLastReport(FORM_KEY, res);
-
- //Now open the report viewer...
- m.vm.$router.push({
- name: "ay-report",
- params: { recordid: res.id, ayatype: window.$gz.type.TaxCode }
- });
+ },
+ m.id
+ );
+ if (res == null) {
+ return;
}
+ window.$gz.form.setLastReport(FORM_KEY, res);
+ generateMenu(m.vm);
break;
default:
@@ -594,6 +578,7 @@ function generateMenu(vm) {
if (lastReport != null) {
menuOptions.menuItems.push({
title: lastReport.name,
+ notrans: true,
icon: "$ayiFileAlt",
key: FORM_KEY + ":report:" + lastReport.id,
vm: vm
diff --git a/ayanova/src/views/acc-tax-codes.vue b/ayanova/src/views/acc-tax-codes.vue
index 6af21674..4ee20efa 100644
--- a/ayanova/src/views/acc-tax-codes.vue
+++ b/ayanova/src/views/acc-tax-codes.vue
@@ -71,35 +71,20 @@ async function clickHandler(menuItem) {
}
break;
case "report":
- if (m.id != null) {
- //last report selected is in m.id
- m.vm.$router.push({
- name: "ay-report",
- params: { recordid: m.id, ayatype: window.$gz.type.TaxCode }
- });
- } else {
- //general report selector chosen
-
+ {
let res = await m.vm.$refs.reportSelector.open(
- m.vm.$refs.gzdatatable.getDataListSelection(window.$gz.type.TaxCode)
+ m.vm.$refs.gzdatatable.getDataListSelection(
+ window.$gz.type.TaxCode
+ ),
+ m.id
);
-
- //if null for no selection
- //just bail out
if (res == null) {
return;
}
- //persist last report selected
window.$gz.form.setLastReport(FORM_KEY, res);
-
- //Now open the report viewer...
- m.vm.$router.push({
- name: "ay-report",
- params: { recordid: res.id, ayatype: window.$gz.type.TaxCode }
- });
+ generateMenu(m.vm); //refresh the menu with the new report
}
break;
-
default:
window.$gz.eventBus.$emit(
"notify-warning",
@@ -148,6 +133,7 @@ function generateMenu(vm) {
if (lastReport != null) {
menuOptions.menuItems.push({
title: lastReport.name,
+ notrans: true,
icon: "$ayiFileAlt",
key: FORM_KEY + ":report:" + lastReport.id,
vm: vm
diff --git a/ayanova/src/views/acc-travel-rate.vue b/ayanova/src/views/acc-travel-rate.vue
index 820e96c6..ef95a065 100644
--- a/ayanova/src/views/acc-travel-rate.vue
+++ b/ayanova/src/views/acc-travel-rate.vue
@@ -530,36 +530,19 @@ async function clickHandler(menuItem) {
m.vm.duplicate();
break;
case "report":
- if (m.id != null) {
- //last report selected is in m.id
- m.vm.$router.push({
- name: "ay-report",
- params: { recordid: m.id, ayatype: window.$gz.type.TravelRate }
- });
- } else {
- //general report selector chosen
-
- let res = await m.vm.$refs.reportSelector.open({
+ let res = await m.vm.$refs.reportSelector.open(
+ {
AType: window.$gz.type.TravelRate,
selectedRowIds: [m.vm.obj.id]
- });
-
- //if null for no selection
- //just bail out
- if (res == null) {
- return;
- }
- //persist last report selected
- window.$gz.form.setLastReport(FORM_KEY, res);
-
- //Now open the report viewer...
- m.vm.$router.push({
- name: "ay-report",
- params: { recordid: res.id, ayatype: window.$gz.type.TravelRate }
- });
+ },
+ m.id
+ );
+ if (res == null) {
+ return;
}
+ window.$gz.form.setLastReport(FORM_KEY, res);
+ generateMenu(m.vm);
break;
-
default:
window.$gz.eventBus.$emit(
"notify-warning",
@@ -622,6 +605,7 @@ function generateMenu(vm) {
if (lastReport != null) {
menuOptions.menuItems.push({
title: lastReport.name,
+ notrans: true,
icon: "$ayiFileAlt",
key: FORM_KEY + ":report:" + lastReport.id,
vm: vm
diff --git a/ayanova/src/views/acc-travel-rates.vue b/ayanova/src/views/acc-travel-rates.vue
index 449bab2b..c84f0571 100644
--- a/ayanova/src/views/acc-travel-rates.vue
+++ b/ayanova/src/views/acc-travel-rates.vue
@@ -73,37 +73,20 @@ async function clickHandler(menuItem) {
}
break;
case "report":
- if (m.id != null) {
- //last report selected is in m.id
- m.vm.$router.push({
- name: "ay-report",
- params: { recordid: m.id, ayatype: window.$gz.type.TravelRate }
- });
- } else {
- //general report selector chosen
-
+ {
let res = await m.vm.$refs.reportSelector.open(
m.vm.$refs.gzdatatable.getDataListSelection(
window.$gz.type.TravelRate
- )
+ ),
+ m.id
);
-
- //if null for no selection
- //just bail out
if (res == null) {
return;
}
- //persist last report selected
window.$gz.form.setLastReport(FORM_KEY, res);
-
- //Now open the report viewer...
- m.vm.$router.push({
- name: "ay-report",
- params: { recordid: res.id, ayatype: window.$gz.type.TravelRate }
- });
+ generateMenu(m.vm); //refresh the menu with the new report
}
break;
-
default:
window.$gz.eventBus.$emit(
"notify-warning",
@@ -152,6 +135,7 @@ function generateMenu(vm) {
if (lastReport != null) {
menuOptions.menuItems.push({
title: lastReport.name,
+ notrans: true,
icon: "$ayiFileAlt",
key: FORM_KEY + ":report:" + lastReport.id,
vm: vm
diff --git a/ayanova/src/views/adm-attachments.vue b/ayanova/src/views/adm-attachments.vue
index 68b9b47b..6a91a17f 100644
--- a/ayanova/src/views/adm-attachments.vue
+++ b/ayanova/src/views/adm-attachments.vue
@@ -299,6 +299,7 @@ function generateMenu(vm) {
if (lastReport != null) {
menuOptions.menuItems.push({
title: lastReport.name,
+ notrans: true,
icon: "$ayiFileAlt",
key: FORM_KEY + ":report:" + lastReport.id,
vm: vm
diff --git a/ayanova/src/views/adm-translation.vue b/ayanova/src/views/adm-translation.vue
index 292a69ed..45f78a55 100644
--- a/ayanova/src/views/adm-translation.vue
+++ b/ayanova/src/views/adm-translation.vue
@@ -516,31 +516,20 @@ async function clickHandler(menuItem) {
m.vm.duplicate();
break;
case "report":
- if (m.id != null) {
- //last report selected
- m.vm.$router.push({
- name: "ay-report",
- params: { recordid: m.id, ayatype: window.$gz.type.Translation }
- });
- } else {
- //general report selector chosen
- let res = await m.vm.$refs.reportSelector.open();
-
- //if null for no selection
- //just bail out
- if (res == null) {
- return;
- }
- //persist last report selected
- window.$gz.form.setLastReport(FORM_KEY, res);
-
- //Now open the report viewer...
- m.vm.$router.push({
- name: "ay-report",
- params: { recordid: res.id, ayatype: window.$gz.type.Translation }
- });
+ let res = await m.vm.$refs.reportSelector.open(
+ {
+ AType: window.$gz.type.Translation,
+ selectedRowIds: [m.vm.obj.id]
+ },
+ m.id
+ );
+ if (res == null) {
+ return;
}
+ window.$gz.form.setLastReport(FORM_KEY, res);
+ generateMenu(m.vm);
break;
+
default:
window.$gz.eventBus.$emit(
"notify-warning",
@@ -607,6 +596,7 @@ function generateMenu(vm) {
if (lastReport != null) {
menuOptions.menuItems.push({
title: lastReport.name,
+ notrans: true,
icon: "$ayiFileAlt",
key: FORM_KEY + ":report:" + lastReport.id,
vm: vm
diff --git a/ayanova/src/views/adm-user.vue b/ayanova/src/views/adm-user.vue
index 85baf6b9..805cefff 100644
--- a/ayanova/src/views/adm-user.vue
+++ b/ayanova/src/views/adm-user.vue
@@ -961,34 +961,18 @@ async function clickHandler(menuItem) {
m.vm.duplicate();
break;
case "report":
- if (m.id != null) {
- //last report selected is in m.id
- m.vm.$router.push({
- name: "ay-report",
- params: { recordid: m.id, ayatype: window.$gz.type.User }
- });
- } else {
- //general report selector chosen
-
- let res = await m.vm.$refs.reportSelector.open({
+ let res = await m.vm.$refs.reportSelector.open(
+ {
AType: window.$gz.type.User,
selectedRowIds: [m.vm.obj.id]
- });
-
- //if null for no selection
- //just bail out
- if (res == null) {
- return;
- }
- //persist last report selected
- window.$gz.form.setLastReport(FORM_KEY, res);
-
- //Now open the report viewer...
- m.vm.$router.push({
- name: "ay-report",
- params: { recordid: res.id, ayatype: window.$gz.type.User }
- });
+ },
+ m.id
+ );
+ if (res == null) {
+ return;
}
+ window.$gz.form.setLastReport(FORM_KEY, res);
+ generateMenu(m.vm);
break;
case "directnotify":
@@ -1091,6 +1075,7 @@ function generateMenu(vm) {
if (lastReport != null) {
menuOptions.menuItems.push({
title: lastReport.name,
+ notrans: true,
icon: "$ayiFileAlt",
key: FORM_KEY + ":report:" + lastReport.id,
vm: vm
diff --git a/ayanova/src/views/adm-users.vue b/ayanova/src/views/adm-users.vue
index 4f98b81f..8a59b867 100644
--- a/ayanova/src/views/adm-users.vue
+++ b/ayanova/src/views/adm-users.vue
@@ -71,32 +71,16 @@ async function clickHandler(menuItem) {
}
break;
case "report":
- if (m.id != null) {
- //last report selected is in m.id
- m.vm.$router.push({
- name: "ay-report",
- params: { recordid: m.id, ayatype: window.$gz.type.User }
- });
- } else {
- //general report selector chosen
-
+ {
let res = await m.vm.$refs.reportSelector.open(
- m.vm.$refs.gzdatatable.getDataListSelection(window.$gz.type.User)
+ m.vm.$refs.gzdatatable.getDataListSelection(window.$gz.type.User),
+ m.id
);
-
- //if null for no selection
- //just bail out
if (res == null) {
return;
}
- //persist last report selected
window.$gz.form.setLastReport(FORM_KEY, res);
-
- //Now open the report viewer...
- m.vm.$router.push({
- name: "ay-report",
- params: { recordid: res.id, ayatype: window.$gz.type.User }
- });
+ generateMenu(m.vm); //refresh the menu with the new report
}
break;
case "directnotify":
@@ -164,6 +148,7 @@ function generateMenu(vm) {
if (lastReport != null) {
menuOptions.menuItems.push({
title: lastReport.name,
+ notrans: true,
icon: "$ayiFileAlt",
key: FORM_KEY + ":report:" + lastReport.id,
vm: vm
diff --git a/ayanova/src/views/cust-customer-note.vue b/ayanova/src/views/cust-customer-note.vue
index 6d4a81ab..7c987c8d 100644
--- a/ayanova/src/views/cust-customer-note.vue
+++ b/ayanova/src/views/cust-customer-note.vue
@@ -383,37 +383,21 @@ async function clickHandler(menuItem) {
params: { recordid: 0 }
});
break;
-
case "report":
- if (m.id != null) {
- //last report selected is in m.id
- m.vm.$router.push({
- name: "ay-report",
- params: { recordid: m.id, ayatype: window.$gz.type.CustomerNote }
- });
- } else {
- //general report selector chosen
-
- let res = await m.vm.$refs.reportSelector.open({
+ let res = await m.vm.$refs.reportSelector.open(
+ {
AType: window.$gz.type.CustomerNote,
selectedRowIds: [m.vm.obj.id]
- });
-
- //if null for no selection
- //just bail out
- if (res == null) {
- return;
- }
- //persist last report selected
- window.$gz.form.setLastReport(FORM_KEY, res);
-
- //Now open the report viewer...
- m.vm.$router.push({
- name: "ay-report",
- params: { recordid: res.id, ayatype: window.$gz.type.CustomerNote }
- });
+ },
+ m.id
+ );
+ if (res == null) {
+ return;
}
+ window.$gz.form.setLastReport(FORM_KEY, res);
+ generateMenu(m.vm);
break;
+
default:
window.$gz.eventBus.$emit(
"notify-warning",
@@ -474,6 +458,7 @@ function generateMenu(vm) {
if (lastReport != null) {
menuOptions.menuItems.push({
title: lastReport.name,
+ notrans: true,
icon: "$ayiFileAlt",
key: FORM_KEY + ":report:" + lastReport.id,
vm: vm
diff --git a/ayanova/src/views/cust-customer-notes.vue b/ayanova/src/views/cust-customer-notes.vue
index 0c39427a..4007a079 100644
--- a/ayanova/src/views/cust-customer-notes.vue
+++ b/ayanova/src/views/cust-customer-notes.vue
@@ -99,37 +99,20 @@ async function clickHandler(menuItem) {
}
break;
case "report":
- if (m.id != null) {
- //last report selected is in m.id
- m.vm.$router.push({
- name: "ay-report",
- params: { recordid: m.id, ayatype: window.$gz.type.CustomerNote }
- });
- } else {
- //general report selector chosen
-
+ {
let res = await m.vm.$refs.reportSelector.open(
m.vm.$refs.gzdatatable.getDataListSelection(
window.$gz.type.CustomerNote
- )
+ ),
+ m.id
);
-
- //if null for no selection
- //just bail out
if (res == null) {
return;
}
- //persist last report selected
window.$gz.form.setLastReport(FORM_KEY, res);
-
- //Now open the report viewer...
- m.vm.$router.push({
- name: "ay-report",
- params: { recordid: res.id, ayatype: window.$gz.type.CustomerNote }
- });
+ generateMenu(m.vm); //refresh the menu with the new report
}
break;
-
default:
window.$gz.eventBus.$emit(
"notify-warning",
@@ -179,6 +162,7 @@ function generateMenu(vm) {
if (lastReport != null) {
menuOptions.menuItems.push({
title: lastReport.name,
+ notrans: true,
icon: "$ayiFileAlt",
key: FORM_KEY + ":report:" + lastReport.id,
vm: vm
diff --git a/ayanova/src/views/cust-customer.vue b/ayanova/src/views/cust-customer.vue
index ce1fdad5..21255a6f 100644
--- a/ayanova/src/views/cust-customer.vue
+++ b/ayanova/src/views/cust-customer.vue
@@ -1359,36 +1359,19 @@ async function clickHandler(menuItem) {
m.vm.duplicate();
break;
case "report":
- if (m.id != null) {
- //last report selected is in m.id
- m.vm.$router.push({
- name: "ay-report",
- params: { recordid: m.id, ayatype: window.$gz.type.Customer }
- });
- } else {
- //general report selector chosen
-
- let res = await m.vm.$refs.reportSelector.open({
+ let res = await m.vm.$refs.reportSelector.open(
+ {
AType: window.$gz.type.Customer,
selectedRowIds: [m.vm.obj.id]
- });
-
- //if null for no selection
- //just bail out
- if (res == null) {
- return;
- }
- //persist last report selected
- window.$gz.form.setLastReport(FORM_KEY, res);
-
- //Now open the report viewer...
- m.vm.$router.push({
- name: "ay-report",
- params: { recordid: res.id, ayatype: window.$gz.type.Customer }
- });
+ },
+ m.id
+ );
+ if (res == null) {
+ return;
}
+ window.$gz.form.setLastReport(FORM_KEY, res);
+ generateMenu(m.vm);
break;
-
case "geoview":
window.$gz.util.viewGeoLocation({
latitude: m.vm.obj.latitude,
@@ -1508,6 +1491,7 @@ function generateMenu(vm) {
if (lastReport != null) {
menuOptions.menuItems.push({
title: lastReport.name,
+ notrans: true,
icon: "$ayiFileAlt",
key: FORM_KEY + ":report:" + lastReport.id,
vm: vm
diff --git a/ayanova/src/views/cust-customers.vue b/ayanova/src/views/cust-customers.vue
index 4e9f6e43..f7fef128 100644
--- a/ayanova/src/views/cust-customers.vue
+++ b/ayanova/src/views/cust-customers.vue
@@ -103,37 +103,20 @@ async function clickHandler(menuItem) {
}
break;
case "report":
- if (m.id != null) {
- //last report selected is in m.id
- m.vm.$router.push({
- name: "ay-report",
- params: { recordid: m.id, ayatype: window.$gz.type.Customer }
- });
- } else {
- //general report selector chosen
-
+ {
let res = await m.vm.$refs.reportSelector.open(
m.vm.$refs.gzdatatable.getDataListSelection(
window.$gz.type.Customer
- )
+ ),
+ m.id
);
-
- //if null for no selection
- //just bail out
if (res == null) {
return;
}
- //persist last report selected
window.$gz.form.setLastReport(FORM_KEY, res);
-
- //Now open the report viewer...
- m.vm.$router.push({
- name: "ay-report",
- params: { recordid: res.id, ayatype: window.$gz.type.Customer }
- });
+ generateMenu(m.vm); //refresh the menu with the new report
}
break;
-
default:
window.$gz.eventBus.$emit(
"notify-warning",
@@ -182,6 +165,7 @@ function generateMenu(vm) {
if (lastReport != null) {
menuOptions.menuItems.push({
title: lastReport.name,
+ notrans: true,
icon: "$ayiFileAlt",
key: FORM_KEY + ":report:" + lastReport.id,
vm: vm
diff --git a/ayanova/src/views/cust-head-office.vue b/ayanova/src/views/cust-head-office.vue
index 1c65352b..9807df8f 100644
--- a/ayanova/src/views/cust-head-office.vue
+++ b/ayanova/src/views/cust-head-office.vue
@@ -1245,36 +1245,19 @@ async function clickHandler(menuItem) {
m.vm.duplicate();
break;
case "report":
- if (m.id != null) {
- //last report selected is in m.id
- m.vm.$router.push({
- name: "ay-report",
- params: { recordid: m.id, ayatype: window.$gz.type.HeadOffice }
- });
- } else {
- //general report selector chosen
-
- let res = await m.vm.$refs.reportSelector.open({
+ let res = await m.vm.$refs.reportSelector.open(
+ {
AType: window.$gz.type.HeadOffice,
selectedRowIds: [m.vm.obj.id]
- });
-
- //if null for no selection
- //just bail out
- if (res == null) {
- return;
- }
- //persist last report selected
- window.$gz.form.setLastReport(FORM_KEY, res);
-
- //Now open the report viewer...
- m.vm.$router.push({
- name: "ay-report",
- params: { recordid: res.id, ayatype: window.$gz.type.HeadOffice }
- });
+ },
+ m.id
+ );
+ if (res == null) {
+ return;
}
+ window.$gz.form.setLastReport(FORM_KEY, res);
+ generateMenu(m.vm);
break;
-
case "geoview":
window.$gz.util.viewGeoLocation({
latitude: m.vm.obj.latitude,
@@ -1358,6 +1341,7 @@ function generateMenu(vm) {
if (lastReport != null) {
menuOptions.menuItems.push({
title: lastReport.name,
+ notrans: true,
icon: "$ayiFileAlt",
key: FORM_KEY + ":report:" + lastReport.id,
vm: vm
diff --git a/ayanova/src/views/cust-head-offices.vue b/ayanova/src/views/cust-head-offices.vue
index 7709786f..c9adcfba 100644
--- a/ayanova/src/views/cust-head-offices.vue
+++ b/ayanova/src/views/cust-head-offices.vue
@@ -73,37 +73,20 @@ async function clickHandler(menuItem) {
}
break;
case "report":
- if (m.id != null) {
- //last report selected is in m.id
- m.vm.$router.push({
- name: "ay-report",
- params: { recordid: m.id, ayatype: window.$gz.type.HeadOffice }
- });
- } else {
- //general report selector chosen
-
+ {
let res = await m.vm.$refs.reportSelector.open(
m.vm.$refs.gzdatatable.getDataListSelection(
window.$gz.type.HeadOffice
- )
+ ),
+ m.id
);
-
- //if null for no selection
- //just bail out
if (res == null) {
return;
}
- //persist last report selected
window.$gz.form.setLastReport(FORM_KEY, res);
-
- //Now open the report viewer...
- m.vm.$router.push({
- name: "ay-report",
- params: { recordid: res.id, ayatype: window.$gz.type.HeadOffice }
- });
+ generateMenu(m.vm); //refresh the menu with the new report
}
break;
-
default:
window.$gz.eventBus.$emit(
"notify-warning",
@@ -152,6 +135,7 @@ function generateMenu(vm) {
if (lastReport != null) {
menuOptions.menuItems.push({
title: lastReport.name,
+ notrans: true,
icon: "$ayiFileAlt",
key: FORM_KEY + ":report:" + lastReport.id,
vm: vm
diff --git a/ayanova/src/views/cust-user.vue b/ayanova/src/views/cust-user.vue
index 153ab966..5395d2b0 100644
--- a/ayanova/src/views/cust-user.vue
+++ b/ayanova/src/views/cust-user.vue
@@ -1004,34 +1004,18 @@ async function clickHandler(menuItem) {
m.vm.duplicate();
break;
case "report":
- if (m.id != null) {
- //last report selected is in m.id
- m.vm.$router.push({
- name: "ay-report",
- params: { recordid: m.id, ayatype: window.$gz.type.User }
- });
- } else {
- //general report selector chosen
-
- let res = await m.vm.$refs.reportSelector.open({
+ let res = await m.vm.$refs.reportSelector.open(
+ {
AType: window.$gz.type.User,
selectedRowIds: [m.vm.obj.id]
- });
-
- //if null for no selection
- //just bail out
- if (res == null) {
- return;
- }
- //persist last report selected
- window.$gz.form.setLastReport(FORM_KEY, res);
-
- //Now open the report viewer...
- m.vm.$router.push({
- name: "ay-report",
- params: { recordid: res.id, ayatype: window.$gz.type.User }
- });
+ },
+ m.id
+ );
+ if (res == null) {
+ return;
}
+ window.$gz.form.setLastReport(FORM_KEY, res);
+ generateMenu(m.vm);
break;
case "directnotify":
//nav to direct notify with list of users appended to route
@@ -1114,6 +1098,7 @@ function generateMenu(vm) {
if (lastReport != null) {
menuOptions.menuItems.push({
title: lastReport.name,
+ notrans: true,
icon: "$ayiFileAlt",
key: FORM_KEY + ":report:" + lastReport.id,
vm: vm
diff --git a/ayanova/src/views/cust-users.vue b/ayanova/src/views/cust-users.vue
index a2b04ef9..9299aec3 100644
--- a/ayanova/src/views/cust-users.vue
+++ b/ayanova/src/views/cust-users.vue
@@ -9,7 +9,7 @@