-# -=- encoding: utf-8 -=-
+# -*- encoding: utf-8 -*
import datetime
from django.core.files.storage import FileSystemStorage
from tinymce import models as tinymce_models
from django.db import models
-import settings
-#from private_files import PrivateFileField
-
import datamaster_modeles.models as ref
+import settings
### CONSTANTES ###
# HELP_TEXT
HELP_TEXT_NB_DEPENDANT = "Le nombre de personnes à charge"
-HELP_TEXT_FORMAT_DATE = "Le format de la date est AAAA-MM-JJ"
HELP_TEXT_TAGS_ACCEPTES = "Pour le texte, les variables disponibles sont : \
{{ nom_candidat }} {{ prenom_candidat }} \
{{ offre_emploi }}. Ces champs seront \
automatiquement remplacés par les informations de \
chaque candidat."
-
+HELP_TEXT_EN_AFFICHAGE = "En cochant cette case, l'offre d'emploi sera affichée\
+ sur le site institutionnel dès qu'elle aura le statut \
+ 'En diffusion' et ce, jusqu'à la date limite."
STATUT_OFFRE_EMPLOI_CHOICES = (
('NOUV', 'Nouveau'),
- ('AFFI', 'Offre d\'emploi en affichage'),
+ ('AFFI', 'En diffusion'),
('EVAL', 'En évaluation des candidatures'),
('ENTR', 'En entrevue'),
('TERM', 'Terminé'),
('M', 'Homme'),
('F', 'Femme'),
)
+
SITUATION_CHOICES = (
('C', 'Célibataire'),
- ('F', 'Conjoint de fait'),
('M', 'Marié'),
- ('D', 'Divorcé'),
+ ('F', 'Conjoint de fait'),
+ ('P', 'Pacsé'),
)
+
STATUT_CHOICES = (
('NOUV', 'Nouveau'),
('REC', 'Recevable'),
actif == False : objet réputé supprimé.
"""
actif = models.BooleanField(default=True)
- date_creation = models.DateField(auto_now_add=True,
- help_text=HELP_TEXT_FORMAT_DATE, )
+ date_creation = models.DateField(auto_now_add=True, )
class Meta:
abstract = True
class OffreEmploi(Metadata):
est_affiche = models.BooleanField(default=False,
- verbose_name="En affichage sur le site")
+ verbose_name="À afficher sur le site institutionnel",
+ help_text=HELP_TEXT_EN_AFFICHAGE)
statut = models.CharField(max_length=4, choices=STATUT_OFFRE_EMPLOI_CHOICES,
default='NOUV')
+ date_limite = models.DateField(verbose_name="Date limite",)
nom = models.CharField(max_length=255)
- resume = models.TextField(verbose_name="Résumé")
- description = tinymce_models.HTMLField()
- #poste = models.ForeignKey('rh.Poste', db_column='poste')
- date_limite = models.DateField(verbose_name="Date limite",
- help_text=HELP_TEXT_FORMAT_DATE,)
+ resume = models.TextField(verbose_name="Résumé", blank=True)
+ description = models.TextField()
+ poste = models.CharField(max_length=255)
+ poste_nom = models.CharField(max_length=255)
region = models.ForeignKey(ref.Region, db_column='region',
verbose_name="Région")
bureau = models.ForeignKey(ref.Bureau, db_column='bureau', )
verbose_name="Durée de l'affectation")
renumeration = models.CharField(max_length=255,
verbose_name='Rénumération')
- debut_affectation = models.DateField(verbose_name="Début de l'affectation",
- help_text=HELP_TEXT_FORMAT_DATE,)
+ debut_affectation = models.DateField(verbose_name="Début de l'affectation",)
lieu_affectation = models.ForeignKey(ref.Implantation,
db_column='implantation',
verbose_name="Lieu d'affectation")
adresse = models.CharField(max_length=255)
ville = models.CharField(max_length=255)
etat_province = models.CharField(max_length=255,
- verbose_name="État/Province")
+ verbose_name="État/Province", blank=True)
code_postal = models.CharField(max_length=255, blank=True)
pays = models.ForeignKey(ref.Pays, db_column='pays',
related_name='+')
- def __unicode__(self):
- return '%s %s [%s]' % (self.prenom, self.nom, self.id)
-
class Meta:
db_table = 'emploi_candidat'
+ def pieces_jointes(self):
+ return CandidatPiece.objects.filter(candidat=self)
+ pieces_jointes.allow_tags = True
+
+ def __unicode__(self):
+ return '%s %s [%s]' % (self.nom, self.prenom, self.id)
+
+
# Upload de fichiers
-#storage_prive = FileSystemStorage(settings.PRIVE_MEDIA_ROOT,
-# base_url=settings.PRIVE_MEDIA_URL)
+storage_prive = FileSystemStorage(settings.OE_PRIVE_MEDIA_ROOT,
+ base_url=settings.OE_PRIVE_MEDIA_URL)
def candidat_piece_dispatch(instance, filename):
- path = "offre_emploi/%s_%s/%s/%s_%s" % (instance.candidat.nom,
- instance.candidat.prenom, instance.nom, instance.candidat.id,
- filename)
+ path = u'%s/%s/%s' % ('emplois', instance.candidat.id, filename)
return path
class CandidatPiece(models.Model):
candidat = models.ForeignKey(Candidat, db_column='candidat',
related_name='candidat_piece')
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, )
- #storage=storage_prive, )
+ path = models.FileField(verbose_name="Fichier",
+ upload_to=candidat_piece_dispatch, storage=storage_prive)
class Meta:
- db_table = 'emploi_evaluateur'
+ db_table = 'emploi_pieces'
verbose_name = "pièce jointe"
verbose_name_plural = "pièces jointes"