Merge branch 'master' into recrutement
[auf_rh_dae.git] / project / recrutement / admin.py
index d28f61b..d6de8a5 100644 (file)
@@ -2,6 +2,8 @@
 
 import textwrap
 
+from auf.django.emploi.models import OffreEmploi, Candidat, CandidatPiece
+from auf.django.references.models import Region, Bureau
 from django.conf import settings
 from django.contrib import admin
 from django.core.urlresolvers import reverse
@@ -21,7 +23,6 @@ from auf.django.export.admin import ExportAdmin
 
 from project.groups import get_employe_from_user as get_emp
 from project.rh import models as rh
-
 from project.recrutement.forms import OffreEmploiForm
 from project.recrutement.groups import \
         grp_drh, grp_drh2, \
@@ -33,7 +34,6 @@ from project.recrutement.models import \
         Evaluateur, CandidatEvaluation, \
         ProxyOffreEmploi, ProxyCandidat, MesCandidatEvaluation, \
         CourrielTemplate
-        
 
 ### CONSTANTES
 IMPLANTATIONS_CENTRALES = [15, 19]
@@ -62,7 +62,7 @@ class OrderedChangeList(admin.views.main.ChangeList):
         return qs
 
 
-class OffreEmploiAdmin(BaseAdmin, VersionAdmin):
+class OffreEmploiAdminMixin(BaseAdmin):
     date_hierarchy = 'date_creation'
     list_display = (
         'nom', 'date_limite', 'region',  'statut', 'est_affiche',
@@ -93,7 +93,7 @@ class OffreEmploiAdmin(BaseAdmin, VersionAdmin):
 
     ### Actions à afficher
     def get_actions(self, request):
-        actions = super(OffreEmploiAdmin, self).get_actions(request)
+        actions = super(OffreEmploiAdminMixin, self).get_actions(request)
         del actions['delete_selected']
         return actions
 
@@ -118,7 +118,7 @@ class OffreEmploiAdmin(BaseAdmin, VersionAdmin):
 
     ### Formulaire
     def get_form(self, request, obj=None, **kwargs):
-        form = super(OffreEmploiAdmin, self).get_form(request, obj, **kwargs)
+        form = super(OffreEmploiAdminMixin, self).get_form(request, obj, **kwargs)
         employe = get_emp(request.user)
         user_groupes = request.user.groups.all()
 
@@ -235,10 +235,14 @@ class OffreEmploiAdmin(BaseAdmin, VersionAdmin):
             employe = get_emp(request.user)
             kwargs["queryset"] = Implantation.objects.filter(region=employe.implantation.region)
             return db_field.formfield(**kwargs)
-        return super(OffreEmploiAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs)
+        return super(OffreEmploiAdminMixin, self).formfield_for_foreignkey(db_field, request, **kwargs)
+
 
+class OffreEmploiAdmin(VersionAdmin, OffreEmploiAdminMixin):
+    pass
 
-class ProxyOffreEmploiAdmin(OffreEmploiAdmin):
+
+class ProxyOffreEmploiAdmin(OffreEmploiAdminMixin):
     list_display = (
         'nom', 'date_limite', 'region', 'statut', 'est_affiche'
     )
@@ -325,7 +329,8 @@ class CandidatEvaluationInline(admin.TabularInline):
             return self.readonly_fields + ('evaluateur', 'note', 'commentaire')
         return self.readonly_fields
 
-class CandidatAdmin(BaseAdmin, VersionAdmin, ExportAdmin):
+
+class CandidatAdminMixin(BaseAdmin, ExportAdmin):
     change_list_template = 'admin/recrutement/candidat/change_list.html'
     search_fields = ('nom', 'prenom')
     exclude = ('actif', )
@@ -388,7 +393,7 @@ class CandidatAdmin(BaseAdmin, VersionAdmin, ExportAdmin):
 
     ### Actions à afficher
     def get_actions(self, request):
-        actions = super(CandidatAdmin, self).get_actions(request)
+        actions = super(CandidatAdminMixin, self).get_actions(request)
         del actions['delete_selected']
         return actions
 
@@ -523,7 +528,7 @@ class CandidatAdmin(BaseAdmin, VersionAdmin, ExportAdmin):
             employe = get_emp(request.user)
             kwargs["queryset"] = OffreEmploi.objects.filter(region=employe.implantation.region)
             return db_field.formfield(**kwargs)
-        return super(CandidatAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs)
+        return super(CandidatAdminMixin, self).formfield_for_foreignkey(db_field, request, **kwargs)
 
     def get_changelist(self, request, **kwargs):
         return OrderedChangeList
@@ -560,7 +565,11 @@ class CandidatAdmin(BaseAdmin, VersionAdmin, ExportAdmin):
         return qs.none()
 
 
-class ProxyCandidatAdmin(CandidatAdmin):
+class CandidatAdmin(VersionAdmin, CandidatAdminMixin):
+    pass
+
+
+class ProxyCandidatAdmin(CandidatAdminMixin):
     list_editable = ()
     readonly_fields = (
         'statut', 'offre_emploi', 'prenom', 'nom', 'genre', 'nationalite',