Studenteval: Affichage des nom dans selectbox

This commit is contained in:
Ambulance Clerc
2023-09-12 10:03:03 +02:00
parent 17e2abbb55
commit 8cb1bdfd1a
2 changed files with 22 additions and 1 deletions

View File

@@ -3,6 +3,7 @@ from studenteval.models import cl_Student_eval
from django.urls import reverse
from django.utils.html import format_html
from . import views
from django.contrib.auth.models import User
from rangefilter.filters import *
from django.core.exceptions import PermissionDenied
@@ -11,6 +12,7 @@ def is_member(user, group):
class _cl_Student_eval_admin(admin.ModelAdmin):
request = None
always_show_username = True
list_display = ('ID','action_buttons','sStudent', "get_ref_of_eval", "nEval_Type", "nEval_Mode", "sAuthor", 'get_mirrored')
@@ -77,6 +79,25 @@ class _cl_Student_eval_admin(admin.ModelAdmin):
obj.save()
def formfield_for_foreignkey(self, db_field, request=None, **kwargs):
field = super(_cl_Student_eval_admin, self).formfield_for_foreignkey( db_field, request, **kwargs)
if db_field.remote_field.model == User:
field.label_from_instance = self.get_user_label
return field
def formfield_for_manytomany(self, db_field, request=None, **kwargs):
field = super(_cl_Student_eval_admin, self).formfield_for_manytomany( db_field, request, **kwargs)
if db_field.remote_field.model == User:
field.label_from_instance = self.get_user_label
return field
def get_user_label(self, user):
name = user.get_full_name()
username = user.username
if not self.always_show_username:
return name or username
return (name and name != username and '%s (%s)' % (name, username) or username)