This commit is contained in:
2020-08-12 17:40:21 +00:00
parent 34c1ba5d9b
commit 52fc7034d9
3 changed files with 45 additions and 34 deletions

View File

@@ -3,22 +3,17 @@
PRIORITY - ALWAYS Lowest level stuff first, i.e. TODO at server, api route changes etc then back here in order lowest level first as affects the most stuff exponentially so best to do it early
=-=-=-=-
todo: need page where OPS can "View server configuration" easily
put it on the main page in the OPS menu
make sure it's "VIEW" configuration not just "configuration" so it's clear you can't modify it
similar to the about form server block but with all details of config as well
VIEW type icon for it, binoculars or vista or something, not gears because that implies can change it
todo: run batch file should open Client AND Server UI's BOTH
VIEW type icon for it, binoculars or vista or something, not gears because that implies can change it
todo: add shutdown server Client UI for new route in serverstate
menu item, big red warning dialog, double checks
todo: contact link on server api host page should include dbid in link
todo: Not licensed Client license page should start with trial evaluation expanded automatically
todo: contact link on server api host page should include dbid in link
todo: Server page error when no license should guide to starting trial
"E1020 - License key not found in database, running in unlicensed mode Only *the* SuperUser account can login to make changes"
Maybe a link to the docs directly on evaluation start

View File

@@ -75,7 +75,7 @@
:sort-by="['created']"
:sort-desc="[true]"
>
<template v-slot:item.actions="{ item }">
<template v-slot:[`item.actions`]="{ item }">
<v-btn icon :href="item.url">
<v-icon small class="mr-2">
fa-file-download

View File

@@ -180,34 +180,31 @@ export default {
vm: vm,
dirty: false
});
//why is this crap here, copied over from user settings form I guess , remove
// //Set values in store so they are updated immediately for user
// let l = vm.$store.state.userOptions;
// if (vm.obj.languageOverride) {
// l.languageOverride = vm.obj.languageOverride;
// }
// if (vm.obj.timeZoneOverride) {
// l.timeZoneOverride = vm.obj.timeZoneOverride;
// }
// if (vm.obj.currencyName) {
// l.currencyName = vm.obj.currencyName;
// }
// if (vm.obj.hour12) {
// l.hour12 = vm.obj.hour12;
// }
// window.$gz.store.commit("setUserOptions", l);
}
} catch (error) {
vm.formState.loading = false;
window.$gz.errorHandler.handleFormError(error, vm);
}
}
},
async shutdown() {
let vm = this;
vm.formState.loading = true;
let url = "server-state/shutdown";
window.$gz.form.deleteAllErrorBoxErrors(vm);
try {
let res = await window.$gz.api.upsert(url, {});
vm.formState.loading = false;
if (res.error) {
vm.formState.serverError = res.error;
window.$gz.form.setErrorBoxErrors(vm);
} else {
vm.$router.push("/login");
}
} catch (error) {
vm.formState.loading = false;
window.$gz.errorHandler.handleFormError(error, vm);
}
}
}
};
@@ -215,7 +212,7 @@ export default {
/////////////////////////////
//
//
function clickHandler(menuItem) {
async function clickHandler(menuItem) {
if (!menuItem) {
return;
}
@@ -225,7 +222,16 @@ function clickHandler(menuItem) {
case "save":
m.vm.submit();
break;
case "shutdown":
if (
(await window.$gz.dialog.confirmGeneric(
"AreYouSureShutDown",
"warning"
)) === true
) {
m.vm.shutdown();
}
break;
default:
window.$gz.eventBus.$emit(
"notify-warning",
@@ -261,6 +267,14 @@ function generateMenu(vm) {
key: FORM_KEY + ":save",
vm: vm
});
menuOptions.menuItems.push({
title: "ShutDownServer",
icon: "fa-stop-circle",
surface: false,
key: FORM_KEY + ":shutdown",
vm: vm
});
}
window.$gz.eventBus.$emit("menu-change", menuOptions);
@@ -281,7 +295,9 @@ async function fetchTranslatedText(vm) {
await window.$gz.translation.cacheTranslations([
"ServerStateOpen",
"ServerStateOps",
"ServerStateReason"
"ServerStateReason",
"ShutDownServer",
"AreYouSureShutDown"
]);
}
</script>