1501: Début modèles (Candidat, OffreEmploi).
authornilovna.bascunan-vasquez <nilovna.bascunan-vasquez@localhost.localdomain>
Wed, 25 May 2011 21:02:25 +0000 (17:02 -0400)
committernilovna.bascunan-vasquez <nilovna.bascunan-vasquez@localhost.localdomain>
Wed, 25 May 2011 21:02:25 +0000 (17:02 -0400)
project/recrutement/admin.py [new file with mode: 0644]
project/recrutement/models.py

diff --git a/project/recrutement/admin.py b/project/recrutement/admin.py
new file mode 100644 (file)
index 0000000..27d80a5
--- /dev/null
@@ -0,0 +1,13 @@
+# -*- encoding: utf-8 -*-
+
+from django.contrib import admin
+from recrutement.models import *
+
+class OffreEmploiAdmin(admin.ModelAdmin):
+    pass
+
+class CandidatAdmin(admin.ModelAdmin):
+    pass
+
+admin.site.register(OffreEmploi, OffreEmploiAdmin)
+admin.site.register(Candidat, CandidatAdmin)
index 71a8362..6340835 100755 (executable)
@@ -1,3 +1,82 @@
+# -=- encoding: utf-8 -=-
+
+import datetime
+
 from django.db import models
 
-# Create your models here.
+import datamaster_modeles.models as ref
+from project.rh import models as rh
+
+
+# Abstracts
+class Metadata(models.Model):
+    """Méta-données AUF.
+    Metadata.actif = flag remplaçant la suppression.
+    actif == False : objet réputé supprimé.
+    """
+    actif = models.BooleanField(default=True)
+    date_creation = models.DateField(auto_now_add=True)
+    
+    class Meta:
+        abstract = True
+
+
+class OffreEmploi(Metadata):
+    nom = models.CharField(max_length=255)
+    resume = models.TextField()
+    description = models.TextField()
+    poste = models.ForeignKey(rh.Poste, db_column='poste')
+    date_limite = models.DateField(verbose_name="Date limite")  
+    region = models.ForeignKey(ref.Region, db_column='region')
+    bureau = models.ForeignKey(ref.Bureau, db_column='bureau')
+### CANDIDAT
+  
+GENRE_CHOICES = (
+    ('M', 'Homme'),
+    ('F', 'Femme'),
+)
+SITUATION_CHOICES = (
+    ('C', 'Célibataire'),
+    ('F', 'Fiancé'),
+    ('M', 'Marié'),
+    ('D', 'Divorcé'),
+)
+STATUT_CHOICES = (
+    ('NOUV', 'Nouveau'),
+    ('REF', 'Refusé'),
+    ('SEL', 'Sélectionné'),
+    ('ACC', 'Accepté'),
+    ('REC', 'Recevable'), # Trouver une lettre plus appropriée?
+)
+
+class Candidat(Metadata):
+    offre_emploi = models.ForeignKey('OffreEmploi', db_column='offre_emploi',
+                    related_name='candidats')
+    prenom = models.CharField(max_length=255)
+    nom = models.CharField(max_length=255)
+    genre = models.CharField(max_length=1, choices=GENRE_CHOICES)
+    nationalite = models.ForeignKey(ref.Pays, 
+                                    db_column='nationalite',
+                                    related_name='candidat_nationalite')
+    date_naissance = models.DateField(verbose_name="Date de naissance")   
+    situation_famille = models.CharField(max_length=1, 
+                                         choices=SITUATION_CHOICES)
+    nombre_dependant = models.IntegerField(verbose_name="Nombre de dépendant")
+    niveau_diplome = models.CharField(max_length=255,
+                                      verbose_name="Niveau du diplôme")
+    employeur_actuel = models.CharField(max_length=255)
+    poste_actuel = models.CharField(max_length=255)
+    domaine_professionnel = models.CharField(max_length=255)
+
+    # Adresse
+    adresse = models.CharField(max_length=255)
+    ville = models.CharField(max_length=255)
+    etat_province = models.CharField(max_length=255, 
+                                     verbose_name="État/Province")
+    pays = models.ForeignKey(ref.Pays, db_column='pays',
+                             related_name='candidat_pays')
+
+    statut = models.CharField(max_length=4, 
+                              choices=STATUT_CHOICES)