From 7cc7cc11095c8b8f8bc4a38d3e7a9bf70e1bda4b Mon Sep 17 00:00:00 2001 From: "N. Geisler" <ngeisler@fachschaft.informatik.tu-darmstadt.de> Date: Fri, 18 Oct 2019 11:20:22 +0200 Subject: [PATCH] model AK wishes allow AK owners to be empty infer AK wish from empty owner list show wish status in Admin overview --- AKModel/admin.py | 14 +++++++++++++- AKModel/migrations/0012_ak_wish.py | 18 ++++++++++++++++++ AKModel/models.py | 7 ++++++- 3 files changed, 37 insertions(+), 2 deletions(-) create mode 100644 AKModel/migrations/0012_ak_wish.py diff --git a/AKModel/admin.py b/AKModel/admin.py index cd3c6cd5..120ac012 100644 --- a/AKModel/admin.py +++ b/AKModel/admin.py @@ -13,7 +13,19 @@ admin.site.register(AKType) admin.site.register(AKTrack) admin.site.register(AKTag) admin.site.register(AKRequirement) -admin.site.register(AK) + + +class AKAdmin(admin.ModelAdmin): + model = AK + list_display = ['name', 'short_name', 'type', 'is_wish'] + + def is_wish(self, obj): + return obj.wish + + is_wish.boolean = True + + +admin.site.register(AK, AKAdmin) admin.site.register(Room) diff --git a/AKModel/migrations/0012_ak_wish.py b/AKModel/migrations/0012_ak_wish.py new file mode 100644 index 00000000..fe28f956 --- /dev/null +++ b/AKModel/migrations/0012_ak_wish.py @@ -0,0 +1,18 @@ +# Generated by Django 2.2.6 on 2019-10-18 09:00 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + dependencies = [ + ('AKModel', '0011_remove_null_event_slug_field'), + ] + + operations = [ + migrations.AlterField( + model_name='ak', + name='owners', + field=models.ManyToManyField(blank=True, help_text='Those organizing the AK', to='AKModel.AKOwner', + verbose_name='Owners'), + ), + ] diff --git a/AKModel/models.py b/AKModel/models.py index 0e86c742..c6f3bf4c 100644 --- a/AKModel/models.py +++ b/AKModel/models.py @@ -121,7 +121,8 @@ class AK(models.Model): help_text=_('Name displayed in the schedule')) description = models.TextField(blank=True, verbose_name=_('Description'), help_text=_('Description of the AK')) - owners = models.ManyToManyField(to=AKOwner, verbose_name=_('Owners'), help_text=_('Those organizing the AK')) + owners = models.ManyToManyField(to=AKOwner, blank=True, verbose_name=_('Owners'), + help_text=_('Those organizing the AK')) # TODO generate automatically link = models.URLField(blank=True, verbose_name=_('Web Link'), help_text=_('Link to wiki page')) @@ -161,6 +162,10 @@ class AK(models.Model): def owners_list(self): return ", ".join(str(owner) for owner in self.owners.all()) + @property + def wish(self): + return self.owners.count() == 0 + class Room(models.Model): """ A room describes where an AK can be held. -- GitLab