Refactoring des modèles. Suppression d'UserProfile.
authornilovna.bascunan-vasquez <nilovna.bascunan-vasquez@localhost.localdomain>
Thu, 30 Jun 2011 20:03:36 +0000 (16:03 -0400)
committernilovna.bascunan-vasquez <nilovna.bascunan-vasquez@localhost.localdomain>
Thu, 30 Jun 2011 20:03:36 +0000 (16:03 -0400)
Ajout de Evaluateur et AdministrateurRegional.

project/recrutement/admin.py
project/recrutement/forms.py
project/recrutement/models.py
project/recrutement/views.py

index 6e80dcd..e577f21 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.
@@ -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,21 +212,21 @@ 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 UserProfile
+        connecté possède un Evaluateur
         """
         form = super(EvaluateurAdmin, self).get_form(request, obj, **kwargs)
         if form.declared_fields.has_key('user'):
@@ -234,10 +234,10 @@ class EvaluateurAdmin(VersionAdmin):
         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('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']
@@ -245,10 +245,10 @@ class EvaluateurAdmin(VersionAdmin):
             candidats_field = form.base_fields['candidats']
 
         try:
-            user = UserProfile.objects.get(user=request.user)
-        except UserProfile.DoesNotExist:
-            region_field.queryset = Region.objects.none()
-            permission_field.queryset = UserProfile.objects.none()
+            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
 
@@ -257,23 +257,26 @@ class EvaluateurAdmin(VersionAdmin):
     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 AdministrateurRegionauxAdmin(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)
@@ -288,9 +291,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
 
@@ -299,12 +302,12 @@ 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')
@@ -315,4 +318,5 @@ class CourrielTemplateAdmin(VersionAdmin):
 admin.site.register(OffreEmploi, OffreEmploiAdmin)
 admin.site.register(Candidat, CandidatAdmin)
 admin.site.register(CourrielTemplate, CourrielTemplateAdmin)
-admin.site.register(UserProfile, EvaluateurAdmin)
+admin.site.register(Evaluateur, EvaluateurAdmin)
+admin.site.register(AdministrateurRegionaux, AdministrateurRegionauxAdmin)
index abd8c0e..daee6e4 100644 (file)
@@ -35,7 +35,7 @@ class CandidatEvaluationForm(ModelForm):
 
 class EvaluateurForm(forms.Form):
     evaluateurs = forms.ModelMultipleChoiceField(queryset=
-                    recr.UserProfile.objects.all())
+                    recr.Evaluateur.objects.all())
 
     def __init__(self, *args, **kwargs):
         self.candidats = kwargs.pop('candidats')
index 6f6e860..b5763a6 100755 (executable)
@@ -44,7 +44,7 @@ class ProxyPoste(Poste):
         return '%s [%s]' % (self.nom, self.id)
 
 class OffreEmploi(Metadata):
-    objects = OffreEmploiManager()
+    #objects = OffreEmploiManager()
     nom = models.CharField(max_length=255)
     resume = models.TextField(verbose_name="Résumé")
     description = tinymce_models.HTMLField()
@@ -160,7 +160,7 @@ class CandidatPiece(models.Model):
         return '%s' % (self.nom)
 
 class Evaluateur(models.Model):
-    user = models.ForeignKey("User", unique=True,
+    user = models.ForeignKey(User, unique=True,
             verbose_name="permission")
     candidats = models.ManyToManyField(Candidat, verbose_name='candidats', 
                 blank=True, null=True,related_name="evaluateurs")
@@ -172,13 +172,13 @@ class Evaluateur(models.Model):
         return '%s %s' % (self.user.first_name, self.user.last_name)
 
 class AdministrateurRegionaux(models.Model):
-    user = models.ForeignKey("User", unique=True,
+    user = models.ForeignKey(User, unique=True,
             verbose_name="permission")
     regions = models.ManyToManyField(ref.Region, 
                            verbose_name="Régions", )
 
     class Meta:
-        verbose_name = "administrateur régionaux"
+        verbose_name = "administrateur régional"
         verbose_name_plural = "administrateurs régionaux"
 
     def __unicode__(self):
@@ -188,7 +188,7 @@ class AdministrateurRegionaux(models.Model):
 class CandidatEvaluation(models.Model):
     candidat = models.ForeignKey(Candidat, db_column='candidat', 
                 related_name='+',) 
-    evaluateur = models.ForeignKey(UserProfile, db_column='evaluateur', 
+    evaluateur = models.ForeignKey(Evaluateur, db_column='evaluateur', 
                     related_name='+', verbose_name='Évaluateur') 
     note = models.IntegerField(choices=NOTES, blank=True, null=True)
     commentaire = models.TextField(null=True, blank=True)
index 21bda61..542f501 100755 (executable)
@@ -25,8 +25,8 @@ def evaluer_candidat(request):
     candidat = get_object_or_404(Candidat, id=request.GET.get('id'))
 
     try:
-        evaluateur = UserProfile.objects.get(user=request.user)
-    except UserProfile.DoesNotExist:
+        evaluateur = Evaluateur.objects.get(user=request.user)
+    except Evaluateur.DoesNotExist:
         messages.add_message(request, messages.ERROR, 
                         "Vous ne pouvez pas évaluer ce candidat.")
         return redirect("admin:recrutement_candidat_changelist")