Parcourir la source

ajouts d’infos aux routes

Élie Bouttier il y a 7 ans
Parent
commit
def7dee228
3 fichiers modifiés avec 63 ajouts et 5 suppressions
  1. 6 4
      services/admin.py
  2. 50 0
      services/migrations/0029_route.py
  3. 7 1
      services/models.py

+ 6 - 4
services/admin.py

@@ -200,11 +200,13 @@ class IPResourceAdmin(admin.ModelAdmin):
 
 
 class RouteAdmin(admin.ModelAdmin):
-    fields = ('name',)
-    readonly_fields = ('name',)
+    list_display = ('name', 'description',)
 
-    def has_add_permission(self, request, obj=None):
-        return False
+    def get_readonly_fields(self, request, obj=None):
+        if obj:
+            return ('name',)
+        else:
+            return ()
 
     def get_actions(self, request):
         actions = super().get_actions(request)

+ 50 - 0
services/migrations/0029_route.py

@@ -0,0 +1,50 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11 on 2017-06-12 11:24
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('services', '0028_auto_20170608_2316'),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name='route',
+            name='description',
+            field=models.CharField(blank=True, max_length=128),
+        ),
+        migrations.AddField(
+            model_name='route',
+            name='local_ip',
+            field=models.GenericIPAddressField(blank=True, null=True, verbose_name='IP locale'),
+        ),
+        migrations.AddField(
+            model_name='route',
+            name='networks',
+            field=models.ManyToManyField(blank=True, to='services.IPPrefix', verbose_name='Réseaux'),
+        ),
+        migrations.AddField(
+            model_name='route',
+            name='notes',
+            field=models.TextField(blank=True, default=''),
+        ),
+        migrations.AddField(
+            model_name='route',
+            name='port',
+            field=models.IntegerField(blank=True, null=True),
+        ),
+        migrations.AddField(
+            model_name='route',
+            name='remote_ip',
+            field=models.GenericIPAddressField(blank=True, null=True, verbose_name='IP distante'),
+        ),
+        migrations.AlterField(
+            model_name='route',
+            name='name',
+            field=models.CharField(max_length=64, unique=True),
+        ),
+    ]

+ 7 - 1
services/models.py

@@ -161,7 +161,13 @@ class Antenna(models.Model):
 
 
 class Route(models.Model):
-    name = models.CharField(max_length=64)
+    name = models.CharField(max_length=64, unique=True)
+    description = models.CharField(max_length=128, blank=True)
+    port = models.IntegerField(null=True, blank=True)
+    local_ip = models.GenericIPAddressField(null=True, blank=True, verbose_name='IP locale')
+    remote_ip = models.GenericIPAddressField(null=True, blank=True, verbose_name='IP distante')
+    networks = models.ManyToManyField(IPPrefix, blank=True, verbose_name='Réseaux')
+    notes = models.TextField(blank=True, default='')
 
     def __str__(self):
         return self.name