diff --git a/collabs/admin.py b/collabs/admin.py index fea45f2..b2a07bb 100644 --- a/collabs/admin.py +++ b/collabs/admin.py @@ -35,12 +35,12 @@ class Collabs_hour_Admin(admin.ModelAdmin): verbose_name = 'Heure supplémentaire' verbose_name_plural = 'Heures supplémentaires' list_display = ('dtDate', 'nHour', 'nMinutes', 'user', 'sBases', 'type', 'get_total_hour_by_user', 'has_remarques', 'bNoticed') - list_editable = ['bNoticed'] + list_filter = [('dtDate', DateRangeFilter), ('user', admin.RelatedOnlyFieldListFilter),'sBases','type', 'bNoticed'] search_fields = ['userName'] - readonly_fields = ["userName"] + fields = ["sBases", "dtDate",'type', "user","nHour", "nMinutes", "sRemarques"] @@ -85,6 +85,21 @@ class Collabs_hour_Admin(admin.ModelAdmin): default_list_display = ('dtDate', 'nHour', 'nMinutes', 'user', 'sBases', 'type', 'has_remarques') return default_list_display + def get_list_editable(self, request): + """ + get_list_editable method implementation, + django ModelAdmin doesn't provide it. + """ + dynamically_editable_fields = None + if is_member(request.user, "Administration"): + dynamically_editable_fields = ('bNoticed',) + return dynamically_editable_fields + + def get_changelist_instance(self, request): + + self.list_editable = self.get_list_editable(request) + return super(Collabs_hour_Admin, self).get_changelist_instance(request) + def formfield_for_foreignkey(self, db_field, request=None, **kwargs): field = super(Collabs_hour_Admin, self).formfield_for_foreignkey( db_field, request, **kwargs)