|
|
|
@ -22,6 +22,7 @@ |
|
|
|
from rest_framework.decorators import api_view |
|
|
|
from rest_framework.response import Response |
|
|
|
from django.db.models import Q |
|
|
|
from django.db import DataError |
|
|
|
from django.http import HttpResponse |
|
|
|
from django.forms import ValidationError |
|
|
|
from django.contrib.auth.decorators import login_required |
|
|
|
@ -61,9 +62,11 @@ def authorize(request, nas_id, username): |
|
|
|
""" |
|
|
|
|
|
|
|
# get the Nas object which made the request (if exists) |
|
|
|
nas_interface = Interface.objects.filter( |
|
|
|
Q(domain__name=nas_id) | Q(ipv4__ipv4=nas_id) |
|
|
|
).first() |
|
|
|
try: |
|
|
|
nas_interface = Interface.objects.filter(Q(ipv4__ipv4=nas_id)).first() |
|
|
|
except DataError: |
|
|
|
nas_interface = Interface.objects.filter(Q(domain__name=nas_id)).first() |
|
|
|
|
|
|
|
nas_type = None |
|
|
|
if nas_interface: |
|
|
|
nas_type = Nas.objects.filter(nas_type=nas_interface.machine_type).first() |
|
|
|
@ -130,11 +133,11 @@ def post_auth(request, nas_id, nas_port, user_mac, username): |
|
|
|
""" |
|
|
|
|
|
|
|
# get the Nas object which made the request (if exists) |
|
|
|
nas_interface = ( |
|
|
|
Interface.objects.prefetch_related("machine__switch__stack") |
|
|
|
.filter(Q(domain__name=nas_id) | Q(ipv4__ipv4=nas_id)) |
|
|
|
.first() |
|
|
|
) |
|
|
|
try: |
|
|
|
nas_interface = Interface.objects.prefetch_related("machine__switch__stack").filter(Q(ipv4__ipv4=nas_id)).first() |
|
|
|
except DataError: |
|
|
|
nas_interface = Interface.objects.prefetch_related("machine__switch__stack").filter(Q(domain__name=nas_id)).first() |
|
|
|
|
|
|
|
nas_type = None |
|
|
|
if nas_interface: |
|
|
|
nas_type = Nas.objects.filter(nas_type=nas_interface.machine_type).first() |
|
|
|
|