This commit is contained in:
2020-06-16 13:39:21 +00:00
parent e09ed207d9
commit a41cf17fc7
3 changed files with 96 additions and 41 deletions

View File

@@ -111,49 +111,51 @@ Vue.config.productionTip = false;
///////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////
// AJAX LOADER INDICATOR // AJAX LOADER INDICATOR
// //
//
// Store a copy of the fetch function // Store a copy of the fetch function
// let _oldFetch = fetch; let _oldFetch = fetch;
// // Create our new version of the fetch function // Create our new version of the fetch function
// window.fetch = function() { window.fetch = function() {
// // Create hooks // Create hooks
// let fetchStart = new Event("fetchStart", { let fetchStart = new Event("fetchStart", {
// view: document, view: document,
// bubbles: true, bubbles: true,
// cancelable: false cancelable: false
// }); });
// let fetchEnd = new Event("fetchEnd", { let fetchEnd = new Event("fetchEnd", {
// view: document, view: document,
// bubbles: true, bubbles: true,
// cancelable: false cancelable: false
// }); });
// // Pass the supplied arguments to the real fetch function // Pass the supplied arguments to the real fetch function
// let fetchCall = _oldFetch.apply(this, arguments); let fetchCall = _oldFetch.apply(this, arguments);
// // Trigger the fetchStart event // Trigger the fetchStart event
// document.dispatchEvent(fetchStart); document.dispatchEvent(fetchStart);
// fetchCall fetchCall
// .then(function() { .then(function() {
// // Trigger the fetchEnd event // Trigger the fetchEnd event
// document.dispatchEvent(fetchEnd); document.dispatchEvent(fetchEnd);
// }) })
// .catch(function() { .catch(function() {
// // Trigger the fetchEnd event // Trigger the fetchEnd event
// document.dispatchEvent(fetchEnd); document.dispatchEvent(fetchEnd);
// }); });
// return fetchCall; return fetchCall;
// }; };
// document.addEventListener("fetchStart", function() { document.addEventListener("fetchStart", function() {
// NProgress.start(); NProgress.start();
// }); });
// document.addEventListener("fetchEnd", function() { document.addEventListener("fetchEnd", function() {
// NProgress.done(); NProgress.done();
// }); });
///////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////
// FILTERS // FILTERS

View File

@@ -429,7 +429,7 @@ export default {
} }
} }
//call erase //call erase
let r = await window.$gz.api.upsertEx( await window.$gz.api.upsertEx(
"license/permanently-erase-all-data", "license/permanently-erase-all-data",
"I understand" "I understand"
); );

View File

@@ -31,6 +31,17 @@
:label="$ay.t('SeedLevel')" :label="$ay.t('SeedLevel')"
></v-select> ></v-select>
</v-col> </v-col>
<v-col cols="12" sm="6">
{{ timeZoneOffset }}
<v-select
v-model="seedLevel"
:items="selectLists.seedLevels"
item-text="name"
item-value="id"
:readonly="formState.readOnly"
:label="$ay.t('TimeZoneOffset')"
></v-select>
</v-col>
<v-col cols="12"> <v-col cols="12">
<v-btn <v-btn
:disabled="formState.readOnly" :disabled="formState.readOnly"
@@ -57,6 +68,10 @@ export default {
let vm = this; let vm = this;
initForm(vm) initForm(vm)
.then(() => { .then(() => {
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 //get rights to generate sample data and erase db I guess
vm.rights = window.$gz.role.getRights(window.$gz.type.TrialSeeder); vm.rights = window.$gz.role.getRights(window.$gz.type.TrialSeeder);
generateMenu(vm); generateMenu(vm);
@@ -80,6 +95,7 @@ export default {
seedLevels: [] seedLevels: []
}, },
seedLevel: null, seedLevel: null,
timeZoneOffset: 0,
formState: { formState: {
ready: false, ready: false,
dirty: false, dirty: false,
@@ -107,10 +123,45 @@ export default {
window.$gz.store.state.globalSettings.dbId window.$gz.store.state.globalSettings.dbId
); );
}, },
StartSeeding() { async generate() {
//prompt erase data if necessary let vm = this;
//call seed route try {
//ideally some kind of job checking ui showing feedback would be nice //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", "SeedLevelMedium",
"SeedLevelLarge", "SeedLevelLarge",
"SeedLevelHuge", "SeedLevelHuge",
"StartSeeding" "StartSeeding",
"AdminEraseDatabaseWarning",
"AdminEraseDatabaseLastWarning"
]); ]);
} }