[#2658] Ne pas afficher les objets archivés nulle part sauf dans l'admin
[auf_rh_dae.git] / project / rh / admin.py
index 7fc424e..fb74187 100644 (file)
@@ -37,14 +37,14 @@ class BaseAdmin(admin.ModelAdmin):
 
 # Admin pour reversion
 
-class ArchiveMixin(object):
+class ArchivableAdmin(admin.ModelAdmin):
     """
-    Archive Mixin pour gérer le queryset et le display
-    NON COMPRIS : list_filter, et list_display, field à setter dans la classe.
+    Admin pour les modèles archivables
     """
+    list_filter = ('archive', )
 
     def queryset(self, request):
-        return self.model._base_manager
+        return self.model.avec_archives.all()
 
     def _archive(self, obj):
         if obj.archive:
@@ -336,7 +336,7 @@ class ClassementAdmin(reversion.VersionAdmin, DerniereModificationAdmin,
     _classement.short_description = u"Classement"
 
 
-class DeviseAdmin(reversion.VersionAdmin, ArchiveMixin,
+class DeviseAdmin(reversion.VersionAdmin, ArchivableAdmin,
                   DerniereModificationAdmin, BaseAdmin):
     ignore_duplicate_revisions = True
     list_display = (
@@ -1010,7 +1010,7 @@ class ResponsableImplantationAdmin(BaseAdmin):
         return False
 
 
-class ServiceAdminBase(ArchiveMixin, DerniereModificationAdmin, BaseAdmin):
+class ServiceAdminBase(ArchivableAdmin, DerniereModificationAdmin, BaseAdmin):
     list_display = ('nom', '_archive', 'derniere_modification')
     list_filter = ('archive', )
     fieldsets = (
@@ -1098,7 +1098,7 @@ class TypePosteAdmin(reversion.VersionAdmin, DerniereModificationAdmin,
     )
 
 
-class TypeRemunerationAdmin(reversion.VersionAdmin, ArchiveMixin,
+class TypeRemunerationAdmin(reversion.VersionAdmin, ArchivableAdmin,
                             DerniereModificationAdmin, BaseAdmin):
     ignore_duplicate_revisions = True
     list_display = (