diff --git a/src/client.py b/src/client.py index 773109fd..7d089c29 100644 --- a/src/client.py +++ b/src/client.py @@ -54,6 +54,8 @@ def createClientBlueprint(wireguardConfigurations: dict[WireguardConfiguration], @client.post(f'{prefix}/api/signup') def ClientAPI_SignUp(): + if not dashboardConfig.GetConfig("Clients", "sign_up")[1]: + abort(404) data = request.get_json() status, msg = dashboardClients.SignUp(**data) return ResponseObject(status, msg) @@ -209,7 +211,10 @@ def createClientBlueprint(wireguardConfigurations: dict[WireguardConfiguration], @client.get(f'{prefix}/api/serverInformation') def ClientAPI_ServerInformation(): return ResponseObject(data={ - "ServerTimezone": str(get_localzone()) + "ServerTimezone": str(get_localzone()), + "SignUp": { + "enable": dashboardConfig.GetConfig("Clients", "sign_up")[1] + } }) @client.get(f'{prefix}/api/validateAuthentication') diff --git a/src/modules/DashboardConfig.py b/src/modules/DashboardConfig.py index 118297f7..5be45b7f 100644 --- a/src/modules/DashboardConfig.py +++ b/src/modules/DashboardConfig.py @@ -83,6 +83,7 @@ class DashboardConfig: }, "Clients": { "enable": "true", + "sign_up": "true" }, "WireGuardConfiguration": { "autostart": "", diff --git a/src/static/app/src/components/clientComponents/clientSettings.vue b/src/static/app/src/components/clientComponents/clientSettings.vue index ae554db4..d872a347 100644 --- a/src/static/app/src/components/clientComponents/clientSettings.vue +++ b/src/static/app/src/components/clientComponents/clientSettings.vue @@ -2,7 +2,7 @@ import { ref, reactive } from "vue" import LocaleText from "@/components/text/localeText.vue"; import OidcSettings from "@/components/clientComponents/clientSettingComponents/oidcSettings.vue"; -import { fetchGet } from "@/utilities/fetch.js" +import { fetchGet, fetchPost } from "@/utilities/fetch.js" const emits = defineEmits(['close']) import { DashboardConfigurationStore } from "@/stores/DashboardConfigurationStore" const dashboardConfigurationStore = DashboardConfigurationStore() @@ -12,12 +12,16 @@ const values = reactive({ }) const toggling = ref(false) -const toggleClientSideApp = async () => { +const updateSettings = async (key: string) => { toggling.value = true - await fetchGet("/api/clients/toggleStatus", {}, (res) => { - values.enableClients = res.data + await fetchPost("/api/updateDashboardConfigurationItem", { + section: "Clients", + key: key, + value: dashboardConfigurationStore.Configuration.Clients[key] + }, async (res) => { + await dashboardConfigurationStore.getConfiguration() + toggling.value = false }) - toggling.value = false } @@ -37,16 +41,43 @@ const toggleClientSideApp = async () => {
- +
+
+
+
+ +
+
+ + +
+
+ + + +
+
+ + + + +
+ diff --git a/src/static/client/src/App.vue b/src/static/client/src/App.vue index 1cf12aee..aa9a772b 100644 --- a/src/static/client/src/App.vue +++ b/src/static/client/src/App.vue @@ -1,22 +1,12 @@ -