from django.db import migrations

TAMANOS = ['12 oz Gold Master', '12 oz Gold', '16 oz Gold', '20 oz', '3L', '7L']


def clasificar(apps, schema_editor):
    VariacionCatalogo = apps.get_model('ventas', 'VariacionCatalogo')

    VariacionCatalogo.objects.filter(nombre__in=TAMANOS).update(grupo='Tamaño', tipo='FIJO')

    VariacionCatalogo.objects.filter(nombre='Cubetazo').update(
        tipo='COMBO', grupo='Combo', unidades_por_combo=6, unidades_cobradas=5,
    )
    VariacionCatalogo.objects.filter(nombre='Michelada').update(tipo='EXTRA', grupo='Preparación')
    VariacionCatalogo.objects.filter(nombre='Explosiva').update(tipo='FIJO', grupo='Preparación')
    # 'Grande' no se reclasifica: no hay ventas históricas que indiquen a qué
    # producto/categoría aplica, se deja para revisión manual en el admin.


def revertir(apps, schema_editor):
    VariacionCatalogo = apps.get_model('ventas', 'VariacionCatalogo')
    VariacionCatalogo.objects.all().update(
        grupo='', tipo='FIJO', unidades_por_combo=1, unidades_cobradas=1,
    )


class Migration(migrations.Migration):

    dependencies = [
        ('ventas', '0005_variacion_a_catalogo'),
    ]

    operations = [
        migrations.RunPython(clasificar, revertir),
    ]
