1835: Un CandidatEvaluation doit se créer si l'évaluateur a déjà été assigné à une...
[auf_rh_dae.git] / src / auf.django.emploi / auf / django / emploi / models.py
index 36a6e96..6192aa9 100755 (executable)
@@ -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
 
 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 datamaster_modeles.models as ref
 
@@ -75,8 +74,10 @@ class OffreEmploi(Metadata):
                                 default='NOUV')
     nom = models.CharField(max_length=255)
     resume = models.TextField(verbose_name="Résumé")
                                 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')
+    description = models.TextField()
+    #poste_id = models.IntegerField(verbose_name="Nombre de dépendant")
+    #poste_nom = models.CharField(max_length=255, verbose_name="Nom du poste")
+    #poste = models.ForeignKey('rh.Poste', db_column='poste')
     date_limite = models.DateField(verbose_name="Date limite",
                         help_text=HELP_TEXT_FORMAT_DATE,)  
     region = models.ForeignKey(ref.Region, db_column='region', 
     date_limite = models.DateField(verbose_name="Date limite",
                         help_text=HELP_TEXT_FORMAT_DATE,)  
     region = models.ForeignKey(ref.Region, db_column='region', 
@@ -132,33 +133,36 @@ class Candidat(Metadata):
     pays = models.ForeignKey(ref.Pays, db_column='pays',
             related_name='+')
 
     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'
 
     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):
 # 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/%s' % ('emplois', instance.candidat.offre_emploi.id,
+            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)
     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", 
     path = models.FileField(verbose_name="Fichier", 
-            upload_to=candidat_piece_dispatch, 
-            storage=storage_prive, )
+                        upload_to=candidat_piece_dispatch, storage=storage_prive)
 
     class Meta:
 
     class Meta:
-        db_table = 'emploi_evaluateur'
+        db_table = 'emploi_pieces'
         verbose_name = "pièce jointe"
         verbose_name_plural = "pièces jointes"
 
         verbose_name = "pièce jointe"
         verbose_name_plural = "pièces jointes"