from django.db import migrations, models


def copy_zone_country_from_region(apps, schema_editor):
    Zone = apps.get_model('core', 'Zone')
    for zone in Zone.objects.select_related('operational_region').all():
        if zone.operational_region_id:
            zone.country_code = zone.operational_region.country_code
            zone.save(update_fields=['country_code'])


class Migration(migrations.Migration):

    dependencies = [
        ('core', '0017_operationalregion_split'),
    ]

    operations = [
        migrations.RemoveConstraint(
            model_name='zone',
            name='unique_zone_name_per_operational_region',
        ),
        migrations.AddField(
            model_name='zone',
            name='country_code',
            field=models.CharField(blank=True, max_length=2),
        ),
        migrations.RunPython(copy_zone_country_from_region, migrations.RunPython.noop),
        migrations.RemoveField(
            model_name='zone',
            name='name',
        ),
        migrations.RemoveField(
            model_name='zone',
            name='operational_region',
        ),
        migrations.AlterField(
            model_name='zone',
            name='country_code',
            field=models.CharField(max_length=2, unique=True),
        ),
        migrations.AlterModelOptions(
            name='zone',
            options={'ordering': ['country_code']},
        ),
    ]
