mirror of
https://gitlab2.federez.net/re2o/re2o
synced 2024-12-26 00:43:46 +00:00
Refondation de topologie
This commit is contained in:
parent
8efe3c358c
commit
5a5dd39a88
26 changed files with 217 additions and 69 deletions
Binary file not shown.
Binary file not shown.
|
@ -1,20 +1,17 @@
|
||||||
|
|
||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
|
|
||||||
from .models import Port, Room, Link
|
from .models import Port, Room, Switch
|
||||||
|
|
||||||
|
class SwitchAdmin(admin.ModelAdmin):
|
||||||
|
list_display = ('building','number','details')
|
||||||
|
|
||||||
class PortAdmin(admin.ModelAdmin):
|
class PortAdmin(admin.ModelAdmin):
|
||||||
list_display = ('building','switch', 'port','details')
|
list_display = ('switch', 'port','details')
|
||||||
|
|
||||||
class RoomAdmin(admin.ModelAdmin):
|
class RoomAdmin(admin.ModelAdmin):
|
||||||
list_display = ('room','details')
|
list_display = ('building','room','number','details')
|
||||||
|
|
||||||
class RoomAdmin(admin.ModelAdmin):
|
|
||||||
list_display = ('room','details')
|
|
||||||
|
|
||||||
class LinkAdmin(admin.ModelAdmin):
|
|
||||||
list_display = ('port', 'room','details')
|
|
||||||
|
|
||||||
admin.site.register(Port, PortAdmin)
|
admin.site.register(Port, PortAdmin)
|
||||||
admin.site.register(Room, RoomAdmin)
|
admin.site.register(Room, RoomAdmin)
|
||||||
admin.site.register(Link, LinkAdmin)
|
admin.site.register(Switch, SwitchAdmin)
|
||||||
|
|
|
@ -11,25 +11,12 @@ class Migration(migrations.Migration):
|
||||||
|
|
||||||
operations = [
|
operations = [
|
||||||
migrations.CreateModel(
|
migrations.CreateModel(
|
||||||
name='Port',
|
name='Switch',
|
||||||
fields=[
|
fields=[
|
||||||
('id', models.AutoField(serialize=False, primary_key=True, auto_created=True, verbose_name='ID')),
|
('id', models.AutoField(auto_created=True, primary_key=True, verbose_name='ID', serialize=False)),
|
||||||
('building', models.CharField(max_length=10)),
|
('building', models.CharField(max_length=10)),
|
||||||
('switch', models.IntegerField()),
|
('number', models.IntegerField()),
|
||||||
('port', models.IntegerField()),
|
('details', models.CharField(max_length=255, blank=True)),
|
||||||
('details', models.CharField(blank=True, max_length=255)),
|
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
migrations.CreateModel(
|
|
||||||
name='Room',
|
|
||||||
fields=[
|
|
||||||
('id', models.AutoField(serialize=False, primary_key=True, auto_created=True, verbose_name='ID')),
|
|
||||||
('details', models.CharField(blank=True, max_length=255)),
|
|
||||||
('room', models.CharField(max_length=255)),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
migrations.AlterUniqueTogether(
|
|
||||||
name='port',
|
|
||||||
unique_together=set([('building', 'switch', 'port')]),
|
|
||||||
),
|
|
||||||
]
|
]
|
||||||
|
|
30
topologie/migrations/0002_auto_20160703_1118.py
Normal file
30
topologie/migrations/0002_auto_20160703_1118.py
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('contenttypes', '0002_remove_content_type_name'),
|
||||||
|
('topologie', '0001_initial'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='Port',
|
||||||
|
fields=[
|
||||||
|
('id', models.AutoField(primary_key=True, serialize=False, auto_created=True, verbose_name='ID')),
|
||||||
|
('port', models.IntegerField()),
|
||||||
|
('details', models.CharField(max_length=255, blank=True)),
|
||||||
|
('_object_id', models.PositiveIntegerField(null=True, blank=True)),
|
||||||
|
('_content_type', models.ForeignKey(null=True, blank=True, to='contenttypes.ContentType')),
|
||||||
|
('switch', models.ForeignKey(related_name='ports', to='topologie.Switch')),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
migrations.AlterUniqueTogether(
|
||||||
|
name='port',
|
||||||
|
unique_together=set([('_content_type', '_object_id')]),
|
||||||
|
),
|
||||||
|
]
|
|
@ -1,24 +0,0 @@
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
from __future__ import unicode_literals
|
|
||||||
|
|
||||||
from django.db import migrations, models
|
|
||||||
import django.db.models.deletion
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
('topologie', '0002_auto_20160703_0103'),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
migrations.CreateModel(
|
|
||||||
name='Link',
|
|
||||||
fields=[
|
|
||||||
('id', models.AutoField(verbose_name='ID', auto_created=True, serialize=False, primary_key=True)),
|
|
||||||
('details', models.CharField(blank=True, max_length=255)),
|
|
||||||
('port', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='topologie.Port')),
|
|
||||||
('room', models.ForeignKey(to='topologie.Room', on_delete=django.db.models.deletion.PROTECT, blank=True)),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
]
|
|
23
topologie/migrations/0003_room.py
Normal file
23
topologie/migrations/0003_room.py
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('topologie', '0002_auto_20160703_1118'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='Room',
|
||||||
|
fields=[
|
||||||
|
('id', models.AutoField(serialize=False, auto_created=True, verbose_name='ID', primary_key=True)),
|
||||||
|
('details', models.CharField(max_length=255, blank=True)),
|
||||||
|
('building', models.CharField(max_length=255, unique=True)),
|
||||||
|
('number', models.IntegerField()),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
]
|
18
topologie/migrations/0004_auto_20160703_1122.py
Normal file
18
topologie/migrations/0004_auto_20160703_1122.py
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('topologie', '0003_room'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterUniqueTogether(
|
||||||
|
name='switch',
|
||||||
|
unique_together=set([('building', 'number')]),
|
||||||
|
),
|
||||||
|
]
|
18
topologie/migrations/0005_auto_20160703_1123.py
Normal file
18
topologie/migrations/0005_auto_20160703_1123.py
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('topologie', '0004_auto_20160703_1122'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterUniqueTogether(
|
||||||
|
name='room',
|
||||||
|
unique_together=set([('building', 'number')]),
|
||||||
|
),
|
||||||
|
]
|
34
topologie/migrations/0006_auto_20160703_1129.py
Normal file
34
topologie/migrations/0006_auto_20160703_1129.py
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('topologie', '0005_auto_20160703_1123'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='room',
|
||||||
|
name='room',
|
||||||
|
field=models.IntegerField(default=1),
|
||||||
|
preserve_default=False,
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='room',
|
||||||
|
name='building',
|
||||||
|
field=models.CharField(max_length=255),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='room',
|
||||||
|
name='number',
|
||||||
|
field=models.IntegerField(blank=True),
|
||||||
|
),
|
||||||
|
migrations.AlterUniqueTogether(
|
||||||
|
name='room',
|
||||||
|
unique_together=set([('building', 'room', 'number')]),
|
||||||
|
),
|
||||||
|
]
|
|
@ -7,13 +7,13 @@ from django.db import migrations, models
|
||||||
class Migration(migrations.Migration):
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
dependencies = [
|
dependencies = [
|
||||||
('topologie', '0001_initial'),
|
('topologie', '0006_auto_20160703_1129'),
|
||||||
]
|
]
|
||||||
|
|
||||||
operations = [
|
operations = [
|
||||||
migrations.AlterField(
|
migrations.AlterField(
|
||||||
model_name='room',
|
model_name='room',
|
||||||
name='room',
|
name='number',
|
||||||
field=models.CharField(unique=True, max_length=255),
|
field=models.IntegerField(null=True, blank=True),
|
||||||
),
|
),
|
||||||
]
|
]
|
21
topologie/migrations/0008_port_room.py
Normal file
21
topologie/migrations/0008_port_room.py
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
import django.db.models.deletion
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('topologie', '0007_auto_20160703_1148'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='port',
|
||||||
|
name='room',
|
||||||
|
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, blank=True, default=1, to='topologie.Room'),
|
||||||
|
preserve_default=False,
|
||||||
|
),
|
||||||
|
]
|
20
topologie/migrations/0009_auto_20160703_1200.py
Normal file
20
topologie/migrations/0009_auto_20160703_1200.py
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
import django.db.models.deletion
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('topologie', '0008_port_room'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='port',
|
||||||
|
name='room',
|
||||||
|
field=models.ForeignKey(to='topologie.Room', on_delete=django.db.models.deletion.PROTECT, blank=True, null=True),
|
||||||
|
),
|
||||||
|
]
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
topologie/migrations/__pycache__/0003_room.cpython-34.pyc
Normal file
BIN
topologie/migrations/__pycache__/0003_room.cpython-34.pyc
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
topologie/migrations/__pycache__/0008_port_room.cpython-34.pyc
Normal file
BIN
topologie/migrations/__pycache__/0008_port_room.cpython-34.pyc
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,29 +1,53 @@
|
||||||
from django.db import models
|
from django.db import models
|
||||||
|
from django.contrib.contenttypes.models import ContentType
|
||||||
|
from django.contrib.contenttypes.fields import GenericForeignKey
|
||||||
|
|
||||||
class Port(models.Model):
|
|
||||||
|
class Switch(models.Model):
|
||||||
building = models.CharField(max_length=10)
|
building = models.CharField(max_length=10)
|
||||||
switch = models.IntegerField()
|
number = models.IntegerField()
|
||||||
port = models.IntegerField()
|
|
||||||
details = models.CharField(max_length=255, blank=True)
|
details = models.CharField(max_length=255, blank=True)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
unique_together = ("building", "switch", "port")
|
unique_together = ('building', 'number')
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return str(self.building) + " - " + str(self.switch) + " - " + str(self.port)
|
return str(self.building) + str(self.number)
|
||||||
|
|
||||||
|
class Port(models.Model):
|
||||||
|
switch = models.ForeignKey(Switch, related_name="ports")
|
||||||
|
port = models.IntegerField()
|
||||||
|
details = models.CharField(max_length=255, blank=True)
|
||||||
|
room = models.ForeignKey('Room', on_delete=models.PROTECT, blank=True, null=True)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
unique_together = ('_content_type', '_object_id')
|
||||||
|
|
||||||
|
_content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE, blank=True, null=True)
|
||||||
|
_object_id = models.PositiveIntegerField(blank=True, null=True)
|
||||||
|
goto = GenericForeignKey('_content_type', '_object_id')
|
||||||
|
|
||||||
|
@property
|
||||||
|
def comefrom(self):
|
||||||
|
ctype = ContentType.objects.get_for_model(self.__class__)
|
||||||
|
try:
|
||||||
|
event = Port.objects.get(_content_type__pk=ctype.id, _object_id=self.id)
|
||||||
|
except:
|
||||||
|
return None
|
||||||
|
return event
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return str(self.switch) + " - " + str(self.port)
|
||||||
|
|
||||||
class Room(models.Model):
|
class Room(models.Model):
|
||||||
details = models.CharField(max_length=255, blank=True)
|
details = models.CharField(max_length=255, blank=True)
|
||||||
room = models.CharField(max_length=255, unique=True)
|
building = models.CharField(max_length=255)
|
||||||
|
room = models.IntegerField()
|
||||||
|
number = models.IntegerField(blank=True, null=True)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
unique_together = ('building', 'room', 'number')
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return str(self.room)
|
return str(self.building) + str(self.room) + '-' + str(self.number)
|
||||||
|
|
||||||
class Link(models.Model):
|
|
||||||
port = models.ForeignKey('Port', on_delete=models.PROTECT)
|
|
||||||
details = models.CharField(max_length=255, blank=True)
|
|
||||||
#port_linked = models.ForeignKey('Port', on_delete=models.PROTECT, blank=True)
|
|
||||||
room = models.ForeignKey('Room', on_delete=models.PROTECT, blank=True)
|
|
||||||
|
|
||||||
def __str__(self):
|
|
||||||
return str(self.port)
|
|
||||||
|
|
Loading…
Reference in a new issue