From ee42ad969b9ee3c0700828e6fdd78c740d1fa4f0 Mon Sep 17 00:00:00 2001 From: "nilovna.bascunan-vasquez" Date: Wed, 22 Jun 2011 15:20:25 -0400 Subject: [PATCH] =?utf8?q?1640:=20Aide=20pour=20le=20nombre=20de=20d=C3=A9pe?= =?utf8?q?ndants=201639:=20Ajouter=20un=20calendrier=20de=20s=C3=A9lection=20?= =?utf8?q?pour=20la=20postulation=20offre=20emploi=20(formulaire)?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- project/recrutement/forms.py | 10 +++++-- project/recrutement/models.py | 14 +++++++-- .../recrutement/postuler_appel_offre.html | 30 ++++++++++++++++++-- 3 files changed, 47 insertions(+), 7 deletions(-) diff --git a/project/recrutement/forms.py b/project/recrutement/forms.py index f3a8b9b..f434ade 100644 --- a/project/recrutement/forms.py +++ b/project/recrutement/forms.py @@ -4,9 +4,13 @@ import os from django import forms from django.contrib import admin from django.forms.models import inlineformset_factory +from datetime import timedelta +from django.forms.widgets import CheckboxSelectMultiple +from django.contrib.admin import widgets as admin_widgets from form_utils.forms import BetterModelForm from django.forms import ModelForm from django.forms.models import BaseInlineFormSet + from tinymce.widgets import TinyMCE from captcha.fields import CaptchaField @@ -46,13 +50,14 @@ class EvaluateurForm(forms.Form): ################################################################################ class CandidatPieceForm(inlineformset_factory(recr.Candidat, recr.CandidatPiece)): - pass + nom = forms.MultipleChoiceField(choices=recr.TYPE_PIECE_CHOICES, + widget=CheckboxSelectMultiple) class PostulerOffreEmploiForm(ModelForm): captcha = CaptchaField() def __init__(self, *args, **kwargs): - self.offre_emploi = kwargs.pop('offre_emploi') + self.offre_emploi = kwargs.pop('offre_emploi') super(PostulerOffreEmploiForm, self).__init__(*args, **kwargs) def save(self, *args, **kwargs): @@ -66,6 +71,7 @@ class PostulerOffreEmploiForm(ModelForm): class Meta: model = recr.Candidat exclude = ('actif', 'offre_emploi',) + widgets = dict(date_naissance=admin_widgets.AdminDateWidget(),) fields = ('nom', 'prenom', 'genre', 'nationalite', 'date_naissance', 'situation_famille', 'nombre_dependant', 'niveau_diplome', 'employeur_actuel', 'poste_actuel', 'domaine_professionnel', diff --git a/project/recrutement/models.py b/project/recrutement/models.py index 223aca5..e53cf3e 100755 --- a/project/recrutement/models.py +++ b/project/recrutement/models.py @@ -17,6 +17,7 @@ NOTE_MIN = 1 NOTE_RANGE = 1 NOTE_MAX = 11 NOTES = [(i, i) for i in range(NOTE_MIN, NOTE_MAX, NOTE_RANGE)] +HELP_TEXT_NB_DEPENDANT = "Le nombre de personnes à charge" # Abstracts class Metadata(models.Model): @@ -99,11 +100,12 @@ class Candidat(Metadata): nationalite = models.ForeignKey(ref.Pays, db_column='nationalite', related_name='+', verbose_name='Nationalité') - date_naissance = models.DateField(verbose_name='Date de naissance') + date_naissance = models.DateField(verbose_name='Date de naissance') situation_famille = models.CharField(max_length=1, choices=SITUATION_CHOICES, verbose_name='Situation familiale') - nombre_dependant = models.IntegerField(verbose_name='Nombre de dépendant') + nombre_dependant = models.IntegerField(verbose_name='Nombre de dépendant', + help_text=HELP_TEXT_NB_DEPENDANT) niveau_diplome = models.CharField(max_length=255, verbose_name='Niveau du diplôme') employeur_actuel = models.CharField(max_length=255) @@ -125,6 +127,12 @@ class Candidat(Metadata): return '%s %s [%s]' % (self.prenom, self.nom, self.id) ### PIECE CANDIDAT + +TYPE_PIECE_CHOICES = ( + ('CV','CV'), + ('LET','Lettre'), + ('AUT','Autre'), +) # Upload de fichiers storage_prive = FileSystemStorage(settings.PRIVE_MEDIA_ROOT, base_url=settings.PRIVE_MEDIA_URL) @@ -138,7 +146,7 @@ def candidat_piece_dispatch(instance, filename): class CandidatPiece(models.Model): candidat = models.ForeignKey(Candidat, db_column='candidat', related_name='candidat_piece') - nom = models.CharField(max_length=255) + nom = models.CharField(max_length=3, choices=TYPE_PIECE_CHOICES) #path = PrivateFileField("file", upload_to=candidat_piece_dispatch) path = models.FileField(verbose_name="Fichier", upload_to=candidat_piece_dispatch, diff --git a/project/recrutement/templates/recrutement/postuler_appel_offre.html b/project/recrutement/templates/recrutement/postuler_appel_offre.html index 97303fb..1f45576 100644 --- a/project/recrutement/templates/recrutement/postuler_appel_offre.html +++ b/project/recrutement/templates/recrutement/postuler_appel_offre.html @@ -1,9 +1,29 @@ {% extends 'base.html' %} +{% load adminmedia %} {% block title %}RH{% endblock %} {% block titre %}Ressources humaines{% endblock %} {% block sous_titre %}Accueil{% endblock %} +{% block extrahead %} + + + {% comment %} style pour le calendier {% endcomment %} + + + + + + + + + + + +{% endblock %} {% block main %}
@@ -46,7 +66,10 @@ {{ form.nombre_dependant.label }} - {{ form.nombre_dependant }} + {{ form.nombre_dependant }}
+ {{ form.nombre_dependant.help_text }} + + @@ -118,7 +141,10 @@

Vérification CATPCHA

Entrez les caractères figurant dans l'image ci-dessous.

- {{ form.captcha }} + + {{ form.captcha }} + {{ form.captcha.errors }} +
-- 1.7.10.4