Files
Reskreen/comm_op/admin.py
2023-10-10 18:29:45 +02:00

43 lines
1.7 KiB
Python

from django.contrib import admin
from comm_op.models import comm_opMessage
from django.contrib.auth.models import User
# Register your models here.
@admin.register(comm_opMessage)
class MessageAdmin(admin.ModelAdmin):
always_show_username = True
fieldsets = [
(None, {'fields': ['sKey','sTitle','sDesc']}),
('Date information', {'fields': ['dtStart','dtEnd']}),
('Auteur', {'fields': ['Author']}),
]
list_display = ('sKey', 'sTitle', 'dtStart', 'dtEnd', 'sAuthor', 'bDone')
#list_filter = ['pub_date']
#search_fields = ['question_txt']
def save_model(self, request, obj, form, change):
obj.sAuthor = obj.Author.first_name + " " + obj.Author.last_name
obj.sAuthor = obj.Author.first_name + " " + obj.Author.last_name
obj.save()
def formfield_for_foreignkey(self, db_field, request=None, **kwargs):
field = super(MessageAdmin, 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(MessageAdmin, 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)