diff --git a/ayanova/src/main.js b/ayanova/src/main.js index 63cb606a..f9eb9fae 100644 --- a/ayanova/src/main.js +++ b/ayanova/src/main.js @@ -111,49 +111,51 @@ Vue.config.productionTip = false; ///////////////////////////////////////////////////////////////// // AJAX LOADER INDICATOR // +// + // Store a copy of the fetch function -// let _oldFetch = fetch; +let _oldFetch = fetch; -// // Create our new version of the fetch function -// window.fetch = function() { -// // Create hooks -// let fetchStart = new Event("fetchStart", { -// view: document, -// bubbles: true, -// cancelable: false -// }); -// let fetchEnd = new Event("fetchEnd", { -// view: document, -// bubbles: true, -// cancelable: false -// }); +// Create our new version of the fetch function +window.fetch = function() { + // Create hooks + let fetchStart = new Event("fetchStart", { + view: document, + bubbles: true, + cancelable: false + }); + let fetchEnd = new Event("fetchEnd", { + view: document, + bubbles: true, + cancelable: false + }); -// // Pass the supplied arguments to the real fetch function -// let fetchCall = _oldFetch.apply(this, arguments); + // Pass the supplied arguments to the real fetch function + let fetchCall = _oldFetch.apply(this, arguments); -// // Trigger the fetchStart event -// document.dispatchEvent(fetchStart); + // Trigger the fetchStart event + document.dispatchEvent(fetchStart); -// fetchCall -// .then(function() { -// // Trigger the fetchEnd event -// document.dispatchEvent(fetchEnd); -// }) -// .catch(function() { -// // Trigger the fetchEnd event -// document.dispatchEvent(fetchEnd); -// }); + fetchCall + .then(function() { + // Trigger the fetchEnd event + document.dispatchEvent(fetchEnd); + }) + .catch(function() { + // Trigger the fetchEnd event + document.dispatchEvent(fetchEnd); + }); -// return fetchCall; -// }; + return fetchCall; +}; -// document.addEventListener("fetchStart", function() { -// NProgress.start(); -// }); +document.addEventListener("fetchStart", function() { + NProgress.start(); +}); -// document.addEventListener("fetchEnd", function() { -// NProgress.done(); -// }); +document.addEventListener("fetchEnd", function() { + NProgress.done(); +}); ///////////////////////////////////////////////////////////////// // FILTERS diff --git a/ayanova/src/views/adm-license.vue b/ayanova/src/views/adm-license.vue index 997f54fe..74153730 100644 --- a/ayanova/src/views/adm-license.vue +++ b/ayanova/src/views/adm-license.vue @@ -429,7 +429,7 @@ export default { } } //call erase - let r = await window.$gz.api.upsertEx( + await window.$gz.api.upsertEx( "license/permanently-erase-all-data", "I understand" ); diff --git a/ayanova/src/views/ay-evaluate.vue b/ayanova/src/views/ay-evaluate.vue index 3630feb1..3e63b4e9 100644 --- a/ayanova/src/views/ay-evaluate.vue +++ b/ayanova/src/views/ay-evaluate.vue @@ -31,6 +31,17 @@ :label="$ay.t('SeedLevel')" > + + {{ timeZoneOffset }} + + { + vm.timeZoneOffset = + Math.floor(new Date().getTimezoneOffset() / 60) * -1; + + console.log(window.$gz.DateTime.LocalZone); //get rights to generate sample data and erase db I guess vm.rights = window.$gz.role.getRights(window.$gz.type.TrialSeeder); generateMenu(vm); @@ -80,6 +95,7 @@ export default { seedLevels: [] }, seedLevel: null, + timeZoneOffset: 0, formState: { ready: false, dirty: false, @@ -107,10 +123,45 @@ export default { window.$gz.store.state.globalSettings.dbId ); }, - StartSeeding() { - //prompt erase data if necessary - //call seed route - //ideally some kind of job checking ui showing feedback would be nice + async generate() { + let vm = this; + try { + //Does the database need to be erased? + let res = await window.$gz.api.get("license/database-empty"); + if (res.error) { + throw res.error; + } + if (res.data != false) { + let dialogResult = await window.$gz.dialog.confirmGeneric( + "AdminEraseDatabaseWarning", + "warning" + ); + if (dialogResult == false) { + return; + } + + dialogResult = await window.$gz.dialog.confirmGeneric( + "AdminEraseDatabaseLastWarning", + "error" + ); + if (dialogResult == false) { + return; + } + //call erase + await window.$gz.api.upsertEx( + "license/permanently-erase-all-data", + "I understand" + ); + } + + //call seed route + await window.$gz.api.upsertEx( + `trial/seed/${vm.seedLevel}/${vm.timeZoneOffset}` + ); + //ideally some kind of job checking ui showing feedback would be nice + } catch (error) { + window.$gz.errorHandler.handleFormError(error, vm); + } } } }; @@ -181,7 +232,9 @@ function fetchTranslatedText(vm) { "SeedLevelMedium", "SeedLevelLarge", "SeedLevelHuge", - "StartSeeding" + "StartSeeding", + "AdminEraseDatabaseWarning", + "AdminEraseDatabaseLastWarning" ]); }