From f847a48b3e057745a0514f7eaffe045faba4f23e Mon Sep 17 00:00:00 2001 From: Simon Caminada Date: Thu, 19 Jul 2018 00:54:37 +0200 Subject: [PATCH] tag list fix --- src/portal/admin.py | 10 +---- .../migrations/0004_auto_20180718_1754.py | 38 +++++++++++++++++++ src/portal/models.py | 22 +---------- 3 files changed, 42 insertions(+), 28 deletions(-) create mode 100644 src/portal/migrations/0004_auto_20180718_1754.py diff --git a/src/portal/admin.py b/src/portal/admin.py index 31322eb..30d06cc 100644 --- a/src/portal/admin.py +++ b/src/portal/admin.py @@ -4,8 +4,7 @@ from django.contrib.auth.models import User from parler.admin import TranslatableAdmin from django.contrib.auth.admin import UserAdmin as BaseUserAdmin -from portal.models import Profile, Announcement, DownloadSection, DownloadTag, DownloadFile, Information, \ - InformationSection +from portal.models import Profile, Announcement, DownloadSection, DownloadFile, Information, InformationSection class ProfileInline(admin.StackedInline): @@ -56,14 +55,9 @@ class DownloadSectionAdmin(TranslatableAdmin): list_editable = ['ordering'] -@admin.register(DownloadTag) -class DownloadTagAdmin(TranslatableAdmin): - pass - - @admin.register(DownloadFile) class DownloadFileAdmin(TranslatableAdmin): list_display = ('label', 'ordering') list_editable = ['ordering'] list_filter = ('section', 'groups') - filter_horizontal = ('groups', 'tags') + filter_horizontal = ('groups',) diff --git a/src/portal/migrations/0004_auto_20180718_1754.py b/src/portal/migrations/0004_auto_20180718_1754.py new file mode 100644 index 0000000..5388c47 --- /dev/null +++ b/src/portal/migrations/0004_auto_20180718_1754.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.11 on 2018-07-18 17:54 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('portal', '0003_auto_20180718_1741'), + ] + + operations = [ + migrations.AlterUniqueTogether( + name='downloadtagtranslation', + unique_together=set([]), + ), + migrations.RemoveField( + model_name='downloadtagtranslation', + name='master', + ), + migrations.RemoveField( + model_name='downloadfile', + name='tags', + ), + migrations.AddField( + model_name='downloadfiletranslation', + name='tag_list', + field=models.TextField(blank=True, help_text='Mit Komma getrennt', null=True, verbose_name='Tags'), + ), + migrations.DeleteModel( + name='DownloadTag', + ), + migrations.DeleteModel( + name='DownloadTagTranslation', + ), + ] diff --git a/src/portal/models.py b/src/portal/models.py index 52d870d..0024a67 100644 --- a/src/portal/models.py +++ b/src/portal/models.py @@ -120,29 +120,15 @@ class DownloadSection(TranslatableModel): return self.title -class DownloadTag(TranslatableModel): - translations = TranslatedFields( - name=models.CharField(max_length=100, verbose_name='Name') - ) - - class Meta: - verbose_name = 'Download Tag' - verbose_name_plural = 'Download Tags' - - def __str__(self): - return self.name - - class DownloadFile(TranslatableModel): section = models.ForeignKey(DownloadSection, verbose_name='Download Section', related_name='files') groups = models.ManyToManyField(Group, verbose_name='Mitgliedergruppen', related_name='files') - tags = models.ManyToManyField(DownloadTag, verbose_name='Suchbegriffe', related_name='files', - blank=True, null=True) translations = TranslatedFields( name=models.CharField(max_length=512, verbose_name='Name', blank=True, null=True), description=models.TextField(verbose_name='Beschreibung', blank=True, null=True), - file=FilerFileField(verbose_name='File') + file=FilerFileField(verbose_name='File'), + tag_list=models.TextField(verbose_name='Tags', help_text='Mit Komma getrennt', null=True, blank=True) ) ordering = models.IntegerField(default=50, verbose_name='Sortierung') @@ -169,7 +155,3 @@ class DownloadFile(TranslatableModel): return self.name else: return os.path.basename(self.file.name) - - @property - def tag_list(self): - return ', '.join(list(self.tags.values_list('translations__name', flat=True)))