date_hierarchy = 'date_creation'
list_display = ('nom', 'resume', 'date_limite', 'region', '_candidatsList')
+ # Afficher la liste des candidats pour l'offre d'emploi
def _candidatsList(self, obj):
return "<a href='%s?offre_emploi__id__exact=%s'>Voir les candidats \
</a>" % (reverse('admin:recrutement_candidat_changelist'), obj.id)
class CandidatAdmin(VersionAdmin):
date_hierarchy = 'date_creation'
list_display = ('nom', 'prenom', 'offre_emploi','statut',
- 'voir_offre_emploi', 'evaluer_candidat', 'calculer_moyenne',
- 'afficher_candidat',)
+ 'voir_offre_emploi', 'evaluer_candidat', #'note_evaluateur',
+ 'calculer_moyenne', 'afficher_candidat',)
list_filter = ('offre_emploi', )
fieldsets = (
("Offre d'emploi", {
afficher_candidat.allow_tags = True
afficher_candidat.short_description = u'Afficher les détails'
+ # Voir l'offre d'emploi
+ def voir_offre_emploi(self, obj):
+ return "<a href='%s?id=%s'>Voir l'offre d'emploi</a> \
+ " % (reverse('admin:recrutement_offreemploi_changelist'),
+ obj.offre_emploi.id)
+ voir_offre_emploi.allow_tags = True
+ voir_offre_emploi.short_description = "Afficher l'offre d'emploi"
+
+ """ # Afficher note poster par l'évaluateur
+ def note_evaluateur(self, obj):
+ import pdb;pdb.set_trace()
+ evaluateur = UserProfile.objects.get(user=obj.user)
+ import pdb;pdb.set_trace()
+ note_eval = CandidatEvaluation.objects.filter(evaluateur=evaluateur,
+ candidat=obj.user)
+ return "blabla"
+ note_evaluateur.allow_tags = True
+ note_evaluateur.short_description = "Votre note"
+ """
+
+ # Calculer la moyenne des notes
+ def calculer_moyenne(self, obj):
+ evaluations = CandidatEvaluation.objects.filter(candidat=obj)
+ offre_emploi = obj.offre_emploi
+
+ notes = [evaluation.note for evaluation in evaluations.all() if evaluation.note is not None]
+
+ if len(notes) > 0 and offre_emploi.date_limite <= datetime.date.today():
+ moyenne_votes = float(sum(notes)) / len(notes)
+ else:
+ moyenne_votes = "Non disponible"
+ return moyenne_votes
+ calculer_moyenne.allow_tags = True
+ calculer_moyenne.short_description = "Moyenne des notes"
+
def get_form(self, request, obj=None, **kwargs):
"""
Affiche la liste des offres d'emploi, seulement si le user
ids = [c.id for c in user.candidats.all()]
return qs.select_related('candidats').filter(id__in=ids)
- # Voir l'offre d'emploi
- def voir_offre_emploi(self, obj):
- return "<a href='%s?id=%s'>Voir l'offre d'emploi</a> \
- " % (reverse('admin:recrutement_offreemploi_changelist'),
- obj.offre_emploi.id)
- voir_offre_emploi.allow_tags = True
- voir_offre_emploi.short_description = "Afficher l'offre d'emploi"
-
- #Calculer la moyenne des notes
- def calculer_moyenne(self, obj):
- evaluations = CandidatEvaluation.objects.filter(candidat=obj)
- offre_emploi = obj.offre_emploi
-
- notes = [evaluation.note for evaluation in evaluations.all() if evaluation.note is not None]
-
- if len(notes) > 0 and offre_emploi.date_limite <= datetime.date.today():
- moyenne_votes = float(sum(notes)) / len(notes)
- else:
- moyenne_votes = "Non disponible"
- return moyenne_votes
- calculer_moyenne.allow_tags = True
- calculer_moyenne.short_description = "Moyenne des notes"
-
class CandidatPieceAdmin(admin.ModelAdmin):
list_display = ('nom', 'candidat', )