mirror of https://gitlab.federez.net/re2o/re2o
committed by
Hugo LEVY-FALK
7 changed files with 131 additions and 17 deletions
@ -0,0 +1,21 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.10.7 on 2018-06-28 07:49 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.db import migrations, models |
|||
import django.db.models.deletion |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('topologie', '0062_auto_20180627_0123'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.AddField( |
|||
model_name='port', |
|||
name='custom_profil', |
|||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='topologie.PortProfile'), |
|||
), |
|||
] |
|||
@ -0,0 +1,57 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.10.7 on 2017-12-31 19:53 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.db import migrations |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('topologie', '0063_port_custom_profil'), |
|||
] |
|||
|
|||
def transfer_profil(apps, schema_editor): |
|||
db_alias = schema_editor.connection.alias |
|||
port = apps.get_model("topologie", "Port") |
|||
profil = apps.get_model("topologie", "PortProfile") |
|||
vlan = apps.get_model("machines", "Vlan") |
|||
port_list = port.objects.using(db_alias).all() |
|||
profil_nothing = profil.objects.using(db_alias).create(name='nothing', profil_default='nothing', radius_type='NO') |
|||
profil_uplink = profil.objects.using(db_alias).create(name='uplink', profil_default='uplink', radius_type='NO') |
|||
profil_machine = profil.objects.using(db_alias).create(name='asso_machine', profil_default='asso_machine', radius_type='NO') |
|||
profil_room = profil.objects.using(db_alias).create(name='room', profil_default='room', radius_type='NO') |
|||
profil_borne = profil.objects.using(db_alias).create(name='accesspoint', profil_default='accesspoint', radius_type='NO') |
|||
for vlan_instance in vlan.objects.using(db_alias).all(): |
|||
if port.objects.using(db_alias).filter(vlan_force=vlan_instance): |
|||
custom_profil = profil.objects.using(db_alias).create(name='vlan-force-' + str(vlan_instance.vlan_id), radius_type='NO', vlan_untagged=vlan_instance) |
|||
port.objects.using(db_alias).filter(vlan_force=vlan_instance).update(custom_profil=custom_profil) |
|||
if port.objects.using(db_alias).filter(room__isnull=False).filter(radius='STRICT').count() > port.objects.using(db_alias).filter(room__isnull=False).filter(radius='NO').count() and port.objects.using(db_alias).filter(room__isnull=False).filter(radius='STRICT').count() > port.objects.using(db_alias).filter(room__isnull=False).filter(radius='COMMON').count(): |
|||
profil_room.radius_type = 'MAC-radius' |
|||
profil_room.radius_mode = 'STRICT' |
|||
common_profil = profil.objects.using(db_alias).create(name='mac-radius-common', radius_type='MAC-radius', radius_mode='COMMON') |
|||
no_rad_profil = profil.objects.using(db_alias).create(name='no-radius', radius_type='NO') |
|||
port.objects.using(db_alias).filter(room__isnull=False).filter(radius='COMMON').update(custom_profil=common_profil) |
|||
port.objects.using(db_alias).filter(room__isnull=False).filter(radius='NO').update(custom_profil=no_rad_profil) |
|||
elif port.objects.using(db_alias).filter(room__isnull=False).filter(radius='COMMON').count() > port.objects.using(db_alias).filter(room__isnull=False).filter(radius='NO').count() and port.objects.using(db_alias).filter(room__isnull=False).filter(radius='COMMON').count() > port.objects.using(db_alias).filter(room__isnull=False).filter(radius='STRICT').count(): |
|||
profil_room.radius_type = 'MAC-radius' |
|||
profil_room.radius_mode = 'COMMON' |
|||
strict_profil = profil.objects.using(db_alias).create(name='mac-radius-strict', radius_type='MAC-radius', radius_mode='STRICT') |
|||
no_rad_profil = profil.objects.using(db_alias).create(name='no-radius', radius_type='NO') |
|||
port.objects.using(db_alias).filter(room__isnull=False).filter(radius='STRICT').update(custom_profil=strict_profil) |
|||
port.objects.using(db_alias).filter(room__isnull=False).filter(radius='NO').update(custom_profil=no_rad_profil) |
|||
else: |
|||
strict_profil = profil.objects.using(db_alias).create(name='mac-radius-strict', radius_type='MAC-radius', radius_mode='STRICT') |
|||
common_profil = profil.objects.using(db_alias).create(name='mac-radius-common', radius_type='MAC-radius', radius_mode='COMMON') |
|||
port.objects.using(db_alias).filter(room__isnull=False).filter(radius='STRICT').update(custom_profil=strict_profil) |
|||
port.objects.using(db_alias).filter(room__isnull=False).filter(radius='NO').update(custom_profil=common_profil) |
|||
profil_room.save() |
|||
|
|||
|
|||
|
|||
def untransfer_profil(apps, schema_editor): |
|||
return |
|||
|
|||
operations = [ |
|||
migrations.RunPython(transfer_profil, untransfer_profil), |
|||
] |
|||
@ -0,0 +1,23 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.10.7 on 2018-06-30 15:03 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.db import migrations |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('topologie', '0064_createprofil'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.RemoveField( |
|||
model_name='port', |
|||
name='radius', |
|||
), |
|||
migrations.RemoveField( |
|||
model_name='port', |
|||
name='vlan_force', |
|||
), |
|||
] |
|||
Loading…
Reference in new issue