1642: Lien pour voir la fiche du candidat en lecture seule
authornilovna.bascunan-vasquez <nilovna.bascunan-vasquez@localhost.localdomain>
Tue, 21 Jun 2011 21:07:59 +0000 (17:07 -0400)
committernilovna.bascunan-vasquez <nilovna.bascunan-vasquez@localhost.localdomain>
Tue, 21 Jun 2011 21:07:59 +0000 (17:07 -0400)
project/recrutement/admin.py
project/recrutement/templates/recrutement/afficher_candidat.html [new file with mode: 0644]
project/recrutement/views.py
project/urls.py

index 976997a..ab6d552 100644 (file)
@@ -20,6 +20,7 @@ class OffreEmploiAdmin(VersionAdmin):
     _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
@@ -52,6 +53,7 @@ class OffreEmploiAdmin(VersionAdmin):
         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)
 
@@ -86,7 +88,8 @@ class EvaluateurInline(admin.TabularInline):
 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", {
@@ -130,6 +133,13 @@ class CandidatAdmin(VersionAdmin):
     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
@@ -183,7 +193,7 @@ class CandidatAdmin(VersionAdmin):
         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:
diff --git a/project/recrutement/templates/recrutement/afficher_candidat.html b/project/recrutement/templates/recrutement/afficher_candidat.html
new file mode 100644 (file)
index 0000000..becbab8
--- /dev/null
@@ -0,0 +1,125 @@
+{% 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 %}
+
index 1a56437..70b8dae 100755 (executable)
@@ -15,6 +15,12 @@ def index(request):
     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'))
 
@@ -22,7 +28,7 @@ def evaluer_candidat(request):
         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":
index b37464a..674c3c8 100644 (file)
@@ -22,6 +22,9 @@ urlpatterns = patterns(
     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'),