mirror of
https://github.com/eduardogsilva/wireguard_webadmin.git
synced 2025-08-26 21:31:14 +00:00
VPN invite settings form and validation logic
This commit is contained in:
@@ -4,10 +4,12 @@ from user_manager.models import UserAcl
|
||||
from .models import InviteSettings, PeerInvite
|
||||
from django.conf import settings
|
||||
from django.utils import timezone
|
||||
from .forms import InviteSettingsForm
|
||||
from django.contrib import messages
|
||||
|
||||
|
||||
@login_required
|
||||
def view_vpn_invite_settings(request):
|
||||
def view_vpn_invite_list(request):
|
||||
if not UserAcl.objects.filter(user=request.user).filter(user_level__gte=50).exists():
|
||||
return render(request, 'access_denied.html', {'page_title': 'Access Denied'})
|
||||
if request.GET.get('invite') and request.GET.get('action') == 'delete':
|
||||
@@ -26,15 +28,31 @@ def view_vpn_invite_settings(request):
|
||||
if invite_settings.invite_url.startswith('http://'):
|
||||
invite_settings.invite_url = invite_settings.invite_url.replace('http://', 'https://')
|
||||
invite_settings.save()
|
||||
|
||||
peer_invite_list = PeerInvite.objects.all().order_by('invite_expiration')
|
||||
peer_invite_list.filter(invite_expiration__lt=timezone.now()).delete()
|
||||
|
||||
|
||||
data = {
|
||||
'page_title': 'VPN Invite',
|
||||
'peer_invite_list': peer_invite_list,
|
||||
|
||||
}
|
||||
|
||||
return render(request, 'vpn_invite/invite_settings.html', context=data)
|
||||
return render(request, 'vpn_invite/invite_settings.html', context=data)
|
||||
|
||||
|
||||
@login_required
|
||||
def view_vpn_invite_settings(request):
|
||||
if not UserAcl.objects.filter(user=request.user).filter(user_level__gte=50).exists():
|
||||
return render(request, 'access_denied.html', {'page_title': 'Access Denied'})
|
||||
invite_settings = InviteSettings.objects.get(name='default_settings')
|
||||
|
||||
form = InviteSettingsForm(request.POST or None, instance=invite_settings)
|
||||
if form.is_valid():
|
||||
form.save()
|
||||
messages.success(request, 'Invite Settings|Settings saved successfully.')
|
||||
return redirect('/vpn_invite/')
|
||||
data = {
|
||||
'invite_settings': invite_settings,
|
||||
'page_title': 'VPN Invite Settings',
|
||||
'form': form,
|
||||
'form_size': 'col-lg-12'
|
||||
}
|
||||
return render(request, 'generic_form.html', context=data)
|
||||
|
Reference in New Issue
Block a user