add server selection to VPN invite

This commit is contained in:
Eduardo Silva
2026-01-14 14:19:26 -03:00
parent 0284c2e956
commit 44eb36db14
5 changed files with 180 additions and 71 deletions

View File

@@ -2,6 +2,7 @@ from django.http import Http404
from django.shortcuts import render
from django.utils import timezone
from cluster.models import ClusterSettings, Worker
from vpn_invite.models import PeerInvite, InviteSettings
@@ -13,12 +14,24 @@ def view_public_vpn_invite(request):
except:
raise Http404
# Initialize context with default values
cluster_settings = ClusterSettings.objects.filter(name='cluster_settings', enabled=True).first()
servers = []
if cluster_settings:
if cluster_settings.primary_enable_wireguard:
servers.append({'name': 'Primary Server', 'address': ''})
for worker in Worker.objects.filter(enabled=True):
listen_port = peer_invite.peer.wireguard_instance.listen_port
worker_address = f"{worker.server_address}:{listen_port}"
servers.append({'name': worker.display_name, 'address': worker_address})
context = {
'peer_invite': peer_invite,
'invite_settings': invite_settings,
'authenticated': False,
'error': ''
'error': '',
'cluster_settings': cluster_settings,
'servers': servers
}
if request.method == 'POST':