Skip to content

Commit 6f0af0b

Browse files
ObadaSObada Haddad
andauthored
Django Admin Interface upgrades (#2090)
* update django admin interface to make it easier to manage spam * add option to export email and username of organizers as a CSV file or JSON * add option to export email and username of queue owners as a CSV file or JSON * use raw_id_fields to make django admin pages load much faster * make file size human readable * re-arranged the fieldsets of some admin pages to be easier to navigate * add small description about size (bytes of GB); limit text length displayed in list displays * add custom text in list filter * make some filter clearer: remove useless repetitions * add export option for users * fix typo --------- Co-authored-by: Obada Haddad <obada.haddad@lisn.fr>
1 parent a30f40c commit 6f0af0b

File tree

14 files changed

+825
-69
lines changed

14 files changed

+825
-69
lines changed

src/apps/announcements/admin.py

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,26 @@
11
from django.contrib import admin
2-
32
from . import models
43

5-
admin.site.register(models.Announcement)
6-
admin.site.register(models.NewsPost)
4+
5+
class NewsPostExpansion(admin.ModelAdmin):
6+
list_display = ["id", "title", "link"]
7+
list_display_links = ["id", "title"]
8+
search_fields = ["id", "title", "link"]
9+
10+
11+
class AnnouncementExpansion(admin.ModelAdmin):
12+
list_display = ["id", "text_limited"]
13+
list_display_links = ["id", "text_limited"]
14+
15+
@admin.display(description="text", ordering="text")
16+
def text_limited(self, obj):
17+
if not obj.text:
18+
return "-"
19+
if len(obj.text) > 500:
20+
return obj.text[:500] + "(...)"
21+
else:
22+
return obj.text[:500]
23+
24+
25+
admin.site.register(models.Announcement, AnnouncementExpansion)
26+
admin.site.register(models.NewsPost, NewsPostExpansion)

0 commit comments

Comments
 (0)