X-Git-Url: http://git.auf.org/?p=auf_rh_dae.git;a=blobdiff_plain;f=project%2Frh%2Fadmin.py;h=79b1c570664dfe78e43a0b40362a85b9701dc92c;hp=b6098716bc0a3c6ea5e1e41e1eaddb6a587a1576;hb=7ba822a6f923a5370eaa481df82d794fedccc8db;hpb=e2827532acec52f436318169ab4850557c3f3e99 diff --git a/project/rh/admin.py b/project/rh/admin.py index b609871..79b1c57 100644 --- a/project/rh/admin.py +++ b/project/rh/admin.py @@ -19,6 +19,23 @@ from decorators import in_drh_or_admin import models as rh import auf.django.references.models as ref +class ArchiveMixin(object): + """ + Archive Mixin pour gérer le queryset et le display + NON COMPRIS : list_filter, et list_display, field à setter dans la classe. + """ + + def queryset(self, request): + return self.model._base_manager + + def _archive(self, obj): + if obj.archive: + return "oui" + else: + return "non" + _archive.short_description = u'Archivé' + _archive.admin_order_field = 'archive' + class RegionProxy(ref.Region): """ Proxy utilisé pour les organigrammes par région """ class Meta: @@ -250,7 +267,7 @@ class CommentaireAdmin(admin.ModelAdmin): pass -class DeviseAdmin(AUFMetadataAdminMixin, admin.ModelAdmin): +class DeviseAdmin(AUFMetadataAdminMixin, admin.ModelAdmin, ArchiveMixin): list_display = ( 'code', 'nom', @@ -265,16 +282,6 @@ class DeviseAdmin(AUFMetadataAdminMixin, admin.ModelAdmin): }), ) - def queryset(self, request): - return self.model._base_manager - - def _archive(self, obj): - if obj.archive: - return "oui" - else: - return "non" - _archive.short_description = u'Archivé' - def _date_modification(self, obj): return date(obj.date_modification) \ if obj.date_modification is not None else "(aucune)" @@ -892,7 +899,7 @@ class ResponsableImplantationAdmin(AUFMetadataAdminMixin, admin.ModelAdmin): ) -class ServiceAdmin(AUFMetadataAdminMixin, admin.ModelAdmin): +class ServiceAdmin(AUFMetadataAdminMixin, admin.ModelAdmin, ArchiveMixin): list_display = ( 'nom', '_archive', @@ -906,13 +913,6 @@ class ServiceAdmin(AUFMetadataAdminMixin, admin.ModelAdmin): }), ) - def _archive(self, obj): - if obj.archive: - return "oui" - else: - return "non" - _archive.short_description = u'Archivé' - def _date_modification(self, obj): return date(obj.date_modification) \ if obj.date_modification is not None else "(aucune)" @@ -1016,15 +1016,18 @@ class TypePosteAdmin(AUFMetadataAdminMixin, admin.ModelAdmin): _date_modification.admin_order_field = 'date_modification' -class TypeRemunerationAdmin(AUFMetadataAdminMixin, admin.ModelAdmin): +class TypeRemunerationAdmin(AUFMetadataAdminMixin, admin.ModelAdmin, ArchiveMixin): list_display = ( 'nom', 'type_paiement', 'nature_remuneration', + '_archive', '_date_modification', 'user_modification',) + list_filter = ('archive', ) fieldsets = AUFMetadataAdminMixin.fieldsets + ( - (None, {'fields': ('nom', 'type_paiement', 'nature_remuneration',)}), + (None, {'fields': ('nom', 'type_paiement', 'nature_remuneration', + 'archive')}), ) def _date_modification(self, obj):