diff --git a/templates/wireguard/wireguard_manage_server.html b/templates/wireguard/wireguard_manage_server.html
index 8286d5f..4448450 100644
--- a/templates/wireguard/wireguard_manage_server.html
+++ b/templates/wireguard/wireguard_manage_server.html
@@ -34,7 +34,7 @@
-
+ 0 %}readonly{% endif %}>
diff --git a/templates/wireguard/wireguard_peer_list.html b/templates/wireguard/wireguard_peer_list.html
index f137fe8..3aa1449 100644
--- a/templates/wireguard/wireguard_peer_list.html
+++ b/templates/wireguard/wireguard_peer_list.html
@@ -171,7 +171,7 @@
{% trans 'Expires on' %}:
-
+
@@ -522,7 +522,7 @@
};
fetchWireguardStatus();
- setInterval(fetchWireguardStatus, {{ current_instance.peer_list_refresh_interval }} * 1000);
+ setInterval(fetchWireguardStatus, {{ refresh_interval }} * 1000);
});
const updateUI = (data) => {
diff --git a/wireguard/views.py b/wireguard/views.py
index fa5d6a1..896d592 100644
--- a/wireguard/views.py
+++ b/wireguard/views.py
@@ -1,5 +1,6 @@
import subprocess
+from django.conf import settings
from django.contrib import messages
from django.contrib.auth.decorators import login_required
from django.db import models
@@ -158,8 +159,12 @@ def view_wireguard_manage_instance(request):
if not current_instance:
form = WireGuardInstanceForm(initial=generate_instance_defaults())
else:
- form = WireGuardInstanceForm(instance=current_instance)
- context = {'page_title': page_title, 'wireguard_instances': wireguard_instances, 'current_instance': current_instance, 'form': form}
+ form = WireGuardInstanceForm(instance=current_instance)
+ if settings.WIREGUARD_STATUS_CACHE_ENABLED:
+ force_cache_refresh = settings.WIREGUARD_STATUS_CACHE_REFRESH_INTERVAL
+ else:
+ force_cache_refresh = 0
+ context = {'page_title': page_title, 'wireguard_instances': wireguard_instances, 'current_instance': current_instance, 'form': form, 'force_cache_refresh': force_cache_refresh}
return render(request, 'wireguard/wireguard_manage_server.html', context)
diff --git a/wireguard_peer/views.py b/wireguard_peer/views.py
index ee8d43f..355d2e6 100644
--- a/wireguard_peer/views.py
+++ b/wireguard_peer/views.py
@@ -1,6 +1,7 @@
import ipaddress
import subprocess
+from django.conf import settings
from django.contrib import messages
from django.contrib.auth.decorators import login_required
from django.http import Http404
@@ -50,6 +51,7 @@ def view_wireguard_peer_list(request):
page_title = _('WireGuard Peer List')
user_acl = get_object_or_404(UserAcl, user=request.user)
wireguard_instances = user_allowed_instances(user_acl)
+ refresh_interval = 120
if wireguard_instances:
if request.GET.get('uuid'):
@@ -66,10 +68,14 @@ def view_wireguard_peer_list(request):
add_peer_enabled = False
if current_instance:
+ refresh_interval = current_instance.peer_list_refresh_interval
if user_has_access_to_instance(user_acl, current_instance):
add_peer_enabled = True
-
- context = {'page_title': page_title, 'wireguard_instances': wireguard_instances, 'current_instance': current_instance, 'peer_list': peer_list, 'add_peer_enabled': add_peer_enabled, 'user_acl': user_acl}
+
+ if settings.WIREGUARD_STATUS_CACHE_ENABLED:
+ refresh_interval = settings.WIREGUARD_STATUS_CACHE_REFRESH_INTERVAL
+
+ context = {'page_title': page_title, 'wireguard_instances': wireguard_instances, 'current_instance': current_instance, 'peer_list': peer_list, 'add_peer_enabled': add_peer_enabled, 'user_acl': user_acl, 'refresh_interval': refresh_interval}
return render(request, 'wireguard/wireguard_peer_list.html', context)
diff --git a/wireguard_webadmin/settings.py b/wireguard_webadmin/settings.py
index c80b83f..eea5563 100644
--- a/wireguard_webadmin/settings.py
+++ b/wireguard_webadmin/settings.py
@@ -157,7 +157,7 @@ STATICFILES_DIRS = [
WIREGUARD_STATUS_CACHE_ENABLED = True
WIREGUARD_STATUS_CACHE_MAX_AGE = 600
-WIREGUARD_STATUS_CACHE_REFRESH = 60
+WIREGUARD_STATUS_CACHE_REFRESH_INTERVAL = 60
WIREGUARD_STATUS_CACHE_WEB_LOAD_PREVIOUS_COUNT = 10
# Default primary key field type