X-Git-Url: http://git.auf.org/?p=auf_django_emploi.git;a=blobdiff_plain;f=auf%2Fdjango%2Femploi%2Fmodels.py;h=35a0851cdc07d700462331d480ffa3fc285e9341;hp=36a6e96eac82149797b79d34a4b7e78f38aaf0c7;hb=3d78c976a48e04153d2fdf73cf23a3ac98b6015f;hpb=68b6c11833ca91cf5da44fe6cf071824a0501757 diff --git a/auf/django/emploi/models.py b/auf/django/emploi/models.py index 36a6e96..35a0851 100755 --- a/auf/django/emploi/models.py +++ b/auf/django/emploi/models.py @@ -1,11 +1,10 @@ -# -=- 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 @@ -18,11 +17,13 @@ HELP_TEXT_TAGS_ACCEPTES = "Pour le texte, les variables disponibles sont : \ {{ 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é'), @@ -70,15 +71,17 @@ class Metadata(models.Model): 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') - 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,) + nom = models.CharField(max_length=255) + 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', ) @@ -127,38 +130,40 @@ class Candidat(Metadata): 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) 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_%s/%s/%s' % ('emplois', instance.candidat.nom, + instance.candidat.prenom, instance.candidat.id, instance.nom, 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, ) + 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"