_candidatsList.allow_tags = True
_candidatsList.short_description = "Liste des candidats"
+
def get_form(self, request, obj=None, **kwargs):
"""
Affiche la liste des régions, seulement si le user
except UserProfile.DoesNotExist:
return qs.none()
+ import pdb;pdb.set_trace()
region_ids = [g.id for g in user.regions.all()]
return qs.select_related('offre_emploi').filter(region__in=region_ids)
class CandidatAdmin(VersionAdmin):
date_hierarchy = 'date_creation'
list_display = ('nom', 'prenom', 'offre_emploi','statut',
- 'voir_offre_emploi', 'evaluer_candidat', 'calculer_moyenne')
+ 'voir_offre_emploi', 'evaluer_candidat', 'calculer_moyenne',
+ 'afficher_candidat',)
list_filter = ('offre_emploi', )
fieldsets = (
("Offre d'emploi", {
evaluer_candidat.allow_tags = True
evaluer_candidat.short_description = 'Évaluer'
+ # Afficher un candidat
+ def afficher_candidat(self, obj):
+ return "<a href='%s?id=%s'>Voir le candidat \
+ </a>" % (reverse('afficher_candidat'), obj.id)
+ afficher_candidat.allow_tags = True
+ afficher_candidat.short_description = u'Afficher les détails'
+
def get_form(self, request, obj=None, **kwargs):
"""
Affiche la liste des offres d'emploi, seulement si le user
evaluations = CandidatEvaluation.objects.filter(candidat=obj)
notes = [evaluation.note for evaluation in evaluations.all() if evaluation.note is not None]
- #import pdb;pdb.set_trace()
+
if len(notes) > 0:
moyenne_votes = float(sum(notes)) / len(notes)
else:
--- /dev/null
+{% extends 'base.html' %}
+
+{% block title %}RH - Recrutement{% endblock %}
+{% block titre %}Ressources humaines{% endblock %}
+{% block sous_titre %}Afficher un candidat{% endblock %}
+
+{% block main %}
+<div id="content-main">
+ {% block object-tools %}{% endblock %}
+
+
+
+ <div class="module">
+ <h2>{{ candidat }}</h2>
+ <fieldset>
+ <h2>Informations personnelles</h2>
+ <table id="informations_personnelles">
+ <tbody>
+ <tr>
+ <td>Prénom: </td>
+ <td>{{ candidat.prenom }}</td>
+ </tr>
+ <tr>
+ <td>Nom: </td>
+ <td>{{ candidat.nom }}</td>
+ </tr>
+ <tr>
+ <td>Genre: </td>
+ <td>{{ candidat.get_genre_display }}</td>
+ </tr>
+ <tr>
+ <td>Nationalité: </td>
+ <td>{{ candidat.nationalite }}</td>
+ </tr>
+ <tr>
+ <td>Date de naissance: </td>
+ <td>{{ candidat.date_naissance }}</td>
+ </tr>
+ <tr>
+ <td>Situation familiale: </td>
+ <td>{{ candidat.get_situation_famille_display }}</td>
+ </tr>
+ <tr>
+ <td>Nombre de dépendant: </td>
+ <td>{{ candidat.nombre_dependant }}</td>
+ </tr>
+ </tbody>
+ </table>
+ </fieldset>
+ <fieldset>
+ <h2>Coordonnées</h2>
+ <table id="coordonnees">
+ <tbody>
+ <tr>
+ <td>Téléphone: </td>
+ <td>{{ candidat.telephone }}</td>
+ </tr>
+ <tr>
+ <td>Courriel: </td>
+ <td>{{ candidat.courriel }}</td>
+ </tr>
+ <tr>
+ <td>Adresse: </td>
+ <td>{{ candidat.adresse }}</td>
+ </tr>
+ <tr>
+ <td>Ville: </td>
+ <td>{{ candidat.ville }}</td>
+ </tr>
+ <tr>
+ <td>État/Province: </td>
+ <td>{{ candidat.etat_province }}</td>
+ </tr>
+ <tr>
+ <td>Code postal: </td>
+ <td>{{ candidat.code_postal }}</td>
+ </tr>
+ <tr>
+ <td>Pays: </td>
+ <td>{{ candidat.pays }}</td>
+ </tr>
+ </tbody>
+ </table>
+ </fieldset>
+ <fieldset>
+ <h2>Informations professionnelles</h2>
+ <table id="informations_professionnelles">
+ <tbody>
+ <tr>
+ <td>Niveau du diplôme: </td>
+ <td>{{ candidat.niveau_diplome }}</td>
+ </tr>
+ <tr>
+ <td>Employeur actuel: </td>
+ <td>{{ candidat.employeur_actuel }}</td>
+ </tr>
+ <tr>
+ <td>Poste actuel: </td>
+ <td>{{ candidat.poste_actuel }}</td>
+ </tr>
+ <tr>
+ <td>Domaine professionnel: </td>
+ <td>{{ candidat.domaine_professionnel }}</td>
+ </tr>
+ </tbody>
+ </table>
+ </fieldset>
+ <fieldset>
+ <h2>Pièces jointes</h2>
+ <table id="pieces_jointes">
+ <tbody>
+ <tr>
+ <td></td>
+ <td></td>
+ </tr>
+ </tbody>
+ </table>
+ </fieldset>
+ </div>
+
+
+</div>
+
+{% endblock %}
+
return render_to_response('recrutement/index.html', {},
RequestContext(request))
+def afficher_candidat(request):
+ candidat = get_object_or_404(Candidat, id=request.GET.get('id'))
+ var = {'candidat': candidat}
+ return render_to_response("recrutement/afficher_candidat.html", var,
+ RequestContext(request))
+
def evaluer_candidat(request):
candidat = get_object_or_404(Candidat, id=request.GET.get('id'))
evaluateur = UserProfile.objects.get(user=request.user)
except UserProfile.DoesNotExist:
messages.add_message(request, messages.ERROR,
- "Vous ne pouvez pas évaluer un candidat.")
+ "Vous ne pouvez pas évaluer ce candidat.")
return redirect("admin:recrutement_candidat_changelist")
if request.method == "POST":
url(r'^recrutement/affecter_evaluateurs_candidats/$',
'recrutement.views.affecter_evaluateurs_candidats',
name='affecter_evaluateurs_candidats'),
+ url(r'^recrutement/afficher_candidat/$',
+ 'recrutement.views.afficher_candidat',
+ name='afficher_candidat'),
url(r'^recrutement/pieces/$', 'recrutement.views.postuler_appel_offre', name='pieces'),
url(r'^recrutement/evaluer_candidat/$',
'recrutement.views.evaluer_candidat', name='evaluer_candidat'),