initial
This commit is contained in:
46
manager/views.py
Normal file
46
manager/views.py
Normal file
@@ -0,0 +1,46 @@
|
||||
import json
|
||||
import logging
|
||||
|
||||
from django.contrib import messages
|
||||
from django.db.transaction import atomic
|
||||
from django.forms import model_to_dict
|
||||
from django.shortcuts import HttpResponse, redirect
|
||||
from django_auth_ldap.backend import LDAPBackend
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from django.http import JsonResponse
|
||||
from django.views.decorators.http import require_http_methods
|
||||
|
||||
from django_proxmox_mikrotik.configs import MikrotikConfig
|
||||
from lib.decorators import force_write
|
||||
from manager.models import CloneContainer
|
||||
|
||||
|
||||
@atomic
|
||||
@force_write
|
||||
def test_mikrotik(request):
|
||||
from mikrotik.models import DNSStatic
|
||||
|
||||
dns = DNSStatic.objects.create(name='test.test1', address='192.168.1.254')
|
||||
logging.debug(model_to_dict(dns))
|
||||
response = dns.sync_to_router()
|
||||
|
||||
return HttpResponse(json.dumps([model_to_dict(dns), response], indent=4, default=lambda x: str(x)),
|
||||
content_type="application/json")
|
||||
|
||||
|
||||
|
||||
|
||||
def sync_all(request):
|
||||
"""TODO - just get the user and check on superuser
|
||||
settings via groups does not work at the moment"""
|
||||
from manager.admin import resync_all
|
||||
|
||||
backend = LDAPBackend()
|
||||
user = backend.authenticate(request, request.user.username, request.POST.get('password'))
|
||||
if user and user.is_superuser:
|
||||
resync_all()
|
||||
messages.success(request, 'Sync all initiated')
|
||||
else:
|
||||
messages.error(request, 'Not authorized')
|
||||
|
||||
return redirect('frontend:dashboard')
|
||||
Reference in New Issue
Block a user