# Generated by Django 2.0.8 on 2018-12-06 16:34

from django.db import migrations, models
from planotrabalho.models import Componente, Conselheiro
from adesao.models import SistemaCultura, Municipio
import django.db.models.deletion

def migra_conselheiros(apps, schema_editor):
	conselheiros = apps.get_model('planotrabalho', 'Conselheiro')
	for conselheiro in conselheiros.objects.all():
		municipio = Municipio.objects.get(usuario__plano_trabalho__conselho_cultural__id=conselheiro.conselho_aux.id)

		if municipio.cidade:
			sistemas = SistemaCultura.sistema.filter(ente_federado__nome=municipio.cidade.nome_municipio)
			codigo_ibge = str(municipio.cidade.codigo_ibge)
		else:
			sistemas = SistemaCultura.sistema.filter(ente_federado__nome=municipio.estado.nome_uf)
			codigo_ibge = str(municipio.estado.codigo_ibge)

		if sistemas.count() > 1:
			for sistema in sistemas:
				if codigo_ibge in str(sistema.ente_federado.cod_ibge):
					sistema_conselho = sistema
					break
		elif sistemas.count() == 1:
			sistema_conselho = sistemas[0]
		else:
			continue

		conselheiro.conselho_id = sistema_conselho.conselho.id
		conselheiro.save()


class Migration(migrations.Migration):

    dependencies = [
        ('planotrabalho', '0010_auto_20181203_1847'),
    ]

    operations = [
    	migrations.RenameField(
            model_name='conselheiro',
            old_name='conselho',
            new_name='conselho_aux',
        ),
        migrations.AddField(
            model_name='conselheiro',
            name='conselho',
            field=models.ForeignKey(to='planotrabalho.Componente', on_delete=django.db.models.deletion.CASCADE, null=True),
        ),
        migrations.RunPython(migra_conselheiros),
        migrations.RemoveField(
            model_name='conselheiro',
            name='conselho_aux',
        ),
    ]
