From 317a1c0b1c95719380d947b708d6ffbef2e3befa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=AD=C3=B0ir=20Valberg=20Gu=C3=B0mundsson?= Date: Sun, 20 May 2018 22:10:38 +0200 Subject: [PATCH] Remove camp from infocategory and derive it from team. --- src/info/admin.py | 6 ++--- .../migrations/0006_auto_20180520_1113.py | 27 +++++++++++++++++++ src/info/models.py | 11 +++----- 3 files changed, 34 insertions(+), 10 deletions(-) create mode 100644 src/info/migrations/0006_auto_20180520_1113.py diff --git a/src/info/admin.py b/src/info/admin.py index 9db9c82d..b2287b77 100644 --- a/src/info/admin.py +++ b/src/info/admin.py @@ -8,19 +8,19 @@ from .models import ( @admin.register(InfoItem) class InfoItemAdmin(VersionAdmin): - list_filter = ['category', 'category__camp',] + list_filter = ['category', 'category__team__camp',] list_display = ['headline',] class InfoItemInlineAdmin(admin.StackedInline): model = InfoItem - list_filter = ['category', 'category__camp',] + list_filter = ['category', 'category__team__camp',] list_display = ['headline',] @admin.register(InfoCategory) class InfoCategorydmin(admin.ModelAdmin): - list_filter = ['camp',] + list_filter = ['team__camp',] list_display = ['headline',] search_fields = ['headline', 'body'] inlines = [InfoItemInlineAdmin] diff --git a/src/info/migrations/0006_auto_20180520_1113.py b/src/info/migrations/0006_auto_20180520_1113.py new file mode 100644 index 00000000..d7cef8ba --- /dev/null +++ b/src/info/migrations/0006_auto_20180520_1113.py @@ -0,0 +1,27 @@ +# Generated by Django 2.0.4 on 2018-05-20 16:13 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('info', '0005_add_teams_to_categories'), + ] + + operations = [ + migrations.AlterField( + model_name='infocategory', + name='team', + field=models.ForeignKey(blank=True, help_text='The team responsible for this info category.', null=True, on_delete=django.db.models.deletion.PROTECT, related_name='info_categories', to='teams.Team'), + ), + migrations.AlterUniqueTogether( + name='infocategory', + unique_together=set(), + ), + migrations.RemoveField( + model_name='infocategory', + name='camp', + ), + ] diff --git a/src/info/models.py b/src/info/models.py index 6e7f5676..50a31e32 100644 --- a/src/info/models.py +++ b/src/info/models.py @@ -8,15 +8,8 @@ import reversion class InfoCategory(CampRelatedModel): class Meta: ordering = ['weight', 'headline'] - unique_together = (('anchor', 'camp'), ('headline', 'camp')) verbose_name_plural = "Info Categories" - camp = models.ForeignKey( - 'camps.Camp', - related_name='infocategories', - on_delete=models.PROTECT - ) - headline = models.CharField( max_length=100, help_text="The headline of this info category" @@ -52,6 +45,10 @@ class InfoCategory(CampRelatedModel): {'team': 'Team is a team from another camp.'} ) + @property + def camp(self): + return self.team.camp + def __str__(self): return '%s (%s)' % (self.headline, self.camp)