Ce serveur Gitlab sera éteint le 30 juin 2020, pensez à migrer vos projets vers les serveurs gitlab-research.centralesupelec.fr et gitlab-student.centralesupelec.fr !

Commit 5f7f1fd8 authored by moamoak's avatar moamoak

Merge branch 'fix_txt' into 'master'

Fix bug sur l'edition du txt + élargi le champ pour dnssec

See merge request federez/re2o!35
parents 3e50b02b f903138f
......@@ -27,7 +27,7 @@ from django.contrib import admin
from reversion.admin import VersionAdmin
from .models import IpType, Machine, MachineType, Domain, IpList, Interface
from .models import Extension, SOA, Mx, Ns, Vlan, Text, Nas, Service
from .models import Extension, SOA, Mx, Ns, Vlan, Txt, Nas, Service
from .models import OuverturePort, OuverturePortList
......@@ -63,7 +63,7 @@ class NsAdmin(VersionAdmin):
pass
class TextAdmin(VersionAdmin):
class TxtAdmin(VersionAdmin):
pass
......@@ -102,7 +102,7 @@ admin.site.register(Extension, ExtensionAdmin)
admin.site.register(SOA, SOAAdmin)
admin.site.register(Mx, MxAdmin)
admin.site.register(Ns, NsAdmin)
admin.site.register(Text, TextAdmin)
admin.site.register(Txt, TxtAdmin)
admin.site.register(IpList, IpListAdmin)
admin.site.register(Interface, InterfaceAdmin)
admin.site.register(Domain, DomainAdmin)
......
......@@ -47,7 +47,7 @@ from .models import (
Extension,
SOA,
Mx,
Text,
Txt,
Ns,
Service,
Vlan,
......@@ -364,7 +364,7 @@ class DelNsForm(Form):
class TxtForm(ModelForm):
"""Ajout d'un txt pour une zone"""
class Meta:
model = Text
model = Txt
fields = '__all__'
def __init__(self, *args, **kwargs):
......@@ -375,7 +375,7 @@ class TxtForm(ModelForm):
class DelTxtForm(Form):
"""Suppression d'un ou plusieurs TXT"""
txt = forms.ModelMultipleChoiceField(
queryset=Text.objects.all(),
queryset=Txt.objects.all(),
label="Enregistrements Txt actuels",
widget=forms.CheckboxSelectMultiple
)
......
# -*- coding: utf-8 -*-
# Generated by Django 1.10.7 on 2017-11-15 01:53
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('machines', '0063_auto_20171020_0040'),
]
operations = [
migrations.AlterField(
model_name='text',
name='field2',
field=models.TextField(max_length=2047),
),
]
# -*- coding: utf-8 -*-
# Generated by Django 1.10.7 on 2017-11-15 14:14
from __future__ import unicode_literals
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('machines', '0064_auto_20171115_0253'),
]
operations = [
migrations.RenameModel(
old_name='Text',
new_name='Txt',
),
]
......@@ -382,13 +382,13 @@ class Ns(models.Model):
return str(self.zone) + ' ' + str(self.ns)
class Text(models.Model):
class Txt(models.Model):
""" Un enregistrement TXT associé à une extension"""
PRETTY_NAME = "Enregistrement TXT"
zone = models.ForeignKey('Extension', on_delete=models.PROTECT)
field1 = models.CharField(max_length=255)
field2 = models.CharField(max_length=255)
field2 = models.TextField(max_length=2047)
def __str__(self):
return str(self.zone) + " : " + str(self.field1) + " " +\
......@@ -920,13 +920,13 @@ def ns_post_delete(sender, **kwargs):
regen('dns')
@receiver(post_save, sender=Text)
@receiver(post_save, sender=Txt)
def text_post_save(sender, **kwargs):
"""Regeneration dns après modification d'un TXT"""
regen('dns')
@receiver(post_delete, sender=Text)
@receiver(post_delete, sender=Txt)
def text_post_delete(sender, **kwargs):
"""Regeneration dns après modification d'un TX"""
regen('dns')
......@@ -31,7 +31,7 @@ from machines.models import (
IpList,
MachineType,
Domain,
Text,
Txt,
Mx,
Service_link,
Ns,
......@@ -195,20 +195,20 @@ class MxSerializer(serializers.ModelSerializer):
return str(obj.dns_entry)
class TextSerializer(serializers.ModelSerializer):
class TxtSerializer(serializers.ModelSerializer):
"""Serialisation d'un txt : zone cible et l'entrée txt
sont evaluées à part"""
zone = serializers.SerializerMethodField('get_zone_name')
text_entry = serializers.SerializerMethodField('get_text_name')
txt_entry = serializers.SerializerMethodField('get_txt_name')
class Meta:
model = Text
fields = ('zone', 'text_entry', 'field1', 'field2')
model = Txt
fields = ('zone', 'txt_entry', 'field1', 'field2')
def get_zone_name(self, obj):
return str(obj.zone.name)
def get_text_name(self, obj):
def get_txt_name(self, obj):
return str(obj.dns_entry)
......
......@@ -51,7 +51,7 @@ urlpatterns = [
url(r'^edit_mx/(?P<mxid>[0-9]+)$', views.edit_mx, name='edit-mx'),
url(r'^del_mx/$', views.del_mx, name='del-mx'),
url(r'^add_txt/$', views.add_txt, name='add-txt'),
url(r'^edit_txt/(?P<textid>[0-9]+)$', views.edit_txt, name='edit-txt'),
url(r'^edit_txt/(?P<txtid>[0-9]+)$', views.edit_txt, name='edit-txt'),
url(r'^del_txt/$', views.del_txt, name='del-txt'),
url(r'^add_ns/$', views.add_ns, name='add-ns'),
url(r'^edit_ns/(?P<nsid>[0-9]+)$', views.edit_ns, name='edit-ns'),
......@@ -94,7 +94,7 @@ urlpatterns = [
url(r'^rest/corresp/$', views.corresp, name='corresp'),
url(r'^rest/mx/$', views.mx, name='mx'),
url(r'^rest/ns/$', views.ns, name='ns'),
url(r'^rest/text/$', views.text, name='text'),
url(r'^rest/txt/$', views.txt, name='txt'),
url(r'^rest/zones/$', views.zones, name='zones'),
url(r'^rest/service_servers/$', views.service_servers, name='service-servers'),
url(r'^rest/ouverture_ports/$', views.ouverture_ports, name='ouverture-ports'),
......
......@@ -48,7 +48,7 @@ from machines.serializers import ( FullInterfaceSerializer,
InterfaceSerializer,
TypeSerializer,
DomainSerializer,
TextSerializer,
TxtSerializer,
MxSerializer,
ExtensionSerializer,
ServiceServersSerializer,
......@@ -109,7 +109,7 @@ from .models import (
Service_link,
Vlan,
Nas,
Text,
Txt,
OuverturePortList,
OuverturePort
)
......@@ -721,8 +721,8 @@ def add_txt(request):
@permission_required('infra')
def edit_txt(request, txtid):
try:
txt_instance = Text.objects.get(pk=txtid)
except Text.DoesNotExist:
txt_instance = Txt.objects.get(pk=txtid)
except Txt.DoesNotExist:
messages.error(request, u"Entrée inexistante" )
return redirect(reverse('machines:index-extension'))
txt = TxtForm(request.POST or None, instance=txt_instance)
......@@ -1045,8 +1045,8 @@ def index_extension(request):
soa_list = SOA.objects.order_by('name')
mx_list = Mx.objects.order_by('zone').select_related('zone').select_related('name__extension')
ns_list = Ns.objects.order_by('zone').select_related('zone').select_related('ns__extension')
text_list = Text.objects.all().select_related('zone')
return render(request, 'machines/index_extension.html', {'extension_list':extension_list, 'soa_list': soa_list, 'mx_list': mx_list, 'ns_list': ns_list, 'text_list' : text_list})
txt_list = Txt.objects.all().select_related('zone')
return render(request, 'machines/index_extension.html', {'extension_list':extension_list, 'soa_list': soa_list, 'mx_list': mx_list, 'ns_list': ns_list, 'txt_list' : txt_list})
@login_required
def index_alias(request, interfaceid):
......@@ -1141,8 +1141,8 @@ def history(request, object, id):
return redirect(reverse('machines:index'))
elif object == 'txt' and request.user.has_perms(('cableur',)):
try:
object_instance = Text.objects.get(pk=id)
except Text.DoesNotExist:
object_instance = Txt.objects.get(pk=id)
except Txt.DoesNotExist:
messages.error(request, "Txt inexistant")
return redirect(reverse('machines:index'))
elif object == 'ns' and request.user.has_perms(('cableur',)):
......@@ -1338,9 +1338,9 @@ def mx(request):
@csrf_exempt
@login_required
@permission_required('serveur')
def text(request):
text = Text.objects.all().select_related('zone')
seria = TextSerializer(text, many=True)
def txt(request):
txt = Txt.objects.all().select_related('zone')
seria = TxtSerializer(txt, many=True)
return JSONResponse(seria.data)
@csrf_exempt
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment