diff options
Diffstat (limited to 'pydis_site/apps')
| -rw-r--r-- | pydis_site/apps/api/migrations/0084_infraction_last_applied.py | 26 | ||||
| -rw-r--r-- | pydis_site/apps/api/models/bot/infraction.py | 6 | 
2 files changed, 32 insertions, 0 deletions
diff --git a/pydis_site/apps/api/migrations/0084_infraction_last_applied.py b/pydis_site/apps/api/migrations/0084_infraction_last_applied.py new file mode 100644 index 00000000..7704ddb8 --- /dev/null +++ b/pydis_site/apps/api/migrations/0084_infraction_last_applied.py @@ -0,0 +1,26 @@ +# Generated by Django 4.0.6 on 2022-07-27 20:32 + +import django.utils.timezone +from django.db import migrations, models +from django.apps.registry import Apps + + +def set_last_applied_to_inserted_at(apps: Apps, schema_editor): +    Infractions = apps.get_model("api", "infraction") +    Infractions.objects.all().update(last_applied=models.F("inserted_at")) + + +class Migration(migrations.Migration): + +    dependencies = [ +        ('api', '0083_remove_embed_validation'), +    ] + +    operations = [ +        migrations.AddField( +            model_name='infraction', +            name='last_applied', +            field=models.DateTimeField(default=django.utils.timezone.now, help_text='The date and time of when this infraction was last applied.'), +        ), +        migrations.RunPython(set_last_applied_to_inserted_at) +    ] diff --git a/pydis_site/apps/api/models/bot/infraction.py b/pydis_site/apps/api/models/bot/infraction.py index c9303024..218ee5ec 100644 --- a/pydis_site/apps/api/models/bot/infraction.py +++ b/pydis_site/apps/api/models/bot/infraction.py @@ -23,6 +23,12 @@ class Infraction(ModelReprMixin, models.Model):          default=timezone.now,          help_text="The date and time of the creation of this infraction."      ) +    last_applied = models.DateTimeField( +        # This default is for backwards compatibility with bot versions +        # that don't explicitly give a value. +        default=timezone.now, +        help_text="The date and time of when this infraction was last applied." +    )      expires_at = models.DateTimeField(          null=True,          help_text=(  |