# -*- coding: utf-8 -*- # Generated by Django 1.10.7 on 2018-10-13 14:29 from __future__ import unicode_literals from django.db import migrations, models import django.db.models.deletion import re2o.mixins def create_radius_policy(apps, schema_editor): OptionalTopologie = apps.get_model('preferences', 'OptionalTopologie') RadiusOption = apps.get_model('preferences', 'RadiusOption') RadiusPolicy = apps.get_model('preferences', 'RadiusPolicy') option,_ = OptionalTopologie.objects.get_or_create() radius_option = RadiusOption() radius_option.radius_general_policy = option.radius_general_policy radius_option.unknown_machine = RadiusPolicy.objects.create() radius_option.unknown_port = RadiusPolicy.objects.create() radius_option.unknown_room = RadiusPolicy.objects.create() radius_option.non_member = RadiusPolicy.objects.create() radius_option.banned = RadiusPolicy.objects.create() radius_option.vlan_decision_ok = option.vlan_decision_ok radius_option.save() class Migration(migrations.Migration): dependencies = [ ('machines', '0095_auto_20180919_2225'), ('preferences', '0051_auto_20180919_2225'), ] operations = [ migrations.CreateModel( name='RadiusOption', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('radius_general_policy', models.CharField(choices=[('MACHINE', "On the IP range's VLAN of the machine"), ('DEFINED', "Preset in 'VLAN for machines accepted by RADIUS'")], default='DEFINED', max_length=32)), ], options={ 'verbose_name': 'radius policies', }, bases=(re2o.mixins.AclMixin, models.Model), ), migrations.CreateModel( name='RadiusPolicy', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('policy', models.CharField(choices=[('REJECT', 'Reject the machine'), ('SET_VLAN', 'Place the machine on the VLAN')], default='REJECT', max_length=32)), ('vlan', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='machines.Vlan')), ], options={ 'verbose_name': 'radius policy', }, bases=(re2o.mixins.AclMixin, models.Model), ), migrations.AddField( model_name='radiusoption', name='non_member', field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='non_member_option', to='preferences.RadiusPolicy', verbose_name='Policy non member users.'), ), migrations.AddField( model_name='radiusoption', name='unknown_machine', field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='unknown_machine_option', to='preferences.RadiusPolicy', verbose_name='Policy for unknown machines'), ), migrations.AddField( model_name='radiusoption', name='unknown_port', field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='unknown_port_option', to='preferences.RadiusPolicy', verbose_name='Policy for unknown machines'), ), migrations.AddField( model_name='radiusoption', name='unknown_room', field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='unknown_room_option', to='preferences.RadiusPolicy', verbose_name='Policy for machine connecting from unregistered room (relevant on ports with STRICT radius mode)'), ), migrations.AddField( model_name='radiusoption', name='banned', field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, related_name='banned_option', to='preferences.RadiusPolicy', verbose_name='Policy for banned users.'), ), migrations.AddField( model_name='radiusoption', name='vlan_decision_ok', field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='vlan_ok_option', to='machines.Vlan'), ), migrations.RunPython(create_radius_policy), ]