From 884a07f87b3bfaa3f5772abd75a1e3181d9779c5 Mon Sep 17 00:00:00 2001 From: moanos Date: Fri, 21 Mar 2025 00:28:15 +0100 Subject: [PATCH] feat: Use choices and fix bug where default was not honored --- ...scueorganization_allows_using_materials.py | 18 +++++++++++++ src/fellchensammlung/models.py | 25 ++++++++----------- 2 files changed, 28 insertions(+), 15 deletions(-) create mode 100644 src/fellchensammlung/migrations/0040_alter_rescueorganization_allows_using_materials.py diff --git a/src/fellchensammlung/migrations/0040_alter_rescueorganization_allows_using_materials.py b/src/fellchensammlung/migrations/0040_alter_rescueorganization_allows_using_materials.py new file mode 100644 index 0000000..1a8c2a8 --- /dev/null +++ b/src/fellchensammlung/migrations/0040_alter_rescueorganization_allows_using_materials.py @@ -0,0 +1,18 @@ +# Generated by Django 5.1.4 on 2025-03-20 23:27 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('fellchensammlung', '0039_alter_rescueorganization_last_checked'), + ] + + operations = [ + migrations.AlterField( + model_name='rescueorganization', + name='allows_using_materials', + field=models.CharField(choices=[('allowed', 'Usage allowed'), ('requested', 'Usage requested'), ('denied', 'Usage denied'), ('other', "It's complicated"), ('not_asked', 'Not asked')], default='not_asked', max_length=200, verbose_name='Erlaubt Nutzung von Inhalten'), + ), + ] diff --git a/src/fellchensammlung/models.py b/src/fellchensammlung/models.py index fe196d5..7e782f2 100644 --- a/src/fellchensammlung/models.py +++ b/src/fellchensammlung/models.py @@ -88,29 +88,24 @@ class ExternalSourceChoices(models.TextChoices): OSM = "OSM", _("Open Street Map") +class ALLOW_USE_MATERIALS_CHOICE(models.TextChoices): + USE_MATERIALS_ALLOWED = "allowed", _("Usage allowed") + USE_MATERIALS_REQUESTED = "requested", _("Usage requested") + USE_MATERIALS_DENIED = "denied", _("Usage denied") + USE_MATERIALS_OTHER = "other", _("It's complicated") + USE_MATERIALS_NOT_ASKED = "not_asked", _("Not asked") + + class RescueOrganization(models.Model): def __str__(self): return f"{self.name}" - USE_MATERIALS_ALLOWED = "allowed" - USE_MATERIALS_REQUESTED = "requested" - USE_MATERIALS_DENIED = "denied" - USE_MATERIALS_OTHER = "other" - USE_MATERIALS_NOT_ASKED = "not_asked" - - ALLOW_USE_MATERIALS_CHOICE = { - USE_MATERIALS_ALLOWED: "Usage allowed", - USE_MATERIALS_REQUESTED: "Usage requested", - USE_MATERIALS_DENIED: "Usage denied", - USE_MATERIALS_OTHER: "It's complicated", - USE_MATERIALS_NOT_ASKED: "Not asked" - } name = models.CharField(max_length=200) trusted = models.BooleanField(default=False, verbose_name=_('Vertrauenswürdig')) allows_using_materials = models.CharField(max_length=200, - default=ALLOW_USE_MATERIALS_CHOICE[USE_MATERIALS_NOT_ASKED], - choices=ALLOW_USE_MATERIALS_CHOICE, + default=ALLOW_USE_MATERIALS_CHOICE.USE_MATERIALS_NOT_ASKED, + choices=ALLOW_USE_MATERIALS_CHOICE.choices, verbose_name=_('Erlaubt Nutzung von Inhalten')) location_string = models.CharField(max_length=200, verbose_name=_("Ort der Organisation")) location = models.ForeignKey(Location, on_delete=models.PROTECT, blank=True, null=True)