#1985
authorOlivier Larchevêque <olivier.larcheveque@auf.org>
Thu, 18 Aug 2011 13:11:14 +0000 (09:11 -0400)
committerOlivier Larchevêque <olivier.larcheveque@auf.org>
Thu, 18 Aug 2011 13:11:14 +0000 (09:11 -0400)
project/recrutement/admin.py
project/recrutement/models.py
project/recrutement/templates/admin/recrutement/proxycandidat/change_form.html

index 2f9a7d1..ddff85b 100644 (file)
@@ -500,7 +500,7 @@ class EvaluateurAdmin(VersionAdmin):
 class CandidatEvaluationAdmin(VersionAdmin):
     list_display = ('_candidat', '_offre_emploi', 'evaluateur', '_note', 
                     '_commentaire', )
-    readonly_fields = ('candidat', 'evaluateur')
+    _readonly_fields = ('candidat', 'evaluateur') # voir fonctions de permissions
     fieldsets = (
         ('Évaluation du candidat', {
             'fields': ('candidat', 'evaluateur', 'note', 'commentaire', )        
@@ -526,7 +526,7 @@ class CandidatEvaluationAdmin(VersionAdmin):
                 args=(obj.id,)))
         return "<a href='%s'>%s</a>" % \
             (reverse('admin:recrutement_candidatevaluation_change', 
-            args=(candidat_evaluation.id,)), obj.note)
+            args=(obj.id,)), obj.note)
     _note.allow_tags = True
     _note.short_description = "Note"    
     _note.admin_order_field = 'note'    
@@ -566,7 +566,9 @@ class CandidatEvaluationAdmin(VersionAdmin):
         if grp_drh_recrutement in user_groupes or \
             grp_directeurs_bureau_recrutement in user_groupes or \
             grp_administrateurs_recrutement in user_groupes:
+            self.readonly_fields = ()
             return True
+        self.readonly_fields = self._readonly_fields
         return False   
 
     def has_change_permission(self, request, obj=None):
@@ -575,6 +577,7 @@ class CandidatEvaluationAdmin(VersionAdmin):
         mais interdire l'accès à modifier l'objet si l'évaluateur n'est pas
         le request.user
         """
+        self.readonly_fields = self._readonly_fields
         return obj is None or request.user == obj.evaluateur.user
 
     ### Queryset
index 57ed8cd..ed62659 100755 (executable)
@@ -129,6 +129,9 @@ class CandidatEvaluation(models.Model):
         verbose_name = 'évaluation du candidat'
         verbose_name_plural = 'évaluations des candidats'
 
+    def __unicode__(self):
+        return u"Évaluation de %s" % self.candidat
+
 #### TEMPLATE COURRIEL
 TEMPLATE_CHOICES = (
     ('SEL', 'Sélectionné'),
index 9e89f77..8bb68e2 100644 (file)
 <fieldset class="module aligned ">
     <h2>Pièces jointes</h2>
     {% for p in original.pieces_jointes %}
+        {% if p.path %}
         <div class="form-row">
             <label>{{ p.get_nom_display }}:</label>
             <p><a href="{{ p.path.url }}">{{ p.path.url }}</a></p>
         </div>
+        {% endif %}
     {% endfor %}
 </fieldset>