diff --git a/api/migrations/0231_remove_event_auto_generated_source_event_source_and_more.py b/api/migrations/0231_remove_event_auto_generated_source_event_source_and_more.py deleted file mode 100644 index f6e96e837..000000000 --- a/api/migrations/0231_remove_event_auto_generated_source_event_source_and_more.py +++ /dev/null @@ -1,64 +0,0 @@ -# Generated by Django 4.2.29 on 2026-05-07 05:56 - -from django.db import migrations, models - -def migrate_sources(apps, schema_editor): - """ - Populate the source field for Event records: - - Non auto generated events are mapped to MANUAL_INPUT. - - Events that are auto generated and have auto_generated_source are mapped to the corresponding enum value. - - 0 is temporary placeholder for unmapped/unknown auto-generated sources that will be reclassified into proper EventSource via `migrate_event_source` command. - """ - - Model = apps.get_model("api", "Event") - for obj in Model.objects.iterator(): - if not obj.auto_generated: - value = 100 - - else: - src = (obj.auto_generated_source or "").lower() - if "gdacs" in src: - value = 110 - elif "who.int" in src: - value = 120 - guid = src.strip().split(".") - id = guid[-1].strip() - obj.who_guid = int(id) - elif "field report dmis ingest" in src: - value = 130 - elif "field report admin" in src: - value = 140 - elif "appeal" in src: - value = 150 - elif "new field report" in src: - value = 160 - else: - value = 0 - obj.source = value - obj.save(update_fields=["source", "who_guid"]) - -class Migration(migrations.Migration): - - dependencies = [ - ('api', '0230_alter_districtgeoms_district'), - ] - - operations = [ - - migrations.AddField( - model_name='event', - name='who_guid', - field=models.IntegerField(blank=True, null=True, verbose_name='Who guid'), - ), - migrations.AddField( - model_name='event', - name='source', - field=models.IntegerField(choices=[(100, 'Manual input'), (110, 'GDACs scraper'), (120, 'WHO scraper'), (130, 'Field report DMIS ingest'), (140, 'Field report admin'), (150, 'Appeal admin'), (160, 'New field report'), (170, 'DREF')], default=100, verbose_name='Event source'), - ), - migrations.RunPython(migrate_sources,reverse_code=migrations.RunPython.noop), - - migrations.RemoveField( - model_name='event', - name='auto_generated_source', - ), - ] diff --git a/api/migrations/0232_remove_event_auto_generated_source_event_source_and_more.py b/api/migrations/0232_remove_event_auto_generated_source_event_source_and_more.py new file mode 100644 index 000000000..157b8dce9 --- /dev/null +++ b/api/migrations/0232_remove_event_auto_generated_source_event_source_and_more.py @@ -0,0 +1,27 @@ +# Generated by Django 4.2.29 on 2026-05-12 08:28 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('api', '0231_alter_export_export_type'), + ] + + operations = [ + migrations.RemoveField( + model_name='event', + name='auto_generated_source', + ), + migrations.AddField( + model_name='event', + name='source', + field=models.IntegerField(choices=[(100, 'Manual input'), (110, 'GDACs scraper'), (120, 'WHO scraper'), (130, 'Field report DMIS ingest'), (140, 'Field report admin'), (150, 'Appeal admin'), (160, 'New field report'), (170, 'DREF')], default=100, verbose_name='Event source'), + ), + migrations.AddField( + model_name='event', + name='who_guid', + field=models.IntegerField(blank=True, null=True, verbose_name='Who guid'), + ), + ] diff --git a/api/test_views.py b/api/test_views.py index c9776b511..87e24c6d9 100644 --- a/api/test_views.py +++ b/api/test_views.py @@ -1065,15 +1065,15 @@ def setUp(self): self.field_report1 = FieldReportFactory.create( event=self.event1, - created_at=timezone.make_aware(datetime(2024, 1, 1)), - updated_at=timezone.make_aware(datetime(2026, 1, 1)), + created_at=datetime.datetime(2024, 1, 1, 0, 0, 0, tzinfo=datetime.timezone.utc), + updated_at=datetime.datetime(2026, 1, 1, 0, 0, 0, tzinfo=datetime.timezone.utc), fr_num=50, ) self.field_report2 = FieldReportFactory.create( event=self.event1, - created_at=timezone.make_aware(datetime(2024, 1, 1)), - updated_at=timezone.make_aware(datetime(2025, 1, 1)), + created_at=datetime.datetime(2024, 1, 1, 0, 0, 0, tzinfo=datetime.timezone.utc), + updated_at=datetime.datetime(2025, 1, 1, 0, 0, 0, tzinfo=datetime.timezone.utc), fr_num=20, ) diff --git a/assets b/assets index de7d052a5..6415a4b3a 160000 --- a/assets +++ b/assets @@ -1 +1 @@ -Subproject commit de7d052a5fb75baa7a410e5a8cece5e52f043835 +Subproject commit 6415a4b3a8caded684bb00864c6efa102c2c63f5