8
0
Fork 0
mirror of https://gitlab2.federez.net/re2o/re2o synced 2024-11-26 14:42:25 +00:00

Encore une vue pour Chirac, vue d'alis

This commit is contained in:
Dalahro 2016-11-18 18:15:57 +01:00
parent 1e0625fd58
commit 537b5418b5
3 changed files with 32 additions and 13 deletions

View file

@ -1,7 +1,7 @@
#Augustin Lemesle #Augustin Lemesle
from rest_framework import serializers from rest_framework import serializers
from machines.models import Interface, IpType, Extension, IpList, MachineType from machines.models import Interface, IpType, Extension, IpList, MachineType, Alias
class IpTypeField(serializers.RelatedField): class IpTypeField(serializers.RelatedField):
def to_representation(self, value): def to_representation(self, value):
@ -22,7 +22,7 @@ class InterfaceSerializer(serializers.ModelSerializer):
fields = ('ipv4', 'mac_address', 'dns') fields = ('ipv4', 'mac_address', 'dns')
class ExtensionNameField(serializers.RelatedField): class ExtensionNameField(serializers.RelatedField):
def to_reprsentation(self,value): def to_reprsentation(self, value):
return value.name return value.name
class TypeSerializer(serializers.ModelSerializer): class TypeSerializer(serializers.ModelSerializer):
@ -32,4 +32,21 @@ class TypeSerializer(serializers.ModelSerializer):
model = IpType model = IpType
fields = ('type', 'extension', 'domaine_ip', 'domaine_range') fields = ('type', 'extension', 'domaine_ip', 'domaine_range')
class IpList_ExtensionField(serializers.RelatedField):
def to_representation(self, value):
return value.ipv4.ip_type.extension.name
class InterfaceDNS_ExtensionSerializer(serializers.ModelSerializer):
ipv4 = IpList_ExtensionField(read_only=True)
class Meta:
model = Interface
fields = ('ipv4', 'dns')
class AliasSerializer(serializers.ModelSerializer):
interface_parent = InterfaceDNS_ExtensionSerializer(read_only=True)
extension = ExtensionNameField(read_only=True)
class Meta:
model = Alias
fields = ('interface_parent', 'alias', 'extension')

View file

@ -29,5 +29,6 @@ urlpatterns = [
url(r'^rest/mac-ip/$', views.mac_ip, name='mac-ip'), url(r'^rest/mac-ip/$', views.mac_ip, name='mac-ip'),
url(r'^rest/login/$', views.login_user, name='login'), url(r'^rest/login/$', views.login_user, name='login'),
url(r'^rest/mac-ip-dns/$', views.mac_ip_dns, name='mac-ip-dns'), url(r'^rest/mac-ip-dns/$', views.mac_ip_dns, name='mac-ip-dns'),
url(r'^rest/alias/$', views.alias, name='alias'),
url(r'^rest/corresp/$', views.corresp, name='corresp'), url(r'^rest/corresp/$', views.corresp, name='corresp'),
] ]

View file

@ -16,12 +16,12 @@ from django.contrib.auth import authenticate, login
from django.views.decorators.csrf import csrf_exempt from django.views.decorators.csrf import csrf_exempt
from rest_framework.renderers import JSONRenderer from rest_framework.renderers import JSONRenderer
from machines.serializers import InterfaceSerializer, TypeSerializer from machines.serializers import InterfaceSerializer, TypeSerializer, AliasSerializer
from reversion import revisions as reversion from reversion import revisions as reversion
import re import re
from .forms import NewMachineForm, EditMachineForm, EditInterfaceForm, AddInterfaceForm, MachineTypeForm, DelMachineTypeForm, ExtensionForm, DelExtensionForm, BaseEditInterfaceForm, BaseEditMachineForm from .forms import NewMachineForm, EditMachineForm, EditInterfaceForm, AddInterfaceForm, MachineTypeForm, DelMachineTypeForm, ExtensionForm, DelExtensionForm, BaseEditInterfaceForm, BaseEditMachineForm, Alias
from .forms import IpTypeForm, DelIpTypeForm, NewAliasForm, EditAliasFullForm from .forms import IpTypeForm, DelIpTypeForm, NewAliasForm, EditAliasFullForm
from .models import IpType, Machine, Interface, IpList, MachineType, Extension from .models import IpType, Machine, Interface, IpList, MachineType, Extension
from users.models import User from users.models import User
@ -468,10 +468,18 @@ def interface_list(request):
@csrf_exempt @csrf_exempt
@login_required @login_required
@permission_required('serveur') @permission_required('serveur')
def type_list(request): def alias(request):
alias = Alias.objects.all()
seria = AliasSerializer(alias, many=True)
return JSONResponse(seria.data)
@csrf_exempt
@login_required
@permission_required('serveur')
def corresp(request):
type = IpType.objects.all() type = IpType.objects.all()
seria = TypeSerializer(type, many=True) seria = TypeSerializer(type, many=True)
return seria.data return JSONResponse(seria.data)
@csrf_exempt @csrf_exempt
@login_required @login_required
@ -489,13 +497,6 @@ def mac_ip_dns(request):
seria = interface_list(request) seria = interface_list(request)
return JSONResponse(seria) return JSONResponse(seria)
@csrf_exempt
@login_required
@permission_required('serveur')
def corresp(request):
seria = type_list(request)
return JSONResponse(seria)
@csrf_exempt @csrf_exempt
def login_user(request): def login_user(request):
user = authenticate(username=request.POST['username'], password=request.POST['password']) user = authenticate(username=request.POST['username'], password=request.POST['password'])