From: Nilovna Bascunan-Vasquez Date: Tue, 16 Aug 2011 14:22:48 +0000 (-0400) Subject: Ajout bouton impression avec style d'impression pour les fiches des candidats X-Git-Tag: DAE+RH~255^2~13 X-Git-Url: http://git.auf.org/?p=auf_rh_dae.git;a=commitdiff_plain;h=32c22f96dda7504370a5954eaac5fe149727c3ec Ajout bouton impression avec style d'impression pour les fiches des candidats --- diff --git a/project/recrutement/templates/admin/recrutement/candidat/change_form.html b/project/recrutement/templates/admin/recrutement/candidat/change_form.html index 457d40e..af910d2 100644 --- a/project/recrutement/templates/admin/recrutement/candidat/change_form.html +++ b/project/recrutement/templates/admin/recrutement/candidat/change_form.html @@ -7,7 +7,8 @@ {{ media }} {% endblock %} -{% block extrastyle %}{{ block.super }}{% endblock %} +{% block extrastyle %}{{ block.super }} +{% endblock %} {% block coltype %}{% if ordered_objects %}colMS{% else %}colM{% endif %}{% endblock %} @@ -27,6 +28,7 @@ {% if change %}{% if not is_popup %} {% endif %}{% endif %} {% endblock %} @@ -71,5 +73,6 @@ {% prepopulated_fields_js %} + {% endblock %} diff --git a/project/recrutement/templates/admin/recrutement/proxycandidat/change_form.html b/project/recrutement/templates/admin/recrutement/proxycandidat/change_form.html index bdc3016..4f2ec9a 100644 --- a/project/recrutement/templates/admin/recrutement/proxycandidat/change_form.html +++ b/project/recrutement/templates/admin/recrutement/proxycandidat/change_form.html @@ -7,7 +7,8 @@ {{ media }} {% endblock %} -{% block extrastyle %}{{ block.super }}{% endblock %} +{% block extrastyle %}{{ block.super }} +{% endblock %} {% block coltype %}{% if ordered_objects %}colMS{% else %}colM{% endif %}{% endblock %} @@ -27,6 +28,7 @@ {% if change %}{% if not is_popup %} {% endif %}{% endif %} {% endblock %} @@ -52,13 +54,13 @@ {% endfor %}
-

Pièces jointes

+
{% block after_related_objects %}{% endblock %} @@ -73,5 +75,6 @@ {% prepopulated_fields_js %} - + + {% endblock %} diff --git a/project/recrutement/templates/recrutement/candidat_pdf.html b/project/recrutement/templates/recrutement/candidat_pdf.html new file mode 100644 index 0000000..36b5646 --- /dev/null +++ b/project/recrutement/templates/recrutement/candidat_pdf.html @@ -0,0 +1,44 @@ + + + + + + + + +

Candidat: {{ candidat }}

+
+

Offre d'emploi: {{ candidat.offre_emploi }}

+
+

Informations personnelles

+ +
+
+

Coordonnées

+ +
+
+

Informations professionnelles

+ +
+ diff --git a/project/recrutement/urls.py b/project/recrutement/urls.py index b2ae6f6..571e256 100644 --- a/project/recrutement/urls.py +++ b/project/recrutement/urls.py @@ -25,4 +25,6 @@ urlpatterns = patterns('', 'recrutement.views.selectionner_template', name='selectionner_template'), + url(r'candidat_pdf/$', 'recrutement.views.candidat_pdf', + name='candidat_pdf'), ) diff --git a/project/recrutement/views.py b/project/recrutement/views.py index bc52ef8..76a3fd6 100755 --- a/project/recrutement/views.py +++ b/project/recrutement/views.py @@ -106,3 +106,11 @@ def send_templated_email(candidat, template): [candidat.email]) msg.attach_alternative(texte_template.render(texte_html), "text/html") msg.send() + + +def candidat_pdf(request): + candidat_id = request.GET.get('id') + candidat = Candidat.objects.get(id=candidat_id) + + return render_to_response("recrutement/candidat_pdf.html", + Context({'candidat' : candidat}), context_instance = RequestContext(request)) diff --git a/project/settings.py b/project/settings.py index 7805bcd..f31d159 100644 --- a/project/settings.py +++ b/project/settings.py @@ -76,7 +76,6 @@ INSTALLED_APPS = ( 'form_utils', 'tinymce', 'captcha', -# 'private_files', ) TEMPLATE_CONTEXT_PROCESSORS = ( diff --git a/src/auf.django.emploi/auf/django/emploi/api.py b/src/auf.django.emploi/auf/django/emploi/api.py index 9e9d815..1d54999 100644 --- a/src/auf.django.emploi/auf/django/emploi/api.py +++ b/src/auf.django.emploi/auf/django/emploi/api.py @@ -3,18 +3,22 @@ from django.shortcuts import render_to_response, redirect, get_object_or_404 from django.template import Context, RequestContext from django.utils import simplejson -from auf.django.emploi import models as emploi +import datamaster_modeles.models as ref + from restkit import request as req from restkit import Resource from httplib2 import Http -from urllib import urlencode -import datamaster_modeles.models as ref -from poster.encode import MultipartParam -from poster.encode import multipart_encode import urllib2 -import settings +from poster.encode import multipart_encode, MultipartParam +from poster.streaminghttp import StreamingHTTPHandler, StreamingHTTPRedirectHandler, StreamingHTTPSHandler, register_openers +from StringIO import StringIO +import urllib2, poster.streaminghttp + +import settings +from auf.django.emploi import models as emploi + STATUS_OK = '200 OK' class API: @@ -37,6 +41,7 @@ class API: for offre_dict in liste_offres: offre = emploi.OffreEmploi() + offre.id = offre_dict['id'] offre.est_affiche = offre_dict['est_affiche'] offre.statut = offre_dict['statut'] offre.nom = offre_dict['nom'] @@ -49,7 +54,8 @@ class API: offre.duree_affectation = offre_dict['duree_affectation'] offre.renumeration = offre_dict['renumeration'] offre.debut_affectation = offre_dict['debut_affectation'] - offre.lieu_affectation = ref.Implantation.objects.get(id=offre_dict['lieu_affectation']) + offre.lieu_affectation = ref.Implantation.objects.\ + get(id=offre_dict['lieu_affectation']) obj_offres_emploi.append(offre) return obj_offres_emploi @@ -68,6 +74,7 @@ class API: obj_offres_emploi = [] offre = emploi.OffreEmploi() + offre.id = offre_dict['id'] offre.est_affiche = offre_dict['est_affiche'] offre.statut = offre_dict['statut'] offre.nom = offre_dict['nom'] @@ -80,7 +87,8 @@ class API: offre.duree_affectation = offre_dict['duree_affectation'] offre.renumeration = offre_dict['renumeration'] offre.debut_affectation = offre_dict['debut_affectation'] - offre.lieu_affectation = ref.Implantation.objects.get(id=offre_dict['lieu_affectation']) + offre.lieu_affectation = ref.Implantation.objects.\ + get(id=offre_dict['lieu_affectation']) obj_offres_emploi.append(offre) return obj_offres_emploi @@ -89,12 +97,7 @@ class API: url = getattr(settings, "RECRUTEMENT_URL")[env] + "candidat_add/%s" else: raise ImportError, "Could not import settings RECRUTEMENT_PATH" - r = Resource(url % offre_id) - mp = MultipartParam.from_file('cv', self.request.POST.get('candidat_piece-0-nom')) - datagen, headers = multipart_encode([image_param]) - resp = r.post(payload=self.request.FILES, params_dict=self.request.POST) - if resp.status == STATUS_OK: - candidat_id = simplejson.loads(resp.body_string())['candidat_id'] - return candidat_id + + return None diff --git a/src/auf.django.emploi/auf/django/emploi/forms.py b/src/auf.django.emploi/auf/django/emploi/forms.py index 7a4a9e3..02e8b97 100644 --- a/src/auf.django.emploi/auf/django/emploi/forms.py +++ b/src/auf.django.emploi/auf/django/emploi/forms.py @@ -17,11 +17,6 @@ class CandidatPieceForm(inlineformset_factory(Candidat, nom = forms.MultipleChoiceField(choices=TYPE_PIECE_CHOICES, widget=CheckboxSelectMultiple) - def __init__(self, *args, **kwargs): - super(CandidatPieceForm, self).__init__(*args, **kwargs) - - def save(self, *args, **kwargs): - super(CandidatPieceForm, self).save(*args, **kwargs) class PostulerOffreEmploiForm(ModelForm):