# Generated by Django 3.2.12 on 2022-03-16 23:20

import bookwyrm.models.fields
from django.db import migrations
from bookwyrm.models import Shelf


def add_shelves(apps, schema_editor):
    """add any superusers to the "admin" group"""

    db_alias = schema_editor.connection.alias
    shelf_model = apps.get_model("bookwyrm", "Shelf")

    users = apps.get_model("bookwyrm", "User")
    local_users = users.objects.using(db_alias).filter(local=True)
    for user in local_users:
        remote_id = f"{user.remote_id}/books/stopped"
        shelf_model.objects.using(db_alias).create(
            name="Stopped reading",
            identifier=Shelf.STOPPED_READING,
            user=user,
            editable=False,
            remote_id=remote_id,
        )


class Migration(migrations.Migration):

    dependencies = [
        ("bookwyrm", "0145_sitesettings_version"),
    ]

    operations = [
        migrations.AlterField(
            model_name="comment",
            name="reading_status",
            field=bookwyrm.models.fields.CharField(
                blank=True,
                choices=[
                    ("to-read", "To-Read"),
                    ("reading", "Reading"),
                    ("read", "Read"),
                    ("stopped-reading", "Stopped-Reading"),
                ],
                max_length=255,
                null=True,
            ),
        ),
        migrations.AlterField(
            model_name="quotation",
            name="reading_status",
            field=bookwyrm.models.fields.CharField(
                blank=True,
                choices=[
                    ("to-read", "To-Read"),
                    ("reading", "Reading"),
                    ("read", "Read"),
                    ("stopped-reading", "Stopped-Reading"),
                ],
                max_length=255,
                null=True,
            ),
        ),
        migrations.AlterField(
            model_name="review",
            name="reading_status",
            field=bookwyrm.models.fields.CharField(
                blank=True,
                choices=[
                    ("to-read", "To-Read"),
                    ("reading", "Reading"),
                    ("read", "Read"),
                    ("stopped-reading", "Stopped-Reading"),
                ],
                max_length=255,
                null=True,
            ),
        ),
        migrations.RunPython(add_shelves, reverse_code=migrations.RunPython.noop),
    ]
