diff --git a/AKModel/admin.py b/AKModel/admin.py index cd3c6cd5082739f1e1ae38836ebd1929c5b2181c..120ac012ea7e214e626767751a82f760f0e1a240 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 0000000000000000000000000000000000000000..fe28f9569e4e4751a99546770dcf33f678b9fdf1 --- /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 0e86c742e32b719ab3aa7217c05f68fb5c0ffa21..c6f3bf4c650355d690ba9578f281c8f36fd09ac7 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.