From 3afdfaee5956d08e04130ec8ed695fe215fa87ac Mon Sep 17 00:00:00 2001 From: Claude Paroz Date: Thu, 21 Feb 2019 09:46:44 +0100 Subject: [PATCH] Show group members in group admin list --- stages/admin.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/stages/admin.py b/stages/admin.py index 90592aa..4b2c0e5 100644 --- a/stages/admin.py +++ b/stages/admin.py @@ -2,10 +2,12 @@ from collections import OrderedDict from django import forms from django.contrib import admin +from django.contrib.auth.admin import GroupAdmin as AuthGroupAdmin +from django.contrib.auth.models import Group from django.db import models from django.http import HttpResponse, HttpResponseRedirect from django.urls import reverse -from django.utils.html import format_html +from django.utils.html import format_html, format_html_join from .models import ( Teacher, Option, Student, StudentFile, Section, Level, Klass, Corporation, @@ -330,6 +332,17 @@ class CourseAdmin(admin.ModelAdmin): search_fields = ('teacher__last_name', 'public', 'subject') + +class GroupAdmin(AuthGroupAdmin): + list_display = ['name', 'membres'] + + def membres(self, grp): + return format_html_join(', ', '{}', [ + (reverse('admin:auth_user_change', args=(user.pk,)), user.username) + for user in grp.user_set.all().order_by('username') + ]) + + admin.site.register(Section) admin.site.register(Level) admin.site.register(Klass, KlassAdmin) @@ -347,3 +360,6 @@ admin.site.register(Training, TrainingAdmin) admin.site.register(LogBookReason) admin.site.register(LogBook) admin.site.register(ExamEDESession) + +admin.site.unregister(Group) +admin.site.register(Group, GroupAdmin)