From 3dd7e0554970cd729f04bad12c0ccdd77abcf14b Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Wed, 10 Jun 2020 21:40:05 +0000 Subject: [PATCH] all apparently working and cleaned up --- ayanova/devdocs/todo.txt | 4 + ayanova/src/api/auth.js | 37 - ayanova/src/api/authutil.js | 14 - ayanova/src/api/gzapi.js | 19 - ayanova/src/api/gzutil.js | 3 - ayanova/src/api/initialize.js | 845 ----------------------- ayanova/src/api/translation.js | 64 +- ayanova/src/components/gz-data-table.vue | 5 +- ayanova/src/views/login.vue | 6 +- 9 files changed, 12 insertions(+), 985 deletions(-) diff --git a/ayanova/devdocs/todo.txt b/ayanova/devdocs/todo.txt index 9409b34e..51b4c923 100644 --- a/ayanova/devdocs/todo.txt +++ b/ayanova/devdocs/todo.txt @@ -93,6 +93,10 @@ todo: License testing (I know it's working when these things all pass) ################################# todo: server error red box messages have \r\n characters in them todo: add system to reset password if lost +todo: Auth is directly fetching, re-route through gzapi instead +todo: remove all use of .then() as it's being used incorrectly + replace with await and async methods +todo: switch all api methods to use the Ex method added (part of de then-ification) todo: Administration - Users is this where roles are set? diff --git a/ayanova/src/api/auth.js b/ayanova/src/api/auth.js index 3a512fb0..c3078bf0 100644 --- a/ayanova/src/api/auth.js +++ b/ayanova/src/api/auth.js @@ -6,7 +6,6 @@ export default { async authenticate(login, password) { return new Promise(async function doAuth(resolve, reject) { try { - console.log("AUTH: TOP"); let fetchData = await fetch( window.$gz.api.APIUrl("auth"), window.$gz.api.fetchPostNoAuthOptions({ @@ -14,51 +13,15 @@ export default { password: password }) ); - console.log("AUTH: status"); fetchData = await window.$gz.api.status(fetchData); - console.log("AUTH: extractBody"); fetchData = await window.$gz.api.extractBody(fetchData); - console.log("AUTH: calling processLogin"); await processLogin(fetchData); - console.log( - "### AUTH:after processlogin completed - resolving done (THIS SHOULD BE LAST)" - ); resolve(); } catch (e) { reject(e); } - // .catch(function handleAuthError(error) { - // processLogout(); - // return reject(error); - // }); - - // .then(processLogin) - // .then(() => { - - // return resolve(true); - // }) //succeeded, nothing to return }); }, - // async authenticate(login, password) { - // return fetch( - // window.$gz.api.APIUrl("auth"), - // window.$gz.api.fetchPostNoAuthOptions({ - // login: login, - // password: password - // }) - // ) - // .then(window.$gz.api.status) - // .then(window.$gz.api.extractBody) - // .then(processLogin) - // .then(() => { - // console.log("auth:authenticate returning resolved done"); - // return Promise.resolve(true); - // }) //succeeded, nothing to return - // .catch(function handleAuthError(error) { - // processLogout(); - // return Promise.reject(error); - // }); - // }, logout() { processLogout(); } diff --git a/ayanova/src/api/authutil.js b/ayanova/src/api/authutil.js index 0893a039..54ef4a03 100644 --- a/ayanova/src/api/authutil.js +++ b/ayanova/src/api/authutil.js @@ -5,8 +5,6 @@ import initialize from "./initialize"; export function processLogin(response) { return new Promise(async function(resolve, reject) { try { - console.log("authutil:process login TOP"); - //check there is a response of some kind if (!response) { window.$gz.store.commit("logItem", "auth::processLogin -> no response"); @@ -65,10 +63,7 @@ export function processLogin(response) { ); //Get global settings - console.log("authutil:calling get blobal settings"); let gsets = await window.$gz.api.get("global-biz-setting/client"); - console.log("authutil:got global settings"); - if (gsets.error) { //In a form this would trigger a bunch of validation or error display code but for here and now: //convert error to human readable string for display and popup a notification to user @@ -83,19 +78,10 @@ export function processLogin(response) { //or else use browser defaults window.$gz.store.commit("setGlobalSettings", gsets.data); } - - console.log("** authutil calling test delay --->>>>"); - await window.$gz.api.doDelayAsync(); - console.log("** authutil back from delay continuing.."); - - //INITIALIZE - console.log("authutil:calling initialize"); await initialize(); } catch (err) { - console.log("authutil:error in async chain global/init"); reject(err); } - console.log("authutil:no error resolving async chain global/init"); resolve(); //------------------------------------------------- }); diff --git a/ayanova/src/api/gzapi.js b/ayanova/src/api/gzapi.js index 09e921e1..87e3deb4 100644 --- a/ayanova/src/api/gzapi.js +++ b/ayanova/src/api/gzapi.js @@ -198,7 +198,6 @@ export default { if (!contentType) { return response; } - //console.log("gzapi::extractBody method, content type is:", contentType); if (contentType.includes("json")) { return await response.json(); } @@ -216,7 +215,6 @@ export default { if (!contentType) { return response; } - //console.log("gzapi::extractBody method, content type is:", contentType); if (contentType.includes("json")) { return response.json(); } @@ -442,9 +440,7 @@ export default { // async upsertEx(route, data) { try { - console.log("gzapi:upsertEx TOP"); let that = this; - // return new Promise(function upsertDataToServer(resolve, reject) { //determine if this is a new or existing record let fetchOptions = undefined; if (data.concurrency) { @@ -458,28 +454,13 @@ export default { route = route.slice(0, -2); } } - // console.log("** gzapi:upsertEx calling test delay"); - // await this.doDelayAsync(); - // console.log("** gzapi:upsertEx back from delay continuing.."); - console.log("gzapi:upsertEx calling fetch"); let r = await fetch(that.APIUrl(route), fetchOptions); - console.log("gzapi:upsertEx calling statusEx"); that.statusEx(r); - console.log("gzapi:upsertEx calling extractBodyEx"); r = await that.extractBodyEx(r); - console.log("gzapi:upsertEx done, returning response"); return r; - // eslint-disable-next-line - // .then((response) => { - // //Note: response.error indicates there is an error, however this is not an unusual condition - // //it could be validation errors or other general error so we need to treat it here like it's normal - // //and let the caller deal with it appropriately - // resolve(response); - // }) } catch (error) { handleError("UPSERT", error, route, reject); } - // }); }, upsert(route, data) { let that = this; diff --git a/ayanova/src/api/gzutil.js b/ayanova/src/api/gzutil.js index c40a45aa..b30614ca 100644 --- a/ayanova/src/api/gzutil.js +++ b/ayanova/src/api/gzutil.js @@ -358,9 +358,6 @@ export default { return iconFromExtension; } - // console.log( - // "gzutil:iconForFile -> No icon for file:" + fileName + " Mime:" + mimeType - // ); return "fa-file"; }, /////////////////////////////////////////////// diff --git a/ayanova/src/api/initialize.js b/ayanova/src/api/initialize.js index 248e471e..245587cb 100644 --- a/ayanova/src/api/initialize.js +++ b/ayanova/src/api/initialize.js @@ -15,7 +15,6 @@ function addNavItem(title, icon, route, navItems, key, testid) { } function initNavPanal() { - console.log("INITIALIZE:initNavPanal TOP"); let key = 0; let sub = []; @@ -698,13 +697,9 @@ function initNavPanal() { //*** LOGOUT - all users addNavItem(t("Logout"), "fa-sign-out-alt", "/login", [], key++, "logout"); - - console.log("initialize:INitnavpanel BOTTOM / DONE"); } function getUserOptions() { - //GET USER OPTIONS - console.log("INITIALIZE:getUserOptions top"); return ( window.$gz.api .get("user-option/" + window.$gz.store.state.userId) @@ -765,858 +760,18 @@ function getUserOptions() { // on change of authentication status export default function initialize() { return new Promise(async function(resolve) { - console.log("INITIALIZE:TOP"); - // console.log("** authutil calling test delay"); - // await window.$gz.api.doDelayAsync(); - // console.log("** authutil back from delay continuing.."); if (!window.$gz.store.state.authenticated) { throw "initialize: Error, called but user not authenticated!"; } try { - // (async function() { - console.log("INITIALIZE:calling translation.cacheTranslations..."); await window.$gz.translation.cacheTranslations( window.$gz.translation.coreKeys ); - console.log("INITIALIZE: calling initnavpanel"); await initNavPanal(); - console.log("INITIALIZE:calling get user options"); await getUserOptions(); - console.log("INITIALIZE:done inside chain"); - console.log("INITIALIZE: calling resolve"); resolve(); - // })(); } catch (err) { reject(err); } }); } -// //Fetch the core translated text keys that will always be required by user -// window.$gz.translation -// .fetch(window.$gz.translation.coreKeys) -// .then(function initializeNavPanel() { -// let key = 0; -// let sub = []; - -// let t = window.$gz.translation.get; -// let role = window.$gz.role.AUTHORIZATION_ROLES; -// //****************** HOME -// //Most users except ops and client logins -// if ( -// window.$gz.role.hasRole([ -// role.BizAdminFull, -// role.BizAdminLimited, -// role.DispatchFull, -// role.DispatchLimited, -// role.InventoryLimited, -// role.InventoryFull, -// role.AccountingFull, -// role.TechLimited, -// role.TechFull, -// role.SubContractorLimited, -// role.SubContractorFull, -// role.SalesFull, -// role.SalesLimited -// ]) -// ) { -// //DASHBOARD -// sub.push({ -// title: t("Dashboard"), -// icon: "fa-tachometer-alt", -// route: "/home-dashboard", -// key: key++ -// }); - -// //Set homePage in store to dashboard -// window.$gz.store.commit("setHomePage", "/home-dashboard"); - -// //SEARCH -// if ( -// window.$gz.role.hasRole([ -// role.BizAdminFull, -// role.BizAdminLimited, -// role.DispatchFull, -// role.DispatchLimited, -// role.InventoryLimited, -// role.InventoryFull, -// role.AccountingFull, -// role.TechLimited, -// role.TechFull, -// role.SalesFull, -// role.SalesLimited -// ]) -// ) { -// sub.push({ -// title: t("Search"), -// icon: "fa-search", -// route: "/home-search", -// key: key++ -// }); -// } - -// //SCHEDULE (personal) -// sub.push({ -// title: t("Schedule"), -// icon: "fa-calendar-day", -// route: "/home-schedule", -// key: key++ -// }); - -// //MEMOS -// sub.push({ -// title: t("MemoList"), -// icon: "fa-inbox", -// route: "/home-memos", -// key: key++ -// }); - -// //REMINDERS (SCHEDULE MARKERS) -// sub.push({ -// title: t("ReminderList"), -// icon: "fa-sticky-note", -// route: "/home-reminders", -// key: key++ -// }); - -// //USER SETTINGS -// sub.push({ -// title: t("UserSettings"), -// icon: "fa-user-cog", -// route: "/home-user-settings", -// key: key++ -// }); - -// //Moved these two into user settings -// // //USER TRANSLATE -// // sub.push({ -// // title: t("Translation"), -// // icon: "fa-language", -// // route: "/home-translation", -// // key: key++ -// // }); - -// // //SET LOGIN -// // sub.push({ -// // title: t("SetLoginPassword"), -// // icon: "fa-key", -// // route: "/home-password", -// // key: key++ -// // }); - -// //USER NOTIFICATION SUBSCRIPTIONS -// if ( -// //all but subcontractors (arbitrary decision without any facts ;) -// window.$gz.role.hasRole([ -// role.BizAdminFull, -// role.BizAdminLimited, -// role.DispatchFull, -// role.DispatchLimited, -// role.InventoryLimited, -// role.InventoryFull, -// role.AccountingFull, -// role.TechLimited, -// role.TechFull, -// role.SalesFull, -// role.SalesLimited -// ]) -// ) { -// sub.push({ -// title: t("NotifySubscriptionList"), -// icon: "fa-bullhorn", -// route: "/home-notify-subscriptions", -// key: key++ -// }); -// } - -// //HOME -// addNavItem(t("Home"), "fa-home", undefined, sub, key++, "home"); -// } - -// //****************** CUSTOMERS -// if ( -// window.$gz.role.hasRole([ -// role.BizAdminFull, -// role.BizAdminLimited, -// role.DispatchFull, -// role.DispatchLimited, -// role.TechFull, -// role.TechLimited, -// role.AccountingFull, -// role.SalesFull, -// role.SalesLimited -// ]) -// ) { -// //clear sublevel array -// sub = []; - -// //CUSTOMERS subitem -// sub.push({ -// title: t("CustomerList"), -// icon: "fa-address-card", -// route: "/cust-customers", -// key: key++ -// }); - -// //HEAD OFFICES subitem -// sub.push({ -// title: t("HeadOfficeList"), -// icon: "fa-sitemap", -// route: "/cust-headoffices", -// key: key++ -// }); - -// // ** CUSTOMER (TOP) -// addNavItem( -// t("CustomerList"), -// "fa-address-book", -// undefined, -// sub, -// key++, -// "customer" -// ); -// } - -// //****************** SERVICE -// if ( -// window.$gz.role.hasRole([ -// role.BizAdminFull, -// role.BizAdminLimited, -// role.DispatchFull, -// role.DispatchLimited, -// role.TechFull, -// role.TechLimited, -// role.SalesFull, -// role.SalesLimited -// ]) -// ) { -// //clear sublevel array -// sub = []; -// //SCHEDULE (combined) -// if ( -// window.$gz.role.hasRole([ -// role.BizAdminFull, -// role.BizAdminLimited, -// role.DispatchFull, -// role.DispatchLimited, -// role.TechFull, -// role.TechLimited -// ]) -// ) { -// sub.push({ -// title: t("Schedule"), -// icon: "fa-calendar-alt", -// route: "/svc-schedule", -// key: key++ -// }); -// } - -// //WORKORDERS LIST (was service workorders) -// if ( -// window.$gz.role.hasRole([ -// role.BizAdminFull, -// role.BizAdminLimited, -// role.DispatchFull, -// role.DispatchLimited, -// role.TechFull, -// role.TechLimited -// ]) -// ) { -// sub.push({ -// title: t("WorkOrderList"), -// icon: "fa-tools", -// route: "/svc-workorders", -// key: key++ -// }); -// } - -// // //WORKORDER TEMPLATES LIST -// //this will be an item inside the workorders NEW menu or grid or wherever but it's not top level worthy -// //there used to be an array for 3rd level shit but that's whack yo! ;) -// // subSub.push({ -// // title: t("WorkOrderServiceTemplate"), -// // icon: "fa-stamp", -// // route: "/svc-workorder-templates", -// // key: key++ -// // }); - -// //QUOTE LIST -// //NOTE: this is the only item in this service level area that is visible to Sales -// //so there is no separate role check here as the service group role check supersedes this -// sub.push({ -// title: t("QuoteList"), -// icon: "fa-pencil-alt", -// route: "/svc-quotes", -// key: key++ -// }); - -// //PM LIST -// if ( -// window.$gz.role.hasRole([ -// role.BizAdminFull, -// role.BizAdminLimited, -// role.DispatchFull, -// role.DispatchLimited, -// role.TechFull, -// role.TechLimited -// ]) -// ) { -// sub.push({ -// title: t("PMList"), -// icon: "fa-business-time", -// route: "/svc-pm-list", -// key: key++ -// }); -// } - -// //UNITS subitem -// if ( -// window.$gz.role.hasRole([ -// role.BizAdminFull, -// role.BizAdminLimited, -// role.DispatchFull, -// role.DispatchLimited, -// role.TechFull, -// role.TechLimited -// ]) -// ) { -// sub.push({ -// title: t("UnitList"), -// icon: "fa-fan", -// route: "/svc-units", -// key: key++ -// }); - -// //UNIT MODELS subitem -// sub.push({ -// title: t("UnitModels"), -// icon: "fa-dice-d20", -// route: "/svc-unit-models", -// key: key++ -// }); -// } -// //LOANERS subitem -// if ( -// window.$gz.role.hasRole([ -// role.BizAdminFull, -// role.BizAdminLimited, -// role.DispatchFull, -// role.DispatchLimited, -// role.TechFull, -// role.TechLimited -// ]) -// ) { -// sub.push({ -// title: t("LoanUnitList"), -// icon: "fa-plug", -// route: "/svc-loaners", -// key: key++ -// }); -// } - -// //CONTRACTS subitem -// if ( -// window.$gz.role.hasRole([ -// role.BizAdminFull, -// role.BizAdminLimited, -// role.DispatchFull, -// role.DispatchLimited, -// role.TechFull, -// role.TechLimited -// ]) -// ) { -// sub.push({ -// title: t("ContractList"), -// icon: "fa-file-contract", -// route: "/svc-contracts", -// key: key++ -// }); -// } - -// //CUSTOMER SERVICE REQUESTS subitem -// if ( -// window.$gz.role.hasRole([ -// role.BizAdminFull, -// role.BizAdminLimited, -// role.DispatchFull, -// role.DispatchLimited, -// role.TechFull, -// role.TechLimited -// ]) -// ) { -// sub.push({ -// title: t("CustomerServiceRequestList"), -// icon: "fa-child", -// route: "/svc-csr-list", -// key: key++ -// }); -// } - -// //**** Service (TOP GROUP) -// addNavItem( -// t("Service"), -// "fa-toolbox", -// undefined, -// sub, -// key++, -// "service" -// ); -// } - -// //****************** INVENTORY -// if ( -// window.$gz.role.hasRole([ -// role.BizAdminFull, -// role.BizAdminLimited, -// role.InventoryFull, -// role.InventoryLimited -// ]) -// ) { -// //clear sublevel array -// sub = []; - -// //PARTS (part list) -// sub.push({ -// title: t("PartList"), -// icon: "fa-boxes", -// route: "/inv-parts", -// key: key++ -// }); - -// //INVENTORY -// sub.push({ -// title: t("PartByWarehouseInventoryList"), -// icon: "fa-pallet", -// route: "/inv-part-inventory", -// key: key++ -// }); - -// //PART REQUESTS -// sub.push({ -// title: t("WorkOrderItemPartRequestList"), -// icon: "fa-paper-plane", -// route: "/inv-part-requests", -// key: key++ -// }); - -// //PURCHASE ORDERS -// sub.push({ -// title: t("InventoryPurchaseOrders"), -// icon: "fa-shipping-fast", -// route: "/inv-purchase-orders", -// key: key++ -// }); - -// //NOTE: V7 HAD POITEMS, THAT MAY BE AN ANACHRONISM NOW SO NOT PUTTING HERE - -// //PURCHASE ORDER RECEIPTS -// sub.push({ -// title: t("InventoryPurchaseOrderReceipts"), -// icon: "fa-dolly-flatbed", -// route: "/inv-purchase-order-receipts", -// key: key++ -// }); - -// //NOTE: V7 HAD PORECEIPTITEMS, THAT MAY BE AN ANACHRONISM NOW SO NOT PUTTING HERE - -// //NOTE: Warehouses? Shouldn't they be here as well?? - -// //ADJUSTMENTS -// sub.push({ -// title: t("InventoryPartInventoryAdjustments"), -// icon: "fa-dolly", -// route: "/inv-adjustments", -// key: key++ -// }); - -// //**** INVENTORY (TOP GROUP) -// addNavItem( -// t("Inventory"), -// "fa-box", -// undefined, -// sub, -// key++, -// "inventory" -// ); -// } - -// //**** VENDORS (TOP GROUP) -// if ( -// window.$gz.role.hasRole([ -// role.BizAdminFull, -// role.BizAdminLimited, -// role.AccountingFull, -// role.DispatchFull, -// role.DispatchLimited, -// role.InventoryFull, -// role.InventoryLimited -// ]) -// ) { -// addNavItem( -// t("VendorList"), -// "fa-store", -// "/vendors", -// [], -// key++, -// "vendor" -// ); -// } - -// //****************** ACCOUNTING -// if ( -// window.$gz.role.hasRole([ -// role.BizAdminFull, -// role.AccountingFull, -// role.BizAdminLimited -// ]) -// ) { -// sub = []; - -// //FAKE subitem as is still TBD -// sub.push({ -// title: t("Accounting"), -// icon: "fa-calculator", -// route: "/acc-accounting", -// key: key++ -// }); - -// // ** ACCOUNTING (TOP) -// addNavItem( -// t("Accounting"), -// "fa-calculator", -// undefined, -// sub, -// key++, -// "accounting" -// ); -// } - -// //****************** ADMINISTRATION -// if ( -// window.$gz.role.hasRole([role.BizAdminFull, role.BizAdminLimited]) -// ) { -// //clear sublevel array -// sub = []; - -// // GLOBAL SETTINGS -// sub.push({ -// title: t("AdministrationGlobalSettings"), -// icon: "fa-cogs", -// route: "/adm-global-settings", -// key: key++ -// }); - -// // LICENSE -// sub.push({ -// title: t("HelpLicense"), -// icon: "fa-ticket-alt", -// route: "/adm-license", -// key: key++ -// }); - -// // USERS -// sub.push({ -// title: t("UserList"), -// icon: "fa-users", -// route: "/adm-users", -// key: key++ -// }); - -// // CUSTOM FIELD DESIGNER NOT REQUIRED, OPENS FROM INDIVIDUAL FORMS - -// //TRANSLATION -// sub.push({ -// title: t("Translation"), -// icon: "fa-language", -// route: "/adm-translation", -// key: key++ -// }); - -// //REPORT TEMPLATES -// sub.push({ -// title: t("ReportList"), -// icon: "fa-th-list", -// route: "/adm-report-templates", -// key: key++ -// }); - -// //FILES IN DATABASE -// sub.push({ -// title: t("Attachments"), -// icon: "fa-folder", -// route: "/adm-attachments", -// key: key++ -// }); - -// //EVENT LOG / HISTORY -// sub.push({ -// title: t("History"), -// icon: "fa-history", -// route: "/adm-history", -// key: key++ -// }); - -// //KPI / METRICS / CHARTS AND STUFF -// sub.push({ -// title: t("Statistics"), -// icon: "fa-chart-line", -// route: "/adm-statistics", -// key: key++ -// }); - -// // ** ADMINISTRATION (TOP) -// addNavItem( -// t("Administration"), -// "fa-user-tie", -// undefined, -// sub, -// key++, -// "administration" -// ); -// } - -// //****************** OPERATIONS -// if ( -// window.$gz.role.hasRole([role.OpsAdminFull, role.OpsAdminLimited]) -// ) { -// //clear sublevel array -// sub = []; - -// // ARCHIVE -// sub.push({ -// title: t("Backup"), -// icon: "fa-file-archive", -// route: "/ops-backup", -// key: key++ -// }); - -// //Set home page if they don't already have the dashboard set above -// if (!window.$gz.store.state.homePage) { -// //Set homePage in store to Backup -// window.$gz.store.commit("setHomePage", "/ops-BACKUP"); -// } - -// // SERVER STATE -// sub.push({ -// title: t("ServerState"), -// icon: "fa-door-open", -// route: "/ops-server-state", -// key: key++ -// }); - -// // JOBS -// sub.push({ -// title: t("ServerJobs"), -// icon: "fa-robot", -// route: "/ops-jobs", -// key: key++ -// }); - -// // LOGS -// sub.push({ -// title: t("ServerLog"), -// icon: "fa-history", -// route: "/ops-log", -// key: key++ -// }); - -// //METRICS -// sub.push({ -// title: t("ServerMetrics"), -// icon: "fa-file-medical-alt", -// route: "/ops-metrics", -// key: key++ -// }); - -// //PROFILE -// sub.push({ -// title: t("ServerProfiler"), -// icon: "fa-binoculars", -// route: "/ops-profile", -// key: key++ -// }); - -// //NOTIFICATION CONFIG AND HISTORY -// sub.push({ -// title: t("NotificationSettings"), -// icon: "fa-bullhorn", -// route: "/ops-notification-settings", -// key: key++ -// }); - -// // ** OPERATIONS (TOP) -// addNavItem( -// t("Operations"), -// "fa-server", -// undefined, -// sub, -// key++, -// "operations" -// ); -// } - -// //**** WIDGETS (TOP GROUP) -// if ( -// window.$gz.role.hasRole([ -// role.BizAdminFull, -// role.BizAdminLimited, -// role.InventoryFull, -// role.InventoryLimited -// ]) -// ) { -// addNavItem( -// t("WidgetList"), -// "fa-vial", -// "/widgets", -// [], -// key++, -// "widgets" -// ); -// } - -// //****************** CUSTOMER USER / HEAD OFFICE USER UI -// if ( -// window.$gz.role.hasRole([role.CustomerFull, role.CustomerLimited]) && -// (window.$gz.store.state.userType == 4 || -// window.$gz.store.state.userType == 5) -// ) { -// //clear sublevel array -// sub = []; - -// //Set homePage in store to customer csr for this user type - -// window.$gz.store.commit("setHomePage", "/customer-csr-list"); - -// //CSR LIST subitem -// sub.push({ -// title: t("CustomerServiceRequestList"), -// icon: "fa-child", -// route: "/customer-csr-list", -// key: key++ -// }); - -// //WORKORDERS subitem -// sub.push({ -// title: t("WorkOrderList"), -// icon: "fa-tools", -// route: "/customer-workorders", -// key: key++ -// }); - -// //** CUSTOMER LOGIN HOME (TOP) - -// addNavItem( -// t("Home"), -// "fa-home", -// undefined, -// sub, -// key++, -// "homecustomer" -// ); -// } - -// //*** LOGOUT - all users -// addNavItem( -// t("Logout"), -// "fa-sign-out-alt", -// "/login", -// [], -// key++, -// "logout" -// ); - -// console.log("INITIALIZE:Done menu init"); -// }) -// .then(() => { -// //GET USER OPTIONS -// window.$gz.api -// .get("user-option/" + window.$gz.store.state.userId) -// // eslint-disable-next-line -// .then((res) => { -// if (res.error) { -// //In a form this would trigger a bunch of validation or error display code but for here and now: -// //convert error to human readable string for display and popup a notification to user -// let msg = window.$gz.api.apiErrorToHumanString(res.error); -// window.$gz.store.commit( -// "logItem", -// "Initialize::() fetch useroptions -> error" + msg -// ); -// window.$gz.eventBus.$emit("notify-error", msg); -// } else { -// //Check if overrides and use them here -// //or else use browser defaults - -// let l = { -// languageOverride: null, -// timeZoneOverride: null, -// currencyName: null, -// hour12: true -// }; - -// //get language to use, try user set override first, if empty then browser set, if empty then default to en-us -// l.languageOverride = -// res.data.languageOverride || -// window.$gz.locale.getBrowserFirstLanguage() || -// "en-US"; - -// l.timeZoneOverride = -// res.data.timeZoneOverride || -// window.$gz.locale.getBrowserTimeZoneName() || -// "America/New_York"; - -// //No browser setting for this so meh -// l.currencyName = res.data.currencyName || "USD"; -// if (res.data.hour12 != null) { -// l.hour12 = res.data.hour12; -// } - -// window.$gz.store.commit("setLocale", l); -// resolve(); -// } -// }) -// .catch(function handleFetchUserOptionsError(error) { -// window.$gz.store.commit( -// "logItem", -// "Initialize::() fetch useroptions -> error" + error -// ); -// throw error; -// }); -// }) -// .then(() => { -// //GET GLOBAL SETTINGS -// window.$gz.api -// .get("global-biz-setting/client") -// // eslint-disable-next-line -// .then((res) => { -// if (res.error) { -// //In a form this would trigger a bunch of validation or error display code but for here and now: -// //convert error to human readable string for display and popup a notification to user -// let msg = window.$gz.api.apiErrorToHumanString(res.error); -// window.$gz.store.commit( -// "logItem", -// "Initialize::() fetch global-biz-setting/client -> error" + msg -// ); -// window.$gz.eventBus.$emit("notify-error", msg); -// } else { -// //Check if overrides and use them here -// //or else use browser defaults - -// window.$gz.store.commit("setGlobalSettings", res.data); -// resolve(); -// } -// }) -// .catch(function handleFetchClientGlobalSettingsError(error) { -// window.$gz.store.commit( -// "logItem", -// "Initialize::() fetch global-biz-setting/client -> error" + error -// ); -// throw error; -// }); -// }) -// .catch(function handleIntializeError(error) { -// window.$gz.store.commit( -// "logItem", -// "Initialize::() ltfetch -> error" + error -// ); -// throw error; -// }); -// }); diff --git a/ayanova/src/api/translation.js b/ayanova/src/api/translation.js index eb611814..c04c727e 100644 --- a/ayanova/src/api/translation.js +++ b/ayanova/src/api/translation.js @@ -31,70 +31,18 @@ export default { } //step 2: get it - console.log("translation:cacheTranslations calling fetch via API"); - let testres = await window.$gz.api.upsertEx("translation/subset", needIt); - console.log(testres); - - - console.log("translation:cacheTranslations calling fetch directly"); - let response = await fetch( - window.$gz.api.APIUrl("translation/subset"), - window.$gz.api.fetchPostOptions(needIt) + let transData = await window.$gz.api.upsertEx( + "translation/subset", + needIt ); - - console.log("translation:fetch calling STATUS"); - - let data = await window.$gz.api.status(response); - console.log("translation:fetch calling extractBody"); - let data2 = await window.$gz.api.extractBody(data); - console.log("translation:fetch calling processing into store"); - window.$gz._.forEach(data2, function commitFetchedLTItemToStore(item) { + transData.data.forEach(function commitFetchedTranslationItemToStore( + item + ) { window.$gz.store.commit("addTranslationText", item); }); - console.log("translation:fetch done calling resolve"); return resolve(); }); }, - // fetch(keys) { - // return new Promise(async function fetchTranslationKeysFromServer(resolve) { - // // - // //step 1: build an array of keys that we don't have already - // //Note: this will ensure only unique keys go into the store so it's safe to call this with dupes as can happen - // //for example datatables have dynamic column names so they need to fetch on demand - // let needIt = []; - // for (let i = 0; i < keys.length; i++) { - // if ( - // !window.$gz._.has(window.$gz.store.state.translationText, keys[i]) - // ) { - // needIt.push(keys[i]); - // } - // } - - // if (needIt.length == 0) { - // resolve(); - // return; - // } - - // //step 2: get it - // await fetch( - // window.$gz.api.APIUrl("translation/subset"), - // window.$gz.api.fetchPostOptions(needIt) - // ) - // .then(window.$gz.api.status) - // .then(window.$gz.api.extractBody) - // // eslint-disable-next-line - // .then((response) => { - // window.$gz._.forEach( - // response.data, - // function commitFetchedLTItemToStore(item) { - // window.$gz.store.commit("addTranslationText", item); - // } - // ); - // console.log("translation:fetch calling resolve"); - // resolve(); - // }); - // }); - // }, //Keys that will always be required for any AyaNova work for any user coreKeys: [ //main nav options diff --git a/ayanova/src/components/gz-data-table.vue b/ayanova/src/components/gz-data-table.vue index 84eec89a..c7286202 100644 --- a/ayanova/src/components/gz-data-table.vue +++ b/ayanova/src/components/gz-data-table.vue @@ -904,7 +904,6 @@ function loadFormSettings(vm) { function untokenizeListView(lvJson) { //if it has one or more tokens //iterate the array and build a new array with substituted tokens with the correct date and time in them - //console.log(lvJson); //format of a date token filter //[{"fld":"widgetname"},{"fld":"widgetstartdate","filter":{"items":[{"op":"=","value":"*past90days*","token":true}]}},{"fld":"widgetenddate"}] @@ -916,7 +915,6 @@ function untokenizeListView(lvJson) { return lvJson; } - // console.log("WE HAVE TOKENS...PROCESSING..."); //we have one or more tokens, substitute them in the filter array let ret = []; let lv = JSON.parse(lvJson); @@ -984,8 +982,7 @@ function untokenizeListView(lvJson) { ret.push(reto); //end of iterate lv loop } - // console.log("After processing:"); - // console.log(JSON.stringify(ret)); + return JSON.stringify(ret); } //[{"fld":"widgetname"},{"fld":"widgetstartdate","filter":{"items":[{"op":"=","value":"*past90days*","token":true}]}},{"fld":"widgetenddate"}] diff --git a/ayanova/src/views/login.vue b/ayanova/src/views/login.vue index fa3f2354..c29a4d10 100644 --- a/ayanova/src/views/login.vue +++ b/ayanova/src/views/login.vue @@ -227,7 +227,6 @@ export default { .get("notify/hello") .then(res => { if (res.data != null) { - // console.log("res.data:", res.data); vm.trialMode = !res.data; } }) @@ -259,13 +258,10 @@ export default { auth .authenticate(vm.input.username, vm.input.password) .then(() => { - console.log("LOGIN:BACKFROMAUTHENTICATE"); if (vm.$store.state.openObject != null) { window.$gz.eventBus.$emit("openobject", null); } else { - if (!vm.$store.state.homePage) { - console.log("####LOGIN END BUT homePage is empty!"); - } else vm.$router.push(vm.$store.state.homePage); + vm.$router.push(vm.$store.state.homePage); } }) .catch(function handleCaughtLoginError(error) {