From cdbb47774e7d738a74b245e3a0fd8c0c3245dd21 Mon Sep 17 00:00:00 2001 From: Greg Kaleka Date: Tue, 30 Dec 2025 09:53:37 -0500 Subject: [PATCH 1/3] Add PostingDataAdmin --- mailing_list/admin.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/mailing_list/admin.py b/mailing_list/admin.py index 778b9d4af..781ed2857 100644 --- a/mailing_list/admin.py +++ b/mailing_list/admin.py @@ -11,7 +11,7 @@ from django.contrib import admin, messages from django.conf import settings -from mailing_list.models import EmailData, SubscriptionData +from mailing_list.models import EmailData, PostingData, SubscriptionData from mailing_list.tasks import sync_mailinglist_stats logger = logging.getLogger(__name__) @@ -55,6 +55,13 @@ def has_add_permission(self, request): return False +@admin.register(PostingData) +class PostingDataAdmin(admin.ModelAdmin): + list_display = ["name", "post_time"] + search_fields = ["name"] + list_filter = ["post_time"] + + class SubscribesCSVForm(forms.Form): csv_file = forms.FileField() From 0d0ce09c31bc907c9fb4a9b5b4eaf1dbaecaefb8 Mon Sep 17 00:00:00 2001 From: Greg Kaleka Date: Mon, 5 Jan 2026 10:12:55 -0500 Subject: [PATCH 2/3] Add verbose name to mailing_list app --- mailing_list/apps.py | 1 + 1 file changed, 1 insertion(+) diff --git a/mailing_list/apps.py b/mailing_list/apps.py index b4550a21f..e11494b03 100644 --- a/mailing_list/apps.py +++ b/mailing_list/apps.py @@ -4,3 +4,4 @@ class MailingListConfig(AppConfig): default_auto_field = "django.db.models.BigAutoField" name = "mailing_list" + verbose_name = "Mailing List" From 571dadabdbee507c698067ba1f26c743a15f821a Mon Sep 17 00:00:00 2001 From: Greg Kaleka Date: Mon, 5 Jan 2026 10:16:15 -0500 Subject: [PATCH 3/3] Add verbose_name_plural to EmailData, PostingData, and SubscriptionData models --- ...ions_alter_postingdata_options_and_more.py | 25 +++++++++++++++++++ mailing_list/models.py | 5 ++++ 2 files changed, 30 insertions(+) create mode 100644 mailing_list/migrations/0006_alter_emaildata_options_alter_postingdata_options_and_more.py diff --git a/mailing_list/migrations/0006_alter_emaildata_options_alter_postingdata_options_and_more.py b/mailing_list/migrations/0006_alter_emaildata_options_alter_postingdata_options_and_more.py new file mode 100644 index 000000000..1fa8df43d --- /dev/null +++ b/mailing_list/migrations/0006_alter_emaildata_options_alter_postingdata_options_and_more.py @@ -0,0 +1,25 @@ +# Generated by Django 5.2.8 on 2026-01-05 15:14 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ("mailing_list", "0005_postingdata_subscriptiondata"), + ] + + operations = [ + migrations.AlterModelOptions( + name="emaildata", + options={"verbose_name_plural": "Email data"}, + ), + migrations.AlterModelOptions( + name="postingdata", + options={"verbose_name_plural": "Posting data"}, + ), + migrations.AlterModelOptions( + name="subscriptiondata", + options={"verbose_name_plural": "Subscription data"}, + ), + ] diff --git a/mailing_list/models.py b/mailing_list/models.py index cd8a1f3a7..7c1872554 100644 --- a/mailing_list/models.py +++ b/mailing_list/models.py @@ -26,6 +26,7 @@ def user(self): objects = EmailDataManager() class Meta: + verbose_name_plural = "Email data" constraints = [ models.UniqueConstraint( fields=["author", "version"], @@ -43,6 +44,9 @@ class PostingData(models.Model): created = models.DateTimeField(auto_now_add=True) + class Meta: + verbose_name_plural = "Posting data" + def __str__(self): return f"{self.name} {self.post_time}" @@ -56,4 +60,5 @@ class SubscriptionData(models.Model): created = models.DateTimeField(auto_now_add=True) class Meta: + verbose_name_plural = "Subscription data" unique_together = ["subscription_dt", "email", "list"]