affichage des utilisateurs avec fname et lname dans editio heure

This commit is contained in:
2022-03-20 18:39:02 +01:00
parent 3bc3524798
commit 02c8a09541

View File

@@ -1,5 +1,6 @@
from django.contrib import admin
from rangefilter.filters import DateRangeFilter
from django.contrib.auth.models import User
from collabs.models import *
@@ -17,6 +18,8 @@ class Collabs_hour_Form_admin(forms.ModelForm):
class Collabs_hour_Admin(admin.ModelAdmin):
always_show_username = True
class Meta:
verbose_name = 'Heure supplémentaire'
verbose_name_plural = 'Heures supplémentaires'
@@ -38,6 +41,25 @@ class Collabs_hour_Admin(admin.ModelAdmin):
return super().get_form(request, obj, **kwargs)
def formfield_for_foreignkey(self, db_field, request=None, **kwargs):
field = super(Collabs_hour_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(Collabs_hour_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)
def save_model(self, request, obj, form, change):