From c5bb29d1f1b349e0906cd9bda2535b49b5be2ffb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nils=20B=C3=BCchner?= Date: Sat, 8 Jun 2024 19:26:35 +0200 Subject: [PATCH] room specific factoids --- ubottu/factoids/admin.py | 6 +++--- ubottu/factoids/models.py | 1 + ubottu/factoids/serializers.py | 2 +- ubottu/factoids/templates/factoids/list_facts.html | 2 ++ 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/ubottu/factoids/admin.py b/ubottu/factoids/admin.py index 6a051b0..28d6ba0 100644 --- a/ubottu/factoids/admin.py +++ b/ubottu/factoids/admin.py @@ -4,9 +4,9 @@ from .models import Fact from .forms import FactForm class FactAdmin(admin.ModelAdmin): - list_display = ('name', 'value', 'ftype', 'create_date', 'change_date', 'author', 'popularity') - list_filter = ('ftype', 'create_date', 'author') # Fields to add filters for - search_fields = ('name', 'value') + list_display = ('name', 'value', 'ftype', 'create_date', 'change_date', 'room', 'author', 'popularity') + list_filter = ('ftype', 'create_date', 'author', 'room') # Fields to add filters for + search_fields = ('name', 'value', 'room') form = FactForm def get_form(self, request, obj=None, **kwargs): # Check if an instance is being added (obj is None) to exclude 'author_id' field diff --git a/ubottu/factoids/models.py b/ubottu/factoids/models.py index de87304..07f3eec 100644 --- a/ubottu/factoids/models.py +++ b/ubottu/factoids/models.py @@ -24,6 +24,7 @@ class Fact(models.Model): id = models.BigAutoField(primary_key=True) author = models.ForeignKey(User, on_delete=models.SET_NULL, null=True) + room = models.CharField(null=True, default=None, max_length=128) create_date = models.DateTimeField("date published", default=timezone.now) change_date = models.DateTimeField("date changed", default=timezone.now) popularity = models.IntegerField(default=0) diff --git a/ubottu/factoids/serializers.py b/ubottu/factoids/serializers.py index 9243d41..a25576f 100644 --- a/ubottu/factoids/serializers.py +++ b/ubottu/factoids/serializers.py @@ -10,7 +10,7 @@ class FactSerializer(serializers.ModelSerializer): user_ids = serializers.SerializerMethodField() class Meta: model = Fact - fields = ['id', 'name', 'user_ids', 'value', 'ftype', 'author_name', 'create_date', 'change_date', 'popularity'] + fields = ['id', 'name', 'user_ids', 'value', 'ftype', 'room', 'author_name', 'create_date', 'change_date', 'popularity'] def get_author_name(self, obj): # Assuming the author field can be null diff --git a/ubottu/factoids/templates/factoids/list_facts.html b/ubottu/factoids/templates/factoids/list_facts.html index 9201e7f..ff5e871 100644 --- a/ubottu/factoids/templates/factoids/list_facts.html +++ b/ubottu/factoids/templates/factoids/list_facts.html @@ -21,6 +21,7 @@ Name Value Type + Room Author Popularity @@ -31,6 +32,7 @@ {{ fact.name }} {{ fact.value }} {{ fact.get_ftype_display }} + {% if fact.room %}{{ fact.room }}{% else %}all{% endif %} {% if fact.author %}{{ fact.author.username }}{% else %}N/A{% endif %} {{ fact.popularity }}