From 24d6fc9c7b89aacf1468a2a09162c0c4b1bd4d57 Mon Sep 17 00:00:00 2001 From: Virginia Dooley Date: Tue, 28 Jun 2022 18:42:56 +0100 Subject: [PATCH] WIP; Hide inactive users from the blog post author dropdown --- democracy_club/apps/hermes/models.py | 4 +++- .../apps/hermes/tests/test_post_model.py | 14 ++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/democracy_club/apps/hermes/models.py b/democracy_club/apps/hermes/models.py index 4d06b008b..c9406042e 100644 --- a/democracy_club/apps/hermes/models.py +++ b/democracy_club/apps/hermes/models.py @@ -193,7 +193,9 @@ class Post(TimestampedModel): category = models.ForeignKey(Category, on_delete=models.CASCADE) author = models.ManyToManyField( - django_settings.AUTH_USER_MODEL, verbose_name="Authors" + django_settings.AUTH_USER_MODEL, + verbose_name="Authors", + limit_choices_to={"is_active": True}, ) tags = ArrayField(models.CharField(max_length=30), blank=True, default=list) diff --git a/democracy_club/apps/hermes/tests/test_post_model.py b/democracy_club/apps/hermes/tests/test_post_model.py index 1a0c3b2ce..c104b3da0 100644 --- a/democracy_club/apps/hermes/tests/test_post_model.py +++ b/democracy_club/apps/hermes/tests/test_post_model.py @@ -1,6 +1,7 @@ from . import HermesTestCase from .. import settings from hermes import models +from django.contrib.auth.models import User class PostTestCase(HermesTestCase): @@ -232,3 +233,16 @@ def test_published(self): self.post1, ] self.assertEqual(expected, list(models.Post.objects.published())) + + def test_active_users_only(self): + """The UserQuerySet should only return active users""" + author_6 = User.objects.create( + username="eleven", + email="jane@mac.com", + first_name="Jane", + last_name="Hopper", + is_staff=False, + is_active=False, + ) + expected = [author_6] + self.assertNotEqual(expected, list(User.objects.filter(is_active=True)))