52 lines
1.8 KiB
Python
52 lines
1.8 KiB
Python
from django.db import migrations, models
|
|
|
|
|
|
def migrate_intake_statuses(apps, schema_editor):
|
|
TicketDraft = apps.get_model("tickets", "TicketDraft")
|
|
TicketDraft.objects.filter(status="editing").update(status="collecting")
|
|
TicketDraft.objects.filter(status="ready").update(status="needs_input")
|
|
TicketDraft.objects.filter(status="confirmed").update(status="ticket_created")
|
|
|
|
|
|
def restore_draft_statuses(apps, schema_editor):
|
|
TicketDraft = apps.get_model("tickets", "TicketDraft")
|
|
TicketDraft.objects.filter(status="collecting").update(status="editing")
|
|
TicketDraft.objects.filter(status="needs_input").update(status="ready")
|
|
TicketDraft.objects.filter(status="ticket_created").update(status="confirmed")
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
dependencies = [
|
|
("tickets", "0005_ticketcollaborator_ticketfieldevidence_and_more"),
|
|
]
|
|
|
|
operations = [
|
|
migrations.AddField(
|
|
model_name="ticketdraft",
|
|
name="field_evidence",
|
|
field=models.JSONField(default=dict),
|
|
),
|
|
migrations.AddField(
|
|
model_name="ticketdraft",
|
|
name="invalid_reason",
|
|
field=models.TextField(blank=True),
|
|
),
|
|
migrations.AddField(
|
|
model_name="ticketdraft",
|
|
name="message_timeline",
|
|
field=models.JSONField(default=list),
|
|
),
|
|
migrations.AddField(
|
|
model_name="ticketdraft",
|
|
name="problem_valid",
|
|
field=models.BooleanField(blank=True, null=True),
|
|
),
|
|
migrations.AlterField(
|
|
model_name="ticketdraft",
|
|
name="status",
|
|
field=models.CharField(default="collecting", max_length=24),
|
|
),
|
|
migrations.RunPython(migrate_intake_statuses, restore_draft_statuses),
|
|
]
|