diff --git a/ayanova/devdocs/todo.txt b/ayanova/devdocs/todo.txt index 3c497b32..3a1ccca6 100644 --- a/ayanova/devdocs/todo.txt +++ b/ayanova/devdocs/todo.txt @@ -42,7 +42,7 @@ todo: is smoke test really excercising every list? Some are only available from this is important because it's going to drive future removal of unused locale keys LIST IS IN SMOKE>JS, JUST CODE IT - +localhost:8080//viewreport?oid=1&rid=1 erroring out, kosher? ## V8MIGRATE @@ -53,6 +53,7 @@ todo: dirty big test again with contracts etc ## CLIENT MISC ITEMS +todo: render report directly not working due to server changes, needs to rehydrate the object type to work properly todo: bugbug sort a column in data table then remove that column from display will trigger error needs to gracefully handle missing columns diff --git a/ayanova/src/api/gzapi.js b/ayanova/src/api/gzapi.js index f1ee4f2d..25a86d38 100644 --- a/ayanova/src/api/gzapi.js +++ b/ayanova/src/api/gzapi.js @@ -173,6 +173,7 @@ export default { return; } else { //log unhandled api error + window.$gz.store.commit( "logItem", "API error: status=" + @@ -696,8 +697,11 @@ export default { let res = await window.$gz.api.upsert("report/render", reportDataOptions); if (res.error) { - throw new Error(window.$gz.errorHandler.errorToString(res)); - //throw new Error(res.error); + if (redirectNotPopup) { + return res; + } else { + throw new Error(window.$gz.errorHandler.errorToString(res)); + } } else { let reportUrl = window.$gz.api.reportDownloadUrl(res.data); if (redirectNotPopup) { diff --git a/ayanova/src/router.js b/ayanova/src/router.js index 391a0d58..59d1a065 100644 --- a/ayanova/src/router.js +++ b/ayanova/src/router.js @@ -722,13 +722,24 @@ export default new Router({ { //REPORT VIEW FROM URL path: "/viewreport", - beforeEnter: (to, from, next) => { - (async function() { - //open report links have a query string /viewreport?oid=[objectid]&rid=[reportid] - let objectId = parseInt(to.query.oid); - let reportId = parseInt(to.query.rid); - await window.$gz.api.renderReport(objectId, reportId, true); - })(); + beforeEnter: async (to, from, next) => { + // (async function() { + //open report links have a query string /viewreport?oid=[objectid]&rid=[reportid] + let objectId = parseInt(to.query.oid); + let reportId = parseInt(to.query.rid); + + let res = await window.$gz.api.renderReport(objectId, reportId, true); + if (res.error) { + //log the error and do a popup for it + let msg = `/viewReport, query ${JSON.stringify( + to.query + )}, server error: ${JSON.stringify(res.error)}`; + // window.$gz.store.commit("logItem", msg); + window.$gz.eventBus.$emit("notify-error", msg); + next("/applog"); + } + + //})(); next(false); } diff --git a/ayanova/src/views/acc-service-banks.vue b/ayanova/src/views/acc-service-banks.vue index e0533f5d..0457140e 100644 --- a/ayanova/src/views/acc-service-banks.vue +++ b/ayanova/src/views/acc-service-banks.vue @@ -1,7 +1,9 @@