861cb2c6b618d70cda797a52d87585721e26850a
1 # -*- encoding: utf-8 -*-
4 from django
import forms
5 from django
.contrib
import admin
6 from django
.forms
.models
import inlineformset_factory
7 from django
.forms
.widgets
import CheckboxSelectMultiple
8 from django
.forms
import ModelForm
10 from captcha
.fields
import CaptchaField
12 from auf
.django
.emploi
import models
as emploi
14 ################################################################################
16 ################################################################################
17 class CandidatPieceForm(inlineformset_factory(emploi
.Candidat
,
18 emploi
.CandidatPiece
)):
19 nom
= forms
.MultipleChoiceField(choices
=emploi
.TYPE_PIECE_CHOICES
,
20 widget
=CheckboxSelectMultiple
)
22 class PostulerOffreEmploiForm(ModelForm
):
23 captcha
= CaptchaField()
25 def __init__(self
, *args
, **kwargs
):
26 self
.offre_emploi
= kwargs
.pop('offre_emploi')
27 super(PostulerOffreEmploiForm
, self
).__init__(*args
, **kwargs
)
29 def save(self
, *args
, **kwargs
):
30 kwargs2
= kwargs
.copy()
31 kwargs2
['commit'] = False
32 postulation
= super(PostulerOffreEmploiForm
, self
).save(*args
, **kwargs2
)
33 if 'commit' not in kwargs
or kwargs
['commit']:
38 model
= emploi
.Candidat
39 exclude
= ('actif', 'offre_emploi',)
40 fields
= ('nom', 'prenom', 'genre', 'nationalite', 'situation_famille',
41 'nombre_dependant', 'niveau_diplome', 'employeur_actuel',
42 'poste_actuel', 'domaine_professionnel', 'telephone',
43 'email', 'adresse', 'ville', 'code_postal', 'etat_province',