Correction des conflits
[auf_rh_dae.git] / project / recrutement / admin.py
index e5c4340..06e2ccf 100644 (file)
@@ -24,12 +24,12 @@ class OffreEmploiAdmin(VersionAdmin):
     def queryset(self, request):
         """ 
         N'affiche la liste de candidats que si le user connecté 
-        possède un UserProfile
+        possède un Evaluateur
         """
         qs = self.model._default_manager.get_query_set()
         try:
-            user = UserProfile.objects.get(user=request.user)
-        except UserProfile.DoesNotExist:
+            user = Evaluateur.objects.get(user=request.user)
+        except Evaluateur.DoesNotExist:
             return qs.none()
         
         region_ids = [g.id for g in user.regions.all()]
@@ -50,7 +50,7 @@ class CandidatPieceInline(admin.TabularInline):
     fields = ('candidat', 'nom', 'path', )
     extra = 1
 
-class ProxyEvaluateur(UserProfile.candidats.through):
+class ProxyEvaluateur(Evaluateur.candidats.through):
     """
     Ce proxy sert uniquement dans l'admin à disposer d'un libellé
     plus ergonomique.
@@ -95,7 +95,7 @@ class CandidatAdmin(VersionAdmin):
         EvaluateurInline,
     ]
 
-    actions = ['affecter_candidats_evaluateur', ] #'envoyer_courriel_candidats']
+    actions = ['affecter_candidats_evaluateur', 'envoyer_courriel_candidats']
     # Affecter un évaluateurs à des candidats
     def affecter_candidats_evaluateur(modeladmin, obj, candidats):   
         selected = obj.POST.getlist(admin.ACTION_CHECKBOX_NAME)
@@ -104,7 +104,7 @@ class CandidatAdmin(VersionAdmin):
                 "?ids=%s" % (",".join(selected)))
     affecter_candidats_evaluateur.short_description = u'Affecter évaluateur'
 
-    # Affecter un évaluateurs à des candidats
+    # Envoyer un courriel à des candidats
     def envoyer_courriel_candidats(modeladmin, obj, candidats):   
         selected = obj.POST.getlist(admin.ACTION_CHECKBOX_NAME)
 
@@ -137,7 +137,7 @@ class CandidatAdmin(VersionAdmin):
     """    # Afficher note poster par l'évaluateur
     def note_evaluateur(self, obj):
         import pdb;pdb.set_trace()
-        evaluateur = UserProfile.objects.get(user=obj.user)
+        evaluateur = Evaluateur.objects.get(user=obj.user)
         import pdb;pdb.set_trace()
         note_eval = CandidatEvaluation.objects.filter(evaluateur=evaluateur, 
                         candidat=obj.user)
@@ -164,7 +164,7 @@ class CandidatAdmin(VersionAdmin):
     def get_form(self, request, obj=None, **kwargs):
         """
         Affiche la liste des offres d'emploi, seulement si le user
-        connecté possède un UserProfile
+        connecté possède un Evaluateur
         """
         form = super(CandidatAdmin, self).get_form(request, obj, **kwargs)
         if form.declared_fields.has_key('offre_emploi'):
@@ -173,8 +173,8 @@ class CandidatAdmin(VersionAdmin):
             region_field = form.base_fields['offre_emploi']
 
         try:
-            user = UserProfile.objects.get(user=request.user)
-        except UserProfile.DoesNotExist:
+            user = Evaluateur.objects.get(user=request.user)
+        except Evaluateur.DoesNotExist:
             region_field.queryset = region_field.queryset.none()
             return form  
 
@@ -194,8 +194,8 @@ class CandidatAdmin(VersionAdmin):
 
         qs = self.model._default_manager.get_query_set()
         try:
-            user = UserProfile.objects.get(user=obj.user)
-        except UserProfile.DoesNotExist:
+            user = Evaluateur.objects.get(user=obj.user)
+        except Evaluateur.DoesNotExist:
             return qs.none()      
     
         ids = [c.id for c in user.candidats.all()]
@@ -212,38 +212,72 @@ class CandidatPieceAdmin(admin.ModelAdmin):
         modèles de Region, il existe plusieurs boucles, ce qui conduit à la 
         génération d'une requête infinie.
         Affiche la liste de candidats que si le user connecté 
-        possède un UserProfile
+        possède un Evaluateur
         """
         qs = self.model._default_manager.get_query_set()
         return qs.select_related('candidat')
 
 class EvaluateurAdmin(VersionAdmin):
     fieldsets = (
-        (None, {'fields': ('user', 'regions')}),
+        (None, {'fields': ('user', )}),#'regions')}),
         (None, {'fields': ('candidats',)}),
     )
 
+    '''def get_form(self, request, obj=None, **kwargs):
+        """
+        Affiche la liste des users, regions et candidats, seulement si le user
+        connecté possède un Evaluateur
+        """
+        form = super(EvaluateurAdmin, self).get_form(request, obj, **kwargs)
+        if form.declared_fields.has_key('user'):
+            permission_field = form.declared_fields['user']
+        else:
+            permission_field = form.base_fields['user']
+
+        #if form.declared_fields.has_key('regions'):
+        #    region_field = form.declared_fields['regions']
+        #else:
+        #    region_field = form.base_fields['regions']
+
+        if form.declared_fields.has_key('candidats'):
+            candidats_field = form.declared_fields['candidats']
+        else:
+            candidats_field = form.base_fields['candidats']
+
+        try:
+            user = Evaluateur.objects.get(user=request.user)
+        except Evaluateur.DoesNotExist:
+            #region_field.queryset = Region.objects.none()
+            permission_field.queryset = Evaluateur.objects.none()
+            candidats_field.queryset = Candidat.objects.none()
+            return form
+
+        return form
+    '''
 
     def queryset(self, request):
         """ 
         Affiche la liste d'évaluateur que si le user connecté 
-        possède un UserProfile
+        possède un Evaluateur
         """
         qs = self.model._default_manager.get_query_set()
         try:
-            user = UserProfile.objects.get(user=request.user)
-        except UserProfile.DoesNotExist:
+            user = Evaluateur.objects.get(user=request.user)
+        except Evaluateur.DoesNotExist:
             return qs.none()
         
         return qs
 
+class AdministrateurRegionalAdmin(VersionAdmin):
+    pass
+
 class CandidatEvaluationAdmin(VersionAdmin):
     list_display = ('candidat', 'evaluateur', 'note', 'commentaire', 'date', )
 
     def get_form(self, request, obj=None, **kwargs):
         """
         Affiche la liste des candidats et évaluateur, seulement si le user
-        connecté possède un UserProfile
+        connecté possède un Evaluateur
         """
         form = super(CandidatEvaluationAdmin, self).get_form(request, obj,
                 **kwargs)
@@ -258,9 +292,9 @@ class CandidatEvaluationAdmin(VersionAdmin):
             candidats_field = form.base_fields['candidat']
 
         try:
-            user = UserProfile.objects.get(user=request.user)
-        except UserProfile.DoesNotExist:
-            evaluateur_field.queryset = UserProfile.objects.none()
+            user = Evaluateur.objects.get(user=request.user)
+        except Evaluateur.DoesNotExist:
+            evaluateur_field.queryset = Evaluateur.objects.none()
             candidats_field.queryset = Candidat.objects.none()
             return form
 
@@ -269,16 +303,21 @@ class CandidatEvaluationAdmin(VersionAdmin):
     def queryset(self, request):
         """ 
         Affiche la liste d'évaluation que si le user connecté 
-        possède un UserProfile
+        possède un Evaluateur
         """
         qs = self.model._default_manager.get_query_set()
         try:
-            user = UserProfile.objects.get(user=request.user)
-        except UserProfile.DoesNotExist:
+            user = Evaluateur.objects.get(user=request.user)
+        except Evaluateur.DoesNotExist:
             return qs.none()
 
         return qs.select_related('candidat')
 
+class CourrielTemplateAdmin(VersionAdmin):
+    pass
+
 admin.site.register(OffreEmploi, OffreEmploiAdmin)
 admin.site.register(Candidat, CandidatAdmin)
-admin.site.register(UserProfile, EvaluateurAdmin)
+admin.site.register(CourrielTemplate, CourrielTemplateAdmin)
+admin.site.register(Evaluateur, EvaluateurAdmin)
+admin.site.register(AdministrateurRegional, AdministrateurRegionalAdmin)