1777: Revenir à la liste des candidats ou offre d'emploi, au lieu des liste de visual...
authorNilovna Bascunan-Vasquez <contact@nilovna.com>
Thu, 28 Jul 2011 20:28:50 +0000 (16:28 -0400)
committerNilovna Bascunan-Vasquez <contact@nilovna.com>
Thu, 28 Jul 2011 20:28:50 +0000 (16:28 -0400)
project/recrutement/admin.py
project/recrutement/api.py

index c52324c..9401b85 100644 (file)
@@ -14,6 +14,12 @@ from recrutement.models import *
 from recrutement.workflow import grp_administrateurs_recrutement,\
                             grp_evaluateurs_recrutement, grp_drh_recrutement
 
+"""
+class MetaAdmin(VersionAdmin):
+    def get_actions(self, request):
+    
+Pour refactoring
+"""
 class OffreEmploiAdmin(VersionAdmin):
     date_hierarchy = 'date_creation'
     list_display = ('nom', 'resume', 'date_limite', 'region',  'statut', 
@@ -21,6 +27,10 @@ class OffreEmploiAdmin(VersionAdmin):
     list_filter = ('statut', 'est_affiche', )
     actions = ['affecter_evaluateurs_offre_emploi', ]
 
+    def get_actions(self, request):
+        actions = super(OffreEmploiAdmin, self).get_actions(request)
+        del actions['delete_selected']
+
     # Affecter un évaluateurs à des offres d'emploi
     def affecter_evaluateurs_offre_emploi(modeladmin, obj, candidats):   
         selected = obj.POST.getlist(admin.ACTION_CHECKBOX_NAME)
@@ -103,6 +113,15 @@ class ProxyOffreEmploiAdmin(OffreEmploiAdmin):
                         'renumeration', )
         }),
     )        
+
+    def response_change(self, request, obj):
+        response = super(ProxyOffreEmploiAdmin, self).response_change(request, obj)
+        user_groupes = request.user.groups.all()
+        if grp_drh_recrutement in user_groupes or \
+            request.user.is_superuser:
+            return HttpResponseRedirect(reverse('admin:recrutement_offreemploi_changelist'))
+        return HttpResponseRedirect(reverse('admin:recrutement_proxyoffreemploi_changelist'))
+
     def has_add_permission(self, request):
         return False
 
@@ -195,6 +214,11 @@ class CandidatAdmin(VersionAdmin):
     ]
 
     actions = ['affecter_candidats_evaluateur', 'envoyer_courriel_candidats']
+
+    def get_actions(self, request):
+        actions = super(CandidatAdmin, self).get_actions(request)
+        del actions['delete_selected']
+
     # Affecter un évaluateurs à des candidats
     def affecter_candidats_evaluateur(modeladmin, obj, candidats):   
         selected = obj.POST.getlist(admin.ACTION_CHECKBOX_NAME)
@@ -334,6 +358,14 @@ class ProxyCandidatAdmin(CandidatAdmin):
     )
     inlines = []
 
+    def response_change(self, request, obj):
+        response = super(ProxyCandidatAdmin, self).response_change(request, obj)
+        user_groupes = request.user.groups.all()
+        if grp_drh_recrutement in user_groupes or \
+            request.user.is_superuser:
+            return HttpResponseRedirect(reverse('admin:recrutement_candidat_changelist'))
+        return HttpResponseRedirect(reverse('admin:recrutement_proxycandidat_changelist'))
+
     def has_add_permission(self, request):
         return False
 
@@ -371,6 +403,10 @@ class EvaluateurAdmin(VersionAdmin):
         #(None, {'fields': ('candidats',)}),
     )
 
+    def get_actions(self, request):
+        actions = super(EvaluateurAdmin, self).get_actions(request)
+        del actions['delete_selected']
+
 class AdministrateurRegionalAdmin(VersionAdmin):
     pass
 
@@ -384,6 +420,10 @@ class CandidatEvaluationAdmin(VersionAdmin):
         }),
     )
 
+    def get_actions(self, request):
+        actions = super(CandidatEvaluationAdmin, self).get_actions(request)
+        del actions['delete_selected']
+
     def _note(self, obj):
         """
         Si l'évaluateur n'a pas encore donné de note au candidat, indiquer
@@ -465,7 +505,9 @@ class CandidatEvaluationAdmin(VersionAdmin):
                 filter(id__in=candidats_evaluations_ids)
 
 class CourrielTemplateAdmin(VersionAdmin):
-    pass
+    def get_actions(self, request):
+        actions = super(CourrielTemplateAdmin, self).get_actions(request)
+        del actions['delete_selected']
 
 admin.site.register(OffreEmploi, OffreEmploiAdmin)
 admin.site.register(ProxyOffreEmploi, ProxyOffreEmploiAdmin)
index bf629d4..a74b8a3 100644 (file)
@@ -97,6 +97,7 @@ class API:
                             "nom": "%s" % offre.nom, 
                             "resume": "%s" % offre.resume,
                             "description": "%s" % offre.description,
+                            # "poste": "%s [%s]" % 
                             "region": "%s" % offre.region.id,
                             "bureau": "%s" % offre.bureau.id,
                             "date_limite": "%s" % offre.date_limite,