From 89af843de47e8287d93ff76f208dd8a08774c6d5 Mon Sep 17 00:00:00 2001 From: Sandro Mani Date: Thu, 5 Sep 2024 18:15:58 +0200 Subject: [PATCH] Add checkbox to use cached project metadata --- src/server.py | 10 +++++++--- src/templates/home.html | 15 +++++++++++++-- src/translations/de.json | 5 +++-- src/translations/en.json | 5 +++-- src/translations/fr.json | 5 +++-- src/translations/tsconfig.json | 1 + 6 files changed, 30 insertions(+), 11 deletions(-) diff --git a/src/server.py b/src/server.py index f704d4d..53be1b5 100644 --- a/src/server.py +++ b/src/server.py @@ -218,10 +218,14 @@ def generate_configs(): "config_generator_service_url", "http://qwc-config-service:9090").rstrip('/') + '/' + params = { + "tenant": current_handler.tenant, + } + params.update(request.args) response = requests.post( - urllib.parse.urljoin( - config_generator_url, - "generate_configs?tenant=" + current_handler.tenant)) + urllib.parse.urljoin(config_generator_url, "generate_configs"), + params=params + ) return (response.text, response.status_code) diff --git a/src/templates/home.html b/src/templates/home.html index 00c53b8..b886a0e 100644 --- a/src/templates/home.html +++ b/src/templates/home.html @@ -12,16 +12,23 @@ $('#alerts').find(alertSelector).append(html); } - var setupAPIRequestButton = function(buttonSelector, url, alertSelector, titleSuccess, titleError) { + var setupAPIRequestButton = function(buttonSelector, url, options, alertSelector, titleSuccess, titleError) { var button = $(buttonSelector); button.click(function() { clearAlert(alertSelector); button.attr("disabled", true); $(document.body).css("cursor", 'wait'); + let reqUrl = url; + options.forEach(option => { + if ($('#' + option).prop('checked')) { + reqUrl += (reqUrl.includes('?') ? '&' : '?') + option + '=1'; + } + }); + // call Admin GUI service $.post( - url, + reqUrl, { csrf_token: '{{ csrf_token() }}' } @@ -71,6 +78,7 @@ setupAPIRequestButton( '#generate_configs', "{{ url_for('generate_configs') }}", + ['use_cached_project_metadata'], '#alert-generate_configs', "Service configurations generated:", "Error while refreshing config cache:" @@ -81,6 +89,7 @@ setupAPIRequestButton( '#update_solr_index', "{{ url_for('update_solr_index') }}", + [], '#alert-update_solr_index', "Solr search index update:", "Error while updating Solr search index:" @@ -101,6 +110,8 @@

{{ admin_gui_title }}

+
+ {% endif %} {% if solr_index_update_enabled %} diff --git a/src/translations/de.json b/src/translations/de.json index 7383a67..bd9c325 100644 --- a/src/translations/de.json +++ b/src/translations/de.json @@ -59,7 +59,8 @@ "timeout_error": "Das Generieren der Konfiguration hat zu lange gedauert. Mögliche Gründe:\n- Es besteht ein Netzwerkproblem\n- Das Laden der Capabilities hat zu lange gedauert (zu viele Themen / zu viele Ebenen / langsame ferne Ebenen)\n- Der 'proxy_read_timeout' des `qwc-api-gateway` ist zu tief", "title": "QWC Admin", "update_resource_message_error": "Könnte nicht aktualisert werden: {}.", - "update_resource_message_success": "{} wurde aktualisiert." + "update_resource_message_success": "{} wurde aktualisiert.", + "use_cached_project_metadata": "Gecachte Projektmetadaten verwenden falls verfügbar" }, "permissions": { "confirm_message_delete": "Berechtigung entfernen?", @@ -353,4 +354,4 @@ "user_requests_declined": "Ihre Anträge für folgende Gruppen wurden abgelehnt:" } } -} \ No newline at end of file +} diff --git a/src/translations/en.json b/src/translations/en.json index 63d956a..427ac49 100644 --- a/src/translations/en.json +++ b/src/translations/en.json @@ -59,7 +59,8 @@ "timeout_error": "The generation of the configuration took too long. Likely causes:\n- There is a network connectivity issue\n- Fetching the Capabilities took too long (too many themes / too many layers / slow remote layers)\n- The 'proxy_read_timeout' of the qwc-api-gateway is too low", "title": "QWC Admin", "update_resource_message_error": "Could not update {}.", - "update_resource_message_success": "{} has been updated." + "update_resource_message_success": "{} has been updated.", + "use_cached_project_metadata": "Use cached project metadata if available" }, "permissions": { "confirm_message_delete": "Remove permission?", @@ -353,4 +354,4 @@ "user_requests_declined": "Your membership requests for the following groups have been declined:" } } -} \ No newline at end of file +} diff --git a/src/translations/fr.json b/src/translations/fr.json index 5480c63..7f2ccb2 100644 --- a/src/translations/fr.json +++ b/src/translations/fr.json @@ -59,7 +59,8 @@ "timeout_error": "La génération de la configuration a pris trop de temps. Causes probables:\n- Il y a un problème de connectivité\n - La récupération des Capabilities a pris trop de temps (trop de thèmes / trop de couches / couches distantes lentes)\n- Le 'proxy_read_timeout' de qwc-api-gateway est trop bas", "title": "Administration QWC", "update_resource_message_error": "Impossible de modifier {}.", - "update_resource_message_success": "{} a été modifié." + "update_resource_message_success": "{} a été modifié.", + "use_cached_project_metadata": "Utiliser les métadonnées du projet mises en cache si elles sont disponibles" }, "permissions": { "confirm_message_delete": "Voulez-vous supprimer la permission?", @@ -353,4 +354,4 @@ "user_requests_declined": "Votre demande pour rejoindre les groupes suivant a été rejetée:" } } -} \ No newline at end of file +} diff --git a/src/translations/tsconfig.json b/src/translations/tsconfig.json index 17a4a6f..192e40d 100644 --- a/src/translations/tsconfig.json +++ b/src/translations/tsconfig.json @@ -61,6 +61,7 @@ "interface.main.title", "interface.main.update_resource_message_error", "interface.main.update_resource_message_success", + "interface.main.use_cached_project_metadata", "interface.permissions.confirm_message_delete", "interface.permissions.ph_select_resource", "interface.permissions.priority",