Merge remote-tracking branch 'origin/recrutement' into recrutement
authorPA Parent <paparent@paparent.me>
Tue, 5 Jun 2012 20:55:23 +0000 (16:55 -0400)
committerPA Parent <paparent@paparent.me>
Tue, 5 Jun 2012 20:55:23 +0000 (16:55 -0400)
Conflicts:
project/recrutement/admin.py

project/recrutement/admin.py
project/recrutement/templates/recrutement/selectionner_statut.html [new file with mode: 0644]

index 38dd9a3..a775ac3 100644 (file)
@@ -6,6 +6,10 @@ from django.conf import settings
 from django.contrib import admin
 from django.core.urlresolvers import reverse
 from django.db.models import Avg
+from django.shortcuts import render_to_response
+from django.template import RequestContext
+
+from auf.django.emploi.models import STATUT_CHOICES
 from django.forms.models import BaseInlineFormSet
 from django.http import HttpResponseRedirect
 from django.shortcuts import redirect
@@ -338,7 +342,7 @@ class CandidatAdmin(BaseAdmin, VersionAdmin):
         CandidatPieceInline,
         CandidatEvaluationInline,
     ]
-    actions = ['envoyer_courriel_candidats']
+    actions = ['envoyer_courriel_candidats', 'changer_statut']
 
     def _candidat(self, obj):
         txt = u"%s %s (%s)" % (obj.nom.upper(), obj.prenom, obj.genre)
@@ -368,6 +372,23 @@ class CandidatAdmin(BaseAdmin, VersionAdmin):
         )
     envoyer_courriel_candidats.short_description = u'Envoyer courriel'
 
+    ### Changer le statut à des candidats
+    def changer_statut(modeladmin, request, queryset):
+        if request.POST.get('post'):
+            queryset.update(statut=request.POST.get('statut'))
+            return None
+
+        context = {
+            'action_checkbox_name': admin.helpers.ACTION_CHECKBOX_NAME,
+            'queryset': queryset,
+            'status': STATUT_CHOICES,
+        }
+
+        return render_to_response("recrutement/selectionner_statut.html",
+                context, context_instance = RequestContext(request))
+
+    changer_statut.short_description = u'Changer statut'
+
     ### Évaluer un candidat
     def evaluer_candidat(self, obj):
         return "<a href='%s?candidat__id__exact=%s'>" \
diff --git a/project/recrutement/templates/recrutement/selectionner_statut.html b/project/recrutement/templates/recrutement/selectionner_statut.html
new file mode 100644 (file)
index 0000000..b60e3e8
--- /dev/null
@@ -0,0 +1,60 @@
+{% extends 'admin/base_site.html' %}
+{% load i18n adminmedia form_utils_tags %}
+
+{% block title %}RH - Recrutement{% endblock %}
+{% block sous_titre %}Changer statut aux candidats{% endblock %}
+{% block extrahead %}
+{{ form.media }}
+{% endblock %}
+{% block breadcrumbs %}{% if not is_popup %}
+<div class="breadcrumbs">
+     <a href="../../">{% trans "Home" %}</a> &rsaquo;
+     <a href="../">{% trans "Recrutement" %}</a> &rsaquo;
+     {% trans "Changer statut - Sélectionner le statut" %}
+</div>
+{% endif %}{% endblock %}
+
+
+{% block content %}
+<div id="content-main">
+    {% block object-tools %}{% endblock %}
+
+    <div class="module">
+        <h2>Sélectionner le statut</h2>
+
+        <form action="" method="post">{% csrf_token %}
+            <table>
+                <tr>
+                    <td>Changer le statut des candidats suivant:</td>
+                    <td>
+                        <ul>
+                            {{ queryset|unordered_list }}
+                        </ul>
+                    </td>
+                </tr>
+                <tr>
+                    <td>Nouveau statut</td>
+                    <td>
+                        <select name="statut">
+                        {% for statut in status %}
+                        <option value="{{ statut.0 }}">{{ statut.1 }}</option>
+                        {% endfor %}
+                        </select>
+                    </td>
+                </tr>
+            </table>
+            {% for obj in queryset %}
+            <input type="hidden" name="{{ action_checkbox_name }}" value="{{ obj.pk }}" />
+            {% endfor %}
+            <input type="hidden" name="action" value="changer_statut" />
+            <input type="hidden" name="post" value="yes" />
+            <div class="submit-row">
+                <input type="submit" value="Changer">
+            </div>
+        </form>
+    </div>
+
+
+</div>
+
+{% endblock %}