# Generated by Django 5.2.12 on 2026-04-01 18:20

from django.db import migrations
from django.db import models

OLD_TITLE_RULE = 0
OLD_TITLE_CONTENT_RULE = 19
NEW_SIMPLE_TITLE_RULE = 48
NEW_SIMPLE_TEXT_RULE = 49


# See documents/models.py SavedViewFilterRule
def migrate_saved_view_rules_forward(apps, schema_editor):
    SavedViewFilterRule = apps.get_model("documents", "SavedViewFilterRule")
    SavedViewFilterRule.objects.filter(rule_type=OLD_TITLE_RULE).update(
        rule_type=NEW_SIMPLE_TITLE_RULE,
    )
    SavedViewFilterRule.objects.filter(rule_type=OLD_TITLE_CONTENT_RULE).update(
        rule_type=NEW_SIMPLE_TEXT_RULE,
    )


class Migration(migrations.Migration):
    dependencies = [
        ("documents", "0017_migrate_fulltext_query_field_prefixes"),
    ]

    operations = [
        migrations.AlterField(
            model_name="savedviewfilterrule",
            name="rule_type",
            field=models.PositiveSmallIntegerField(
                choices=[
                    (0, "title contains"),
                    (1, "content contains"),
                    (2, "ASN is"),
                    (3, "correspondent is"),
                    (4, "document type is"),
                    (5, "is in inbox"),
                    (6, "has tag"),
                    (7, "has any tag"),
                    (8, "created before"),
                    (9, "created after"),
                    (10, "created year is"),
                    (11, "created month is"),
                    (12, "created day is"),
                    (13, "added before"),
                    (14, "added after"),
                    (15, "modified before"),
                    (16, "modified after"),
                    (17, "does not have tag"),
                    (18, "does not have ASN"),
                    (19, "title or content contains"),
                    (20, "fulltext query"),
                    (21, "more like this"),
                    (22, "has tags in"),
                    (23, "ASN greater than"),
                    (24, "ASN less than"),
                    (25, "storage path is"),
                    (26, "has correspondent in"),
                    (27, "does not have correspondent in"),
                    (28, "has document type in"),
                    (29, "does not have document type in"),
                    (30, "has storage path in"),
                    (31, "does not have storage path in"),
                    (32, "owner is"),
                    (33, "has owner in"),
                    (34, "does not have owner"),
                    (35, "does not have owner in"),
                    (36, "has custom field value"),
                    (37, "is shared by me"),
                    (38, "has custom fields"),
                    (39, "has custom field in"),
                    (40, "does not have custom field in"),
                    (41, "does not have custom field"),
                    (42, "custom fields query"),
                    (43, "created to"),
                    (44, "created from"),
                    (45, "added to"),
                    (46, "added from"),
                    (47, "mime type is"),
                    (48, "simple title search"),
                    (49, "simple text search"),
                ],
                verbose_name="rule type",
            ),
        ),
        migrations.RunPython(
            migrate_saved_view_rules_forward,
            migrations.RunPython.noop,
        ),
    ]
