# Generated by Django 5.1.4 on 2025-03-02 16:47
#
# Reporting wanted the catalogue in campaign/tier order rather than import
# order, and sorting on the key string put T10 in front of T2.

from django.db import migrations


def backfill_display_order(apps, schema_editor):
    entry_model = apps.get_model("adjustments", "PromotionCatalogEntry")
    alias = schema_editor.connection.alias
    for entry in entry_model.objects.using(alias).all().order_by("pk"):
        entry.display_order = int(entry.campaign_key.split("-")[1]) * 100 + int(
            entry.tier_key[1:]
        )
        entry.save(using=alias, update_fields=["display_order"])


class Migration(migrations.Migration):

    dependencies = [
        ("adjustments", "0004_backfill_catalog_labels"),
    ]

    operations = [
        migrations.RunPython(backfill_display_order, migrations.RunPython.noop),
    ]
