diff --git a/ayanova/devdocs/todo.txt b/ayanova/devdocs/todo.txt index 3903efd5..16db4fda 100644 --- a/ayanova/devdocs/todo.txt +++ b/ayanova/devdocs/todo.txt @@ -13,8 +13,8 @@ todo: Need client to accept an open object url which directly opens a report This should be sent to the server directly to render the report in the current user's Client browser context So they would click on a link in an email and be taken to login and then directly to previewing the report - - + URL: 404 - Object not found: "/viewreport/2/100/1" /viewreport/objecttype/:objectid/:reportid + http://localhost:8080//viewreport/2/100/1 todo: export from grid to xls, csv etc. I'm thinking perhaps also a secondary ability to make report templates that are actually intended for export to xls or whatever as an additional feature diff --git a/ayanova/src/views/login.vue b/ayanova/src/views/login.vue index 552a039f..80fe609a 100644 --- a/ayanova/src/views/login.vue +++ b/ayanova/src/views/login.vue @@ -106,7 +106,7 @@ export default { return { input: { username: "superuser", - password: "l3tm3in" + password: "l3tm3in", }, hasSmallLogo: false, hasMediumLogo: false, @@ -123,115 +123,115 @@ export default { { name: "AyaNova SuperUser - all", l: "superuser", - p: "l3tm3in" + p: "l3tm3in", }, { name: "Accounting", l: "Accounting", - p: "Accounting" + p: "Accounting", }, { name: "Business admin", l: "BizAdminFull", - p: "BizAdminFull" + p: "BizAdminFull", }, { name: "Business admin - limited", l: "BizAdminLimited", - p: "BizAdminLimited" + p: "BizAdminLimited", }, { name: "Customer", l: "CustomerFull", - p: "CustomerFull" + p: "CustomerFull", }, { name: "Customer - limited", l: "CustomerLimited", - p: "CustomerLimited" + p: "CustomerLimited", }, { name: "Dispatcher", l: "DispatchFull", - p: "DispatchFull" + p: "DispatchFull", }, { name: "Dispatcher - limited", l: "DispatchLimited", - p: "DispatchLimited" + p: "DispatchLimited", }, { name: "Head office", l: "HeadOffice", - p: "HeadOffice" + p: "HeadOffice", }, { name: "Inventory", l: "InventoryFull", - p: "InventoryFull" + p: "InventoryFull", }, { name: "Inventory - limited", l: "InventoryLimited", - p: "InventoryLimited" + p: "InventoryLimited", }, { name: "Operations", l: "OpsAdminFull", - p: "OpsAdminFull" + p: "OpsAdminFull", }, { name: "Operations - limited", l: "OpsAdminLimited", - p: "OpsAdminLimited" + p: "OpsAdminLimited", }, { name: "Sales", l: "SalesFull", - p: "SalesFull" + p: "SalesFull", }, { name: "Sales - limited", l: "SalesLimited", - p: "SalesLimited" + p: "SalesLimited", }, { name: "Subcontractor", l: "SubContractorFull", - p: "SubContractorFull" + p: "SubContractorFull", }, { name: "Subcontractor - limited", l: "SubContractorLimited", - p: "SubContractorLimited" + p: "SubContractorLimited", }, { name: "Technician", l: "TechFull", - p: "TechFull" + p: "TechFull", }, { name: "Technician - limited", l: "TechLimited", - p: "TechLimited" + p: "TechLimited", }, { name: "Translation - Deutsch / German", l: "de", - p: "de" + p: "de", }, { name: "Translation - Español / Spanish", l: "es", - p: "es" + p: "es", }, { name: "Translation - Français / French", l: "fr", - p: "fr" - } - ] - } + p: "fr", + }, + ], + }, }; }, async created() { @@ -260,7 +260,7 @@ export default { window.$gz.eventBus.$emit("menu-change", { isMain: true, icon: "", - title: "" + title: "", }); try { let res = await window.$gz.api.get("notify/hello"); @@ -280,14 +280,14 @@ export default { this.input.password = item.p; this.input.username = item.l; }, - trialHelpClick: function() { + trialHelpClick: function () { //open help nav for trial login window.$gz.eventBus.$emit("menu-click", { key: "app:help", - data: "ay-start-trial-login" + data: "ay-start-trial-login", }); }, - onEnterUserName: function() { + onEnterUserName: function () { //move focus to password document.getElementsByName("password")[0].focus(); }, @@ -303,7 +303,7 @@ export default { "auth", { login: vm.input.username, - password: vm.input.password + password: vm.input.password, }, true ); @@ -320,7 +320,7 @@ export default { (vm.$store.state.globalSettings.licenseStatus == 3 || vm.$store.state.globalSettings.licenseStatus == 4) ) { - (async function() { + (async function () { await window.$gz.dialog.displayLTModalNotificationMessage( "MaintenanceExpiredNote", "MaintenanceExpired", @@ -332,6 +332,14 @@ export default { let toPath = vm.$route.params.topath; //set in app.vue::mounted if (toPath != undefined) { + //check if it's an open report link and if so + //trigger that to open in a new window and continue on to normal home page + if (toPath.startsWith("/viewreport")) { + alert("stub: open report"); + vm.$router.push(vm.$store.state.homePage); + } + + //otherwise open the url indicated vm.$router.push(vm.$route.params.topath); } else { vm.$router.push(vm.$store.state.homePage); @@ -368,7 +376,7 @@ export default { } } } - } + }, }, beforeRouteEnter(to, from, next) { //very important as this in conjunction with the menu options means @@ -378,6 +386,6 @@ export default { processLogout(); next(); }); - } + }, };