Merge branch 'rh' of ssh://git.auf/auf_rh_dae into rh
authordavin baragiotta <davin.baragiotta@u-db.(none)>
Mon, 16 May 2011 18:28:43 +0000 (14:28 -0400)
committerDavin BARAGIOTTA <davin.baragiotta@auf.org>
Mon, 16 May 2011 18:28:43 +0000 (14:28 -0400)
39 files changed:
buildout.cfg
project/dae/catalogues.py
project/dae/decorators.py [new file with mode: 0644]
project/dae/forms.py
project/dae/managers.py [new file with mode: 0644]
project/dae/migrations/0014_auto__add_postepiece.py [deleted file]
project/dae/migrations/0015_auto__add_dossierpiece.py [deleted file]
project/dae/migrations/0029_auto__del_validationemploye__del_validationposte__del_validation__add_.py [new file with mode: 0644]
project/dae/migrations/0030_auto__add_dossiercomparaison.py [new file with mode: 0644]
project/dae/migrations/0031_auto__add_field_dossiercomparaison_montant_euros.py [new file with mode: 0644]
project/dae/migrations/0032_auto__add_field_dossiercomparaison_implantation.py [new file with mode: 0644]
project/dae/migrations/0033_auto__chg_field_dossiercomparaison_montant__chg_field_dossiercomparais.py [new file with mode: 0644]
project/dae/migrations/0034_auto__chg_field_dossiercomparaison_devise.py [new file with mode: 0644]
project/dae/models.py
project/dae/templates/dae/embauche-dossier-consulter.html [new file with mode: 0644]
project/dae/templates/dae/embauche-dossier.html
project/dae/templates/dae/embauche-remun-consulter.html [new file with mode: 0644]
project/dae/templates/dae/embauche-remun.html
project/dae/templates/dae/embauche.html
project/dae/templates/dae/embauche_consulter.html [new file with mode: 0644]
project/dae/templates/dae/embauches_liste.html
project/dae/templates/dae/poste.html
project/dae/templates/dae/poste_consulter.html [new file with mode: 0644]
project/dae/templates/dae/poste_resume.html
project/dae/templates/dae/postes_liste.html
project/dae/urls.py
project/dae/utils.py [new file with mode: 0644]
project/dae/views.py
project/dae/workflow.py
project/decorators.py
project/media/css/dae.css
project/media/js/dae-embauche.js
project/media/js/dae-poste.js
project/media/js/dae.js
project/rh/admin.py [new file with mode: 0644]
project/rh/models.py
project/rh_v1/models.py
project/settings.py
project/views.py

index fbe9288..cb00740 100644 (file)
@@ -8,6 +8,7 @@ find-links = http://pypi.auf.org/simple/auf.recipe.django/
     http://pypi.auf.org/datamaster_modeles/
     http://pypi.auf.org/simple/auf.django.auth/
     http://pypi.auf.org/simple/auf.django.workflow/
+    http://pypi.auf.org/simple/auf.django.admingroup/
 
 eggs =
     django
@@ -15,6 +16,7 @@ eggs =
     django-admin-tools
     auf.django.skin
     auf.django.workflow
+    auf.django.admingroup
     datamaster_modeles
     auf.django.auth
     django-reversion
@@ -28,7 +30,7 @@ south = 0.7
 auf.django.skin = 0.15dev
 auf.django.auth = 0.5.2dev
 django-reversion = 1.3.3
-auf.django.workflow = 0.8dev
+auf.django.workflow = 0.9dev
 django-ajax-selects = 1.1.4
 
 [django] 
index 13c8495..3ba170e 100644 (file)
@@ -1,12 +1,12 @@
 # -*- encoding: utf-8 -*-
 
-from rh_v1.models import Poste, Dossier
+from rh_v1 import models as rh
 from django.db.models import Q
 
 class Responsable(object):
 
     def get_query(self,q,request):
-        return Poste.objects.filter(
+        return rh.Poste.objects.filter(
             Q(poste1__complement1__icontains=q) |
             Q(type_poste__nom__icontains=q) |
             Q(poste1__employe__nom__icontains=q) |
@@ -30,4 +30,28 @@ class Responsable(object):
         """ given a list of ids, return the objects ordered as you would like them on the admin page.
             this is for displaying the currently selected items (in the case of a ManyToMany field)
         """
-        return Poste.objects.filter(pk__in=ids)
+        return rh.Poste.objects.filter(pk__in=ids)
+
+class Dossier(object):
+
+    def get_query(self,q,request):
+        return rh.Dossier.objects.filter(
+            Q(complement1__icontains=q) |
+            Q(poste1__type_poste__nom__icontains=q) |
+            Q(poste2__type_poste__nom__icontains=q) |
+            Q(employe__nom__icontains=q) |
+            Q(employe__prenom__icontains=q)
+            ).distinct()
+
+    def format_result(self, dossier):
+        return dossier.__unicode__()
+
+    def format_item(self, dossier):
+        """ the display of a currently selected object in the area below the search box. html is OK """
+        return self.format_result(dossier)
+
+    def get_objects(self, ids):
+        """ given a list of ids, return the objects ordered as you would like them on the admin page.
+            this is for displaying the currently selected items (in the case of a ManyToMany field)
+        """
+        return rh.Dossier.objects.filter(pk__in=ids)
diff --git a/project/dae/decorators.py b/project/dae/decorators.py
new file mode 100644 (file)
index 0000000..665902e
--- /dev/null
@@ -0,0 +1,107 @@
+# -*- encoding: utf-8 -*-
+
+from django.contrib import messages
+from django.contrib.auth.decorators import user_passes_test
+from django.core.urlresolvers import reverse
+from django.http import HttpResponseRedirect
+from workflow import dae_groupes
+from project.dae import models as dae
+from project.rh_v1 import models as rh
+
+def user_in_dae_groupes(user):
+    """
+    Teste si un user Django fait parti des groupes prédéfinis de DAE.
+    """
+    for g in user.groups.all():
+        if g in dae_groupes:
+            return True
+    return False
+
+def redirect_interdiction(request, msg=u"Vous n'avez pas accès à cette page"):
+  """
+  Redirection du la page de login avec un message d'erreur.
+  """
+  from django.conf import settings
+  from django.contrib.auth import REDIRECT_FIELD_NAME
+  from django.utils.http import urlquote
+  login_url = settings.LOGIN_URL
+  path = urlquote(request.get_full_path())
+  tup = login_url, REDIRECT_FIELD_NAME, path
+  messages.add_message(request, messages.ERROR, "Votre compte ne permet pas d'accéder à cette partie de l'application.")
+  return HttpResponseRedirect('%s?%s=%s' % tup)
+
+
+def dae_groupe_requis(fn):
+    """
+    L'accès à la plateforme nécessite d'appartenir au moins à un groupe,
+    ou d'être superuser. De cette manière l'autentification AUF fonctionnera
+    toujours, il suffit de mettre le nouvel employé dans le groupe qui le concerne.
+    """
+    def inner(request, *args, **kwargs):
+        user = request.user
+
+        if user.is_superuser or user_in_dae_groupes(user):
+            return fn(request, *args, **kwargs)
+        else :
+            msg = u"Votre compte ne permet pas d'accéder à cette partie de l'application."
+            return redirect_interdiction(request, msg)
+    return inner
+
+
+def poste_dans_ma_region_ou_service(fn):
+    """
+    Test si le user connecté appartient bien à la même région ou service que le poste.
+    """
+    def inner(request, *args, **kwargs):
+        user = request.user
+        key = kwargs.get('key', None)
+
+        # Autoriser la création d'une nouvelle demande
+        if key is None:
+            return fn(request, *args, **kwargs)
+
+        # Rechercher dans la demande, la région ou le service associé
+        try:
+            source, id = key.split('-')
+            if source == 'dae':
+                Poste = dae.Poste
+            if source == 'rh':
+                Poste = rh.Poste
+        except:
+            id = key
+            Poste = dae.Poste
+
+        postes = Poste.objects.ma_region_ou_service(user).filter(id=id)
+        if len(postes) > 0:
+            return fn(request, *args, **kwargs)
+        else :
+            msg = u"Vous n'avez pas le droit de consulter ce poste."
+            return redirect_interdiction(request, msg)
+    return inner
+
+
+def dossier_dans_ma_region_ou_service(fn):
+    """
+    Test si le user connecté appartient bien à la même région ou service que le poste.
+    """
+    def inner(request, *args, **kwargs):
+        user = request.user
+        poste_key = kwargs.get('key', None)
+        dossier_id = kwargs.get('dossier_id', None)
+
+        # Si on s'intéresse à un dossier, on teste la validation avec le poste associé
+        if dossier_id is not None:
+            dossiers = dae.Dossier.objects.ma_region_ou_service(user).filter(id=dossier_id)
+            if len(dossiers) > 0:
+                return fn(request, *args, **kwargs)
+            else :
+                msg = u"Vous n'avez pas le droit de consulter ce dossier d'embauche."
+                return redirect_interdiction(request, msg)
+
+        # Autoriser la création d'une nouvelle demande
+        if poste_key is None:
+            return fn(request, *args, **kwargs)
+        # On est en train de répondre à un poste
+        else:
+            return poste_dans_ma_region_ou_service(fn)(request, *args, **kwargs)
+    return inner
index 1ddd859..8caf6de 100644 (file)
@@ -1,13 +1,64 @@
 # -*- encoding: utf-8 -*-
 
+from django.db.models import Q
 from django import forms
 from django.forms.models import inlineformset_factory
 from django.contrib.admin import widgets as admin_widgets 
+from ajax_select.fields import AutoCompleteSelectField
 from auf.django.workflow.forms import WorkflowFormMixin
 from datamaster_modeles import models as ref
-
 from dae import models as dae
+from utils import get_employe_from_user, is_user_dans_service
 from rh_v1 import models as rh
+from workflow import grp_drh
+
+def _implantation_choices(obj, request):
+    # TRAITEMENT NORMAL
+    employe = get_employe_from_user(request.user)
+    # SERVICE
+    if is_user_dans_service(request.user):
+        q = Q(**{ 'id' : employe.implantation_id })
+    # REGION
+    else:
+        q = Q(**{ 'region' : employe.implantation.region })
+
+    # TRAITEMENT DRH
+    if grp_drh in request.user.groups.all():
+        q = Q()
+    return [('', '----------')] + [(i.id, unicode(i), )for i in ref.Implantation.objects.filter(q)]
+
+def _employe_choices(obj, request):
+    q = Q(id_rh__isnull=True) & Q(id_rh__isnull=True)
+
+    # TRAITEMENT NORMAL
+    employe = get_employe_from_user(request.user)
+    # SERVICE
+    if is_user_dans_service(request.user):
+        q_region_service = Q(implantation1=employe.implantation) | Q(implantation2=employe.implantation)
+    # REGION
+    else:
+        q_region_service = Q(implantation1__region=employe.implantation.region) | Q(implantation2__region=employe.implantation.region) 
+    # TRAITEMENT DRH
+    if grp_drh in request.user.groups.all():
+        q_region_service = Q()
+
+    # Construction de la liste des employés en puisant dans DAE (pas d'info) et dans rh_v1
+    # Pour le filtrage par région/service, on est obligé d'aller regarder le dossier rh_v1
+    # car l'information dans le modèle rh_v1.Employe n'existe pas.
+    dae_ = dae.Employe.objects.filter(id_rh__isnull=True)
+    copies = dae.Employe.objects.filter(Q(id_rh__isnull=False))
+    id_copies = [p.id_rh_id for p in copies.all()]
+    employes_ids = list(set([d.employe_id for d in rh.Dossier.objects.filter(q_region_service)]))
+    rhv1 = rh.Employe.objects.filter(id__in=employes_ids).exclude(id__in=id_copies)
+
+    def option_label(employe):
+        return "%s %s" % (employe.nom.upper(), employe.prenom.title())
+
+    return [('', 'Nouvel employé')] + \
+           sorted([('dae-%s' % p.id, option_label(p)) for p in dae_ | copies] +
+                  [('rh-%s' % p.id, option_label(p)) for p in rhv1],
+                  key=lambda t: t[1])
+
 
 def label_poste_display(poste):
     """Formate un visuel pour un poste dans une liste déroulante"""
@@ -23,6 +74,19 @@ class DossierPieceForm(inlineformset_factory(dae.Dossier, dae.DossierPiece)):
 class FinancementForm(inlineformset_factory(dae.Poste, dae.PosteFinancement, extra=1)):
     pass
 
+
+class DossierComparaisonForm(forms.ModelForm):
+    
+    recherche = AutoCompleteSelectField('dossiers', required=False)
+    poste = forms.CharField(max_length=255, widget=forms.TextInput(attrs={'size':'60'}))
+
+    class Model:
+        model = dae.DossierComparaison
+
+
+class DossierComparaisonForm(inlineformset_factory(dae.Dossier, dae.DossierComparaison, extra=3, max_num=3, form=DossierComparaisonForm)):
+    pass
+
 class JustificationNouvelEmployeForm(inlineformset_factory(dae.Dossier,
                                                            dae.JustificationNouvelEmploye,
                                                            extra=0,
@@ -67,19 +131,7 @@ class JustificationAutreEmployeForm(inlineformset_factory(dae.Dossier,
                 j.save()
         super(self.__class__, self).__init__(*args, **kwargs)
 
-class PosteValidationForm(forms.ModelForm):
-    """ Validation d'un poste"""
-    class Meta:
-        model = dae.Poste
-        fields = (
-            'validation_bureau_regional',
-            'validation_drh',
-            'validation_secretaire_general',
-            'validation_recteur',
-            )    
-
-from ajax_select.fields import AutoCompleteSelectField
-class PosteForm(WorkflowFormMixin):
+class PosteForm(forms.ModelForm):
     """ Formulaire des postes. """
     
     
@@ -101,7 +153,6 @@ class PosteForm(WorkflowFormMixin):
                   'comp_ong_min', 'comp_ong_max',
                   'comp_autre_min', 'comp_autre_max',
                   'justification',
-                  'etat',
                   )
         widgets = dict(appel=forms.RadioSelect(),
                        nom=forms.TextInput(attrs={'size': 60},),
@@ -135,8 +186,10 @@ class PosteForm(WorkflowFormMixin):
         car le "id" de chaque choix est spécial (voir _poste_choices).
 
         """
+        request = kwargs.pop('request')
         super(PosteForm, self).__init__(*args, **kwargs)
-        self.fields['poste'].choices = self._poste_choices()
+        self.fields['poste'].choices = self._poste_choices(request)
+        self.fields['implantation'].choices = _implantation_choices(self, request)
 
         # Quand le dae.Poste n'existe pas, on recherche dans les dossiers rhv1
         if self.instance and self.instance.id is None:
@@ -146,17 +199,17 @@ class PosteForm(WorkflowFormMixin):
                 self.initial['nom'] = "%s %s" % (self.initial['nom'], self.instance.get_complement_nom())
 
 
-    def _poste_choices(self):
+    def _poste_choices(self, request):
         """ Menu déroulant pour les postes.
 
         Constitué des postes de dae et des postes de rh_v1 qui n'ont pas
         d'équivalent dans dae.
 
         """
-        dae_ = dae.Poste.objects.filter(actif=True, id_rh__isnull=True)
-        copies = dae.Poste.objects.exclude(id_rh__isnull=True)
+        dae_ = dae.Poste.objects.ma_region_ou_service(request.user).filter(actif=True, id_rh__isnull=True)
+        copies = dae.Poste.objects.ma_region_ou_service(request.user).exclude(id_rh__isnull=True)
         id_copies = [p.id_rh_id for p in copies.all()]
-        rhv1 = rh.Poste.objects.filter(actif=True).exclude(id__in=id_copies)
+        rhv1 = rh.Poste.objects.ma_region_ou_service(request.user).filter(actif=True).exclude(id__in=id_copies)
         # Optimisation de la requête
         rhv1 = rhv1.select_related(depth=1)
 
@@ -203,14 +256,14 @@ class ChoosePosteForm(forms.ModelForm):
     # La liste des choix est laissée vide. Voir PosteForm.__init__.
     poste = forms.ChoiceField(choices=(), required=False)
 
-    def __init__(self, *args, **kwargs):
+    def __init__(self, request=None, *args, **kwargs):
         super(ChoosePosteForm, self).__init__(*args, **kwargs)
-        self.fields['poste'].choices = self._poste_choices()
+        self.fields['poste'].choices = self._poste_choices(request)
 
-    def _poste_choices(self):
+    def _poste_choices(self, request):
         """ Menu déroulant pour les postes. """
-        dae_ = dae.Poste.objects.filter(id_rh__isnull=True)
-        copies = dae.Poste.objects.exclude(id_rh__isnull=True)
+        dae_ = dae.Poste.objects.ma_region_ou_service(request.user).filter(id_rh__isnull=True)
+        copies = dae.Poste.objects.ma_region_ou_service(request.user).exclude(id_rh__isnull=True)
         id_copies = [p.id_rh_id for p in copies.all()]
 
         return [('', '----------')] + \
@@ -229,30 +282,30 @@ class EmployeForm(forms.ModelForm):
 
     def __init__(self, *args, **kwargs):
         """ Mise à jour dynamique du contenu du menu des employés. """
+        request = kwargs.pop('request', None)
         super(EmployeForm, self).__init__(*args, **kwargs)
-        self.fields['employe'].choices = self._employe_choices()
-
-    def _employe_choices(self):
-        """ Menu déroulant pour les employés. """
-        dae_ = dae.Employe.objects.filter(id_rh__isnull=True)
-        copies = dae.Employe.objects.exclude(id_rh__isnull=True)
-        id_copies = [p.id_rh_id for p in copies.all()]
-        rhv1 = rh.Employe.objects.exclude(id__in=id_copies)
+        self.fields['employe'].choices = _employe_choices(self, request)
 
-        def option_label(employe):
-            return "%s %s" % (employe.nom.upper(), employe.prenom.title())
-
-        return [('', 'Nouvel employé')] + \
-               sorted([('dae-%s' % p.id, option_label(p)) for p in dae_ | copies] +
-                      [('rh-%s' % p.id, option_label(p)) for p in rhv1],
-                      key=lambda t: t[1])
 
 
 class DossierForm(forms.ModelForm):
     """ Formulaire des dossiers. """
     class Meta:
+        exclude= ('etat', )
         model = dae.Dossier
         widgets = dict(statut_residence=forms.RadioSelect(),
                        contrat_date_debut=admin_widgets.AdminDateWidget(),
                        contrat_date_fin=admin_widgets.AdminDateWidget(),
                     )
+
+class PosteWorkflowForm(WorkflowFormMixin):
+    
+    class Meta:
+        fields = ('etat', )
+        model = dae.Poste
+
+class DossierWorkflowForm(WorkflowFormMixin):
+    
+    class Meta:
+        fields = ('etat', )
+        model = dae.Dossier
diff --git a/project/dae/managers.py b/project/dae/managers.py
new file mode 100644 (file)
index 0000000..36dc9a9
--- /dev/null
@@ -0,0 +1,96 @@
+# -*- encoding: utf-8 -*-
+
+from django.db import models
+from django.db.models import Q
+from utils import is_user_dans_service, get_employe_from_user
+from workflow import POSTE_ETAT_HAUTE_DIRECTION, POSTE_ETAT_POLE_FINANCIER
+from workflow import dae_groupes, \
+                     grp_administrateurs, \
+                     grp_gestionnaires, \
+                     grp_directeurs_bureau, \
+                     grp_drh, \
+                     grp_pole_financier, \
+                     grp_haute_direction, \
+                     grp_service_utilisateurs, \
+                     grp_directeurs_service, \
+                     grp_correspondants_rh
+
+class SecurityManager(models.Manager):
+
+    prefixe_implantation = None
+
+    def ma_region_ou_service(self, user):
+        """
+        Filtrage des postes en fonction du user connecté (region / service)
+        On s'intéresse aussi au groupe auquel appartient le user car certains groupes
+        peuvent tout voir.
+        """
+
+        # On s'assure que le manager travaille sur un modèle avec WF, autrement
+        # on ne teste pas sur l'état
+        try:
+            self.model._meta.get_field_by_name('etat')
+            workflowed_model = True
+        except:
+            workflowed_model = False
+
+        employe = get_employe_from_user(user)
+
+        ############################################
+        # TRAITEMENT NORMAL
+        ############################################        
+
+        # SERVICE
+        if is_user_dans_service(user):
+            q = Q(**{ '%s' % self.prefixe_implantation : employe.implantation })
+        # REGION
+        else:
+            q = Q(**{ '%s__region' % self.prefixe_implantation : employe.implantation.region })
+        liste = self.get_query_set().filter(q)
+
+        ############################################
+        # TRAITEMENT POLE FINANCIER
+        ############################################        
+        if workflowed_model and grp_pole_financier in user.groups.all():
+            liste = self.get_query_set().filter(etat=POSTE_ETAT_FINANCE)
+
+        ############################################
+        # TRAITEMENT HAUTE DIRECTION
+        ############################################        
+        if workflowed_model and grp_haute_direction in user.groups.all():
+            liste = self.get_query_set().filter(etat=POSTE_ETAT_HAUTE_DIRECTION)
+
+        ############################################
+        # TRAITEMENT DRH
+        ############################################        
+        if grp_drh in user.groups.all():
+            liste = self.get_query_set()
+        
+        return liste
+
+
+class PosteManager(SecurityManager):
+    """
+    Chargement de tous les objets FK existants sur chaque QuerySet.
+    """
+    prefixe_implantation = "implantation"
+
+    def get_query_set(self):
+        fkeys = (
+            'id_rh',
+            'responsable',
+            'implantation',
+            'type_poste',
+            'service',
+            'classement_min',
+            'classement_max',
+            'valeur_point_min',
+            'valeur_point_max',
+        )
+        return super(PosteManager, self).get_query_set() \
+                                        .select_related(*fkeys).all()
+
+
+class DossierManager(SecurityManager):
+    prefixe_implantation = "poste__implantation"
+
diff --git a/project/dae/migrations/0014_auto__add_postepiece.py b/project/dae/migrations/0014_auto__add_postepiece.py
deleted file mode 100644 (file)
index 589e1af..0000000
+++ /dev/null
@@ -1,374 +0,0 @@
-# encoding: utf-8
-import datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-class Migration(SchemaMigration):
-    
-    def forwards(self, orm):
-        
-        # Adding model 'PostePiece'
-        db.create_table('dae_postepiece', (
-            ('nom', self.gf('django.db.models.fields.CharField')(max_length=255)),
-            ('poste', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['dae.Poste'])),
-            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('fichier', self.gf('django.db.models.fields.files.FileField')(max_length=100)),
-        ))
-        db.send_create_signal('dae', ['PostePiece'])
-    
-    
-    def backwards(self, orm):
-        
-        # Deleting model 'PostePiece'
-        db.delete_table('dae_postepiece')
-    
-    
-    models = {
-        'dae.documentemploye': {
-            'Meta': {'object_name': 'DocumentEmploye'},
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
-        },
-        'dae.documentposte': {
-            'Meta': {'object_name': 'DocumentPoste'},
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
-        },
-        'dae.dossier': {
-            'Meta': {'object_name': 'Dossier'},
-            'classement': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Classement']"}),
-            'classement_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.Classement']"}),
-            'classement_titulaire_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.Classement']"}),
-            'compte_compta': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
-            'compte_courriel': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
-            'contrat_date_debut': ('django.db.models.fields.DateField', [], {}),
-            'contrat_date_fin': ('django.db.models.fields.DateField', [], {}),
-            'devise': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
-            'employe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['dae.Employe']"}),
-            'employe_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.Employe']"}),
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'organisme_bstg': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.OrganismeBstg']"}),
-            'poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['dae.Poste']"}),
-            'regime_travail': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
-            'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
-            'remplacement': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
-            'salaire': ('django.db.models.fields.DecimalField', [], {'default': 'None', 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
-            'salaire_anterieur': ('django.db.models.fields.DecimalField', [], {'default': 'None', 'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
-            'salaire_titulaire_anterieur': ('django.db.models.fields.DecimalField', [], {'default': 'None', 'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
-            'statut': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Statut']"}),
-            'statut_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.Statut']"}),
-            'statut_residence': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
-            'statut_titulaire_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.Statut']"}),
-            'type_contrat': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.TypeContrat']"})
-        },
-        'dae.employe': {
-            'Meta': {'object_name': 'Employe'},
-            'genre': ('django.db.models.fields.CharField', [], {'max_length': '1', 'null': 'True', 'blank': 'True'}),
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'id_rh': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.Employe']"}),
-            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'prenom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'dae.groupetyperemuneration': {
-            'Meta': {'object_name': 'GroupeTypeRemuneration'},
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'ordre': ('django.db.models.fields.IntegerField', [], {})
-        },
-        'dae.justificationemploye': {
-            'Meta': {'object_name': 'JustificationEmploye'},
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
-        },
-        'dae.justificationposte': {
-            'Meta': {'object_name': 'JustificationPoste'},
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
-        },
-        'dae.poste': {
-            'Meta': {'object_name': 'Poste'},
-            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
-            'appel': ('django.db.models.fields.CharField', [], {'default': "'interne'", 'max_length': '10'}),
-            'autre_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
-            'autre_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
-            'classement_max': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Classement']"}),
-            'classement_min': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Classement']"}),
-            'coefficient_max': ('django.db.models.fields.FloatField', [], {'null': 'True'}),
-            'coefficient_min': ('django.db.models.fields.FloatField', [], {'null': 'True'}),
-            'comp_autre_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
-            'comp_autre_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
-            'comp_fonctionpub_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
-            'comp_fonctionpub_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
-            'comp_locale_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
-            'comp_locale_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
-            'comp_ong_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
-            'comp_ong_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
-            'comp_universite_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
-            'comp_universite_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
-            'date_creation': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            'date_debut': ('django.db.models.fields.DateField', [], {}),
-            'date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
-            'date_modification': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
-            'devise_comparaison': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
-            'devise_max': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
-            'devise_min': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'id_rh': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.Poste']"}),
-            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']"}),
-            'indemn_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
-            'indemn_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
-            'mise_a_disposition': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
-            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'regime_travail': ('django.db.models.fields.DecimalField', [], {'default': '100', 'max_digits': '12', 'decimal_places': '2'}),
-            'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'default': '40', 'max_digits': '12', 'decimal_places': '2'}),
-            'responsable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Poste']"}),
-            'salaire_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
-            'salaire_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
-            'service': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Service']"}),
-            'statut_residence': ('django.db.models.fields.CharField', [], {'default': "'MAD'", 'max_length': '10'}),
-            'type_poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.TypePoste']"}),
-            'valeur_point_max': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.ValeurPoint']"}),
-            'valeur_point_min': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.ValeurPoint']"})
-        },
-        'dae.postefinancement': {
-            'Meta': {'object_name': 'PosteFinancement'},
-            'commentaire': ('django.db.models.fields.TextField', [], {}),
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'montant': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
-            'poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'financements'", 'to': "orm['dae.Poste']"}),
-            'pourcentage': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
-            'type': ('django.db.models.fields.CharField', [], {'max_length': '1'})
-        },
-        'dae.postepiece': {
-            'Meta': {'object_name': 'PostePiece'},
-            'fichier': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}),
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'poste': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Poste']"})
-        },
-        'dae.remuneration': {
-            'Meta': {'object_name': 'Remuneration'},
-            'annulation': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
-            'date_annulation': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
-            'date_creation': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            'date_desactivation': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
-            'date_effective': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
-            'desactivation': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
-            'devise': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to_field': "'code'", 'db_column': "'devise'", 'to': "orm['rh_v1.Devise']"}),
-            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Dossier']", 'db_column': "'dossier'"}),
-            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
-            'montant': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
-            'pourcentage': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
-            'type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.TypeRemuneration']", 'db_column': "'type'"}),
-            'user_annulation': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
-            'user_creation': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
-            'user_desactivation': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
-        },
-        'dae.typeremuneration': {
-            'Meta': {'object_name': 'TypeRemuneration'},
-            'groupe': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.GroupeTypeRemuneration']"}),
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ordre': ('django.db.models.fields.IntegerField', [], {})
-        },
-        'dae.validation': {
-            'Meta': {'object_name': 'Validation'},
-            'date': ('django.db.models.fields.DateField', [], {}),
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
-        },
-        'dae.validationemploye': {
-            'Meta': {'object_name': 'ValidationEmploye'},
-            'employe': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Employe']"}),
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
-        },
-        'dae.validationposte': {
-            'Meta': {'object_name': 'ValidationPoste'},
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'poste': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Poste']"})
-        },
-        'datamaster_modeles.bureau': {
-            'Meta': {'object_name': 'Bureau', 'db_table': "u'ref_bureau'"},
-            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
-            'code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
-            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
-            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']", 'db_column': "'implantation'"}),
-            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'nom_court': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'nom_long': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'region': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Region']", 'db_column': "'region'"})
-        },
-        'datamaster_modeles.implantation': {
-            'Meta': {'object_name': 'Implantation', 'db_table': "u'ref_implantation'"},
-            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
-            'adresse_physique_bureau': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'adresse_physique_code_postal': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
-            'adresse_physique_code_postal_avant_ville': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
-            'adresse_physique_no': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
-            'adresse_physique_pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'impl_adresse_physique'", 'to_field': "'code'", 'db_column': "'adresse_physique_pays'", 'to': "orm['datamaster_modeles.Pays']"}),
-            'adresse_physique_precision': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'adresse_physique_precision_avant': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'adresse_physique_region': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'adresse_physique_rue': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'adresse_physique_ville': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'adresse_postale_boite_postale': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'adresse_postale_bureau': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'adresse_postale_code_postal': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
-            'adresse_postale_code_postal_avant_ville': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
-            'adresse_postale_no': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
-            'adresse_postale_pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'impl_adresse_postale'", 'to_field': "'code'", 'db_column': "'adresse_postale_pays'", 'to': "orm['datamaster_modeles.Pays']"}),
-            'adresse_postale_precision': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'adresse_postale_precision_avant': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'adresse_postale_region': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'adresse_postale_rue': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'adresse_postale_ville': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'bureau_rattachement': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']", 'db_column': "'bureau_rattachement'"}),
-            'code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
-            'code_meteo': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'commentaire': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'courriel': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
-            'courriel_interne': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
-            'date_extension': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
-            'date_fermeture': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
-            'date_inauguration': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
-            'date_ouverture': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
-            'fax': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'fax_interne': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'fuseau_horaire': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'hebergement_convention': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
-            'hebergement_convention_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
-            'hebergement_etablissement': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
-            'modif_date': ('django.db.models.fields.DateField', [], {}),
-            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'nom_court': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'nom_long': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'region': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Region']", 'db_column': "'region'"}),
-            'remarque': ('django.db.models.fields.TextField', [], {}),
-            'responsable_implantation': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
-            'statut': ('django.db.models.fields.IntegerField', [], {}),
-            'telephone': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'telephone_interne': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'type': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'url': ('django.db.models.fields.URLField', [], {'max_length': '255', 'blank': 'True'})
-        },
-        'datamaster_modeles.pays': {
-            'Meta': {'object_name': 'Pays', 'db_table': "u'ref_pays'"},
-            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
-            'code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2'}),
-            'code_bureau': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Bureau']", 'to_field': "'code'", 'db_column': "'code_bureau'"}),
-            'code_iso3': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '3', 'blank': 'True'}),
-            'developpement': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
-            'monnaie': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'nord_sud': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'region': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Region']", 'db_column': "'region'"})
-        },
-        'datamaster_modeles.region': {
-            'Meta': {'object_name': 'Region', 'db_table': "u'ref_region'"},
-            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
-            'code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
-            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
-            'implantation_bureau': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'gere_region'", 'db_column': "'implantation_bureau'", 'to': "orm['datamaster_modeles.Implantation']"}),
-            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'rh_v1.classement': {
-            'Meta': {'object_name': 'Classement'},
-            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
-            'coefficient': ('django.db.models.fields.FloatField', [], {}),
-            'commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'date_modification': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
-            'degre': ('django.db.models.fields.IntegerField', [], {}),
-            'echelon': ('django.db.models.fields.IntegerField', [], {}),
-            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
-            'type': ('django.db.models.fields.CharField', [], {'max_length': '10'})
-        },
-        'rh_v1.devise': {
-            'Meta': {'object_name': 'Devise'},
-            'code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '10'}),
-            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
-            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'rh_v1.employe': {
-            'Meta': {'object_name': 'Employe'},
-            'adresse': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'code_postal': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'date_creation': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            'date_entree': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
-            'date_maj': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
-            'date_naissance': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
-            'genre': ('django.db.models.fields.CharField', [], {'max_length': '1', 'null': 'True', 'blank': 'True'}),
-            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
-            'nationalite': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'nationalite'", 'to_field': "'code'", 'db_column': "'nationalite'", 'to': "orm['datamaster_modeles.Pays']"}),
-            'no_rue': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'pays'", 'db_column': "'pays'", 'to_field': "'code'", 'to': "orm['datamaster_modeles.Pays']", 'blank': 'True', 'null': 'True'}),
-            'prenom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'province': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'situation_famille': ('django.db.models.fields.CharField', [], {'max_length': '1', 'null': 'True', 'blank': 'True'}),
-            'tel_cellulaire': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'tel_domicile': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'ville': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
-        },
-        'rh_v1.familleemploi': {
-            'Meta': {'object_name': 'FamilleEmploi'},
-            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
-            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
-            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'rh_v1.organismebstg': {
-            'Meta': {'object_name': 'OrganismeBstg'},
-            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
-            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
-            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'type': ('django.db.models.fields.CharField', [], {'max_length': '10'})
-        },
-        'rh_v1.poste': {
-            'Meta': {'object_name': 'Poste'},
-            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
-            'date_modification': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
-            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
-            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'implantation'", 'to': "orm['datamaster_modeles.Implantation']"}),
-            'proportion': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
-            'type_poste': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['rh_v1.TypePoste']", 'db_column': "'type_poste'"})
-        },
-        'rh_v1.service': {
-            'Meta': {'object_name': 'Service'},
-            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
-            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
-            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'rh_v1.statut': {
-            'Meta': {'object_name': 'Statut'},
-            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
-            'code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '25'}),
-            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
-            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'type_contrat_categorie': ('django.db.models.fields.CharField', [], {'max_length': '10'})
-        },
-        'rh_v1.typecontrat': {
-            'Meta': {'object_name': 'TypeContrat'},
-            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
-            'categorie': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
-            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
-            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'nom_long': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'rh_v1.typeposte': {
-            'Meta': {'object_name': 'TypePoste'},
-            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
-            'date_modification': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'famille_emploi': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['rh_v1.FamilleEmploi']", 'db_column': "'famille_emploi'"}),
-            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
-            'is_responsable': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
-            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'nom_feminin': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'rh_v1.valeurpoint': {
-            'Meta': {'object_name': 'ValeurPoint'},
-            'annee': ('django.db.models.fields.IntegerField', [], {}),
-            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
-            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']", 'db_column': "'implantation'"}),
-            'valeur': ('django.db.models.fields.FloatField', [], {})
-        }
-    }
-    
-    complete_apps = ['dae']
diff --git a/project/dae/migrations/0015_auto__add_dossierpiece.py b/project/dae/migrations/0015_auto__add_dossierpiece.py
deleted file mode 100644 (file)
index 0b7e47a..0000000
+++ /dev/null
@@ -1,381 +0,0 @@
-# encoding: utf-8
-import datetime
-from south.db import db
-from south.v2 import SchemaMigration
-from django.db import models
-
-class Migration(SchemaMigration):
-    
-    def forwards(self, orm):
-        
-        # Adding model 'DossierPiece'
-        db.create_table('dae_dossierpiece', (
-            ('dossier', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['dae.Dossier'])),
-            ('nom', self.gf('django.db.models.fields.CharField')(max_length=255)),
-            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
-            ('fichier', self.gf('django.db.models.fields.files.FileField')(max_length=100)),
-        ))
-        db.send_create_signal('dae', ['DossierPiece'])
-    
-    
-    def backwards(self, orm):
-        
-        # Deleting model 'DossierPiece'
-        db.delete_table('dae_dossierpiece')
-    
-    
-    models = {
-        'dae.documentemploye': {
-            'Meta': {'object_name': 'DocumentEmploye'},
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
-        },
-        'dae.documentposte': {
-            'Meta': {'object_name': 'DocumentPoste'},
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
-        },
-        'dae.dossier': {
-            'Meta': {'object_name': 'Dossier'},
-            'classement': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Classement']"}),
-            'classement_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.Classement']"}),
-            'classement_titulaire_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.Classement']"}),
-            'compte_compta': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
-            'compte_courriel': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
-            'contrat_date_debut': ('django.db.models.fields.DateField', [], {}),
-            'contrat_date_fin': ('django.db.models.fields.DateField', [], {}),
-            'devise': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
-            'employe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['dae.Employe']"}),
-            'employe_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.Employe']"}),
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'organisme_bstg': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.OrganismeBstg']"}),
-            'poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['dae.Poste']"}),
-            'regime_travail': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
-            'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
-            'remplacement': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
-            'salaire': ('django.db.models.fields.DecimalField', [], {'default': 'None', 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
-            'salaire_anterieur': ('django.db.models.fields.DecimalField', [], {'default': 'None', 'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
-            'salaire_titulaire_anterieur': ('django.db.models.fields.DecimalField', [], {'default': 'None', 'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
-            'statut': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Statut']"}),
-            'statut_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.Statut']"}),
-            'statut_residence': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
-            'statut_titulaire_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.Statut']"}),
-            'type_contrat': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.TypeContrat']"})
-        },
-        'dae.dossierpiece': {
-            'Meta': {'object_name': 'DossierPiece'},
-            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Dossier']"}),
-            'fichier': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}),
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'dae.employe': {
-            'Meta': {'object_name': 'Employe'},
-            'genre': ('django.db.models.fields.CharField', [], {'max_length': '1', 'null': 'True', 'blank': 'True'}),
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'id_rh': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.Employe']"}),
-            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'prenom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'dae.groupetyperemuneration': {
-            'Meta': {'object_name': 'GroupeTypeRemuneration'},
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'ordre': ('django.db.models.fields.IntegerField', [], {})
-        },
-        'dae.justificationemploye': {
-            'Meta': {'object_name': 'JustificationEmploye'},
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
-        },
-        'dae.justificationposte': {
-            'Meta': {'object_name': 'JustificationPoste'},
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
-        },
-        'dae.poste': {
-            'Meta': {'object_name': 'Poste'},
-            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
-            'appel': ('django.db.models.fields.CharField', [], {'default': "'interne'", 'max_length': '10'}),
-            'autre_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
-            'autre_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
-            'classement_max': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Classement']"}),
-            'classement_min': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Classement']"}),
-            'coefficient_max': ('django.db.models.fields.FloatField', [], {'null': 'True'}),
-            'coefficient_min': ('django.db.models.fields.FloatField', [], {'null': 'True'}),
-            'comp_autre_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
-            'comp_autre_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
-            'comp_fonctionpub_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
-            'comp_fonctionpub_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
-            'comp_locale_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
-            'comp_locale_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
-            'comp_ong_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
-            'comp_ong_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
-            'comp_universite_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
-            'comp_universite_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
-            'date_creation': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            'date_debut': ('django.db.models.fields.DateField', [], {}),
-            'date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
-            'date_modification': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
-            'devise_comparaison': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
-            'devise_max': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
-            'devise_min': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'id_rh': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.Poste']"}),
-            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']"}),
-            'indemn_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
-            'indemn_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
-            'mise_a_disposition': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
-            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'regime_travail': ('django.db.models.fields.DecimalField', [], {'default': '100', 'max_digits': '12', 'decimal_places': '2'}),
-            'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'default': '40', 'max_digits': '12', 'decimal_places': '2'}),
-            'responsable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Poste']"}),
-            'salaire_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
-            'salaire_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
-            'service': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Service']"}),
-            'statut_residence': ('django.db.models.fields.CharField', [], {'default': "'MAD'", 'max_length': '10'}),
-            'type_poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.TypePoste']"}),
-            'valeur_point_max': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.ValeurPoint']"}),
-            'valeur_point_min': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.ValeurPoint']"})
-        },
-        'dae.postefinancement': {
-            'Meta': {'object_name': 'PosteFinancement'},
-            'commentaire': ('django.db.models.fields.TextField', [], {}),
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'montant': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
-            'poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'financements'", 'to': "orm['dae.Poste']"}),
-            'pourcentage': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
-            'type': ('django.db.models.fields.CharField', [], {'max_length': '1'})
-        },
-        'dae.postepiece': {
-            'Meta': {'object_name': 'PostePiece'},
-            'fichier': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}),
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'poste': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Poste']"})
-        },
-        'dae.remuneration': {
-            'Meta': {'object_name': 'Remuneration'},
-            'annulation': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
-            'date_annulation': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
-            'date_creation': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            'date_desactivation': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
-            'date_effective': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
-            'desactivation': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
-            'devise': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to_field': "'code'", 'db_column': "'devise'", 'to': "orm['rh_v1.Devise']"}),
-            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Dossier']", 'db_column': "'dossier'"}),
-            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
-            'montant': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
-            'pourcentage': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
-            'type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.TypeRemuneration']", 'db_column': "'type'"}),
-            'user_annulation': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
-            'user_creation': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
-            'user_desactivation': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
-        },
-        'dae.typeremuneration': {
-            'Meta': {'object_name': 'TypeRemuneration'},
-            'groupe': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.GroupeTypeRemuneration']"}),
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'ordre': ('django.db.models.fields.IntegerField', [], {})
-        },
-        'dae.validation': {
-            'Meta': {'object_name': 'Validation'},
-            'date': ('django.db.models.fields.DateField', [], {}),
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
-        },
-        'dae.validationemploye': {
-            'Meta': {'object_name': 'ValidationEmploye'},
-            'employe': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Employe']"}),
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
-        },
-        'dae.validationposte': {
-            'Meta': {'object_name': 'ValidationPoste'},
-            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
-            'poste': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Poste']"})
-        },
-        'datamaster_modeles.bureau': {
-            'Meta': {'object_name': 'Bureau', 'db_table': "u'ref_bureau'"},
-            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
-            'code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
-            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
-            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']", 'db_column': "'implantation'"}),
-            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'nom_court': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'nom_long': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'region': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Region']", 'db_column': "'region'"})
-        },
-        'datamaster_modeles.implantation': {
-            'Meta': {'object_name': 'Implantation', 'db_table': "u'ref_implantation'"},
-            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
-            'adresse_physique_bureau': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'adresse_physique_code_postal': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
-            'adresse_physique_code_postal_avant_ville': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
-            'adresse_physique_no': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
-            'adresse_physique_pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'impl_adresse_physique'", 'to_field': "'code'", 'db_column': "'adresse_physique_pays'", 'to': "orm['datamaster_modeles.Pays']"}),
-            'adresse_physique_precision': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'adresse_physique_precision_avant': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'adresse_physique_region': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'adresse_physique_rue': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'adresse_physique_ville': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'adresse_postale_boite_postale': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'adresse_postale_bureau': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'adresse_postale_code_postal': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
-            'adresse_postale_code_postal_avant_ville': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
-            'adresse_postale_no': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
-            'adresse_postale_pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'impl_adresse_postale'", 'to_field': "'code'", 'db_column': "'adresse_postale_pays'", 'to': "orm['datamaster_modeles.Pays']"}),
-            'adresse_postale_precision': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'adresse_postale_precision_avant': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'adresse_postale_region': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'adresse_postale_rue': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'adresse_postale_ville': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'bureau_rattachement': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']", 'db_column': "'bureau_rattachement'"}),
-            'code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
-            'code_meteo': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'commentaire': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'courriel': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
-            'courriel_interne': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
-            'date_extension': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
-            'date_fermeture': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
-            'date_inauguration': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
-            'date_ouverture': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
-            'fax': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'fax_interne': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'fuseau_horaire': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'hebergement_convention': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
-            'hebergement_convention_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
-            'hebergement_etablissement': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
-            'modif_date': ('django.db.models.fields.DateField', [], {}),
-            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'nom_court': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'nom_long': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'region': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Region']", 'db_column': "'region'"}),
-            'remarque': ('django.db.models.fields.TextField', [], {}),
-            'responsable_implantation': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
-            'statut': ('django.db.models.fields.IntegerField', [], {}),
-            'telephone': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'telephone_interne': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
-            'type': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'url': ('django.db.models.fields.URLField', [], {'max_length': '255', 'blank': 'True'})
-        },
-        'datamaster_modeles.pays': {
-            'Meta': {'object_name': 'Pays', 'db_table': "u'ref_pays'"},
-            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
-            'code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2'}),
-            'code_bureau': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Bureau']", 'to_field': "'code'", 'db_column': "'code_bureau'"}),
-            'code_iso3': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '3', 'blank': 'True'}),
-            'developpement': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
-            'monnaie': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'nord_sud': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'region': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Region']", 'db_column': "'region'"})
-        },
-        'datamaster_modeles.region': {
-            'Meta': {'object_name': 'Region', 'db_table': "u'ref_region'"},
-            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
-            'code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
-            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
-            'implantation_bureau': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'gere_region'", 'db_column': "'implantation_bureau'", 'to': "orm['datamaster_modeles.Implantation']"}),
-            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'rh_v1.classement': {
-            'Meta': {'object_name': 'Classement'},
-            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
-            'coefficient': ('django.db.models.fields.FloatField', [], {}),
-            'commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'date_modification': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
-            'degre': ('django.db.models.fields.IntegerField', [], {}),
-            'echelon': ('django.db.models.fields.IntegerField', [], {}),
-            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
-            'type': ('django.db.models.fields.CharField', [], {'max_length': '10'})
-        },
-        'rh_v1.devise': {
-            'Meta': {'object_name': 'Devise'},
-            'code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '10'}),
-            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
-            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'rh_v1.employe': {
-            'Meta': {'object_name': 'Employe'},
-            'adresse': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'code_postal': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
-            'date_creation': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
-            'date_entree': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
-            'date_maj': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
-            'date_naissance': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
-            'genre': ('django.db.models.fields.CharField', [], {'max_length': '1', 'null': 'True', 'blank': 'True'}),
-            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
-            'nationalite': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'nationalite'", 'to_field': "'code'", 'db_column': "'nationalite'", 'to': "orm['datamaster_modeles.Pays']"}),
-            'no_rue': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'pays'", 'db_column': "'pays'", 'to_field': "'code'", 'to': "orm['datamaster_modeles.Pays']", 'blank': 'True', 'null': 'True'}),
-            'prenom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'province': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'situation_famille': ('django.db.models.fields.CharField', [], {'max_length': '1', 'null': 'True', 'blank': 'True'}),
-            'tel_cellulaire': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'tel_domicile': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
-            'ville': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
-        },
-        'rh_v1.familleemploi': {
-            'Meta': {'object_name': 'FamilleEmploi'},
-            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
-            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
-            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'rh_v1.organismebstg': {
-            'Meta': {'object_name': 'OrganismeBstg'},
-            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
-            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
-            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'type': ('django.db.models.fields.CharField', [], {'max_length': '10'})
-        },
-        'rh_v1.poste': {
-            'Meta': {'object_name': 'Poste'},
-            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
-            'date_modification': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
-            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
-            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'implantation'", 'to': "orm['datamaster_modeles.Implantation']"}),
-            'proportion': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
-            'type_poste': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['rh_v1.TypePoste']", 'db_column': "'type_poste'"})
-        },
-        'rh_v1.service': {
-            'Meta': {'object_name': 'Service'},
-            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
-            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
-            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'rh_v1.statut': {
-            'Meta': {'object_name': 'Statut'},
-            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
-            'code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '25'}),
-            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
-            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'type_contrat_categorie': ('django.db.models.fields.CharField', [], {'max_length': '10'})
-        },
-        'rh_v1.typecontrat': {
-            'Meta': {'object_name': 'TypeContrat'},
-            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
-            'categorie': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
-            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
-            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'nom_long': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'rh_v1.typeposte': {
-            'Meta': {'object_name': 'TypePoste'},
-            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
-            'date_modification': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
-            'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'famille_emploi': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['rh_v1.FamilleEmploi']", 'db_column': "'famille_emploi'"}),
-            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
-            'is_responsable': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
-            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
-            'nom_feminin': ('django.db.models.fields.CharField', [], {'max_length': '255'})
-        },
-        'rh_v1.valeurpoint': {
-            'Meta': {'object_name': 'ValeurPoint'},
-            'annee': ('django.db.models.fields.IntegerField', [], {}),
-            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
-            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']", 'db_column': "'implantation'"}),
-            'valeur': ('django.db.models.fields.FloatField', [], {})
-        }
-    }
-    
-    complete_apps = ['dae']
diff --git a/project/dae/migrations/0029_auto__del_validationemploye__del_validationposte__del_validation__add_.py b/project/dae/migrations/0029_auto__del_validationemploye__del_validationposte__del_validation__add_.py
new file mode 100644 (file)
index 0000000..5deee96
--- /dev/null
@@ -0,0 +1,434 @@
+# encoding: utf-8
+import datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+class Migration(SchemaMigration):
+    
+    def forwards(self, orm):
+        
+        # Deleting model 'ValidationEmploye'
+        db.delete_table('dae_validationemploye')
+
+        # Deleting model 'ValidationPoste'
+        db.delete_table('dae_validationposte')
+
+        # Deleting model 'Validation'
+        db.delete_table('dae_validation')
+
+        # Adding field 'Dossier.etat'
+        db.add_column('dae_dossier', 'etat', self.gf('django.db.models.fields.CharField')(default=None, max_length=20, null=True, blank=True), keep_default=False)
+
+        # Deleting field 'Poste.validation_recteur'
+        db.delete_column('dae_poste', 'validation_recteur')
+
+        # Deleting field 'Poste.validation_secretaire_general'
+        db.delete_column('dae_poste', 'validation_secretaire_general')
+
+        # Deleting field 'Poste.validation_drh_date'
+        db.delete_column('dae_poste', 'validation_drh_date')
+
+        # Deleting field 'Poste.validation_drh'
+        db.delete_column('dae_poste', 'validation_drh')
+
+        # Deleting field 'Poste.validation_bureau_regional'
+        db.delete_column('dae_poste', 'validation_bureau_regional')
+
+        # Deleting field 'Poste.validation_secretaire_general_date'
+        db.delete_column('dae_poste', 'validation_secretaire_general_date')
+
+        # Deleting field 'Poste.validation_recteur_date'
+        db.delete_column('dae_poste', 'validation_recteur_date')
+
+        # Deleting field 'Poste.validation_bureau_regional_date'
+        db.delete_column('dae_poste', 'validation_bureau_regional_date')
+    
+    
+    def backwards(self, orm):
+        
+        # Adding model 'ValidationEmploye'
+        db.create_table('dae_validationemploye', (
+            ('employe', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['dae.Employe'])),
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+        ))
+        db.send_create_signal('dae', ['ValidationEmploye'])
+
+        # Adding model 'ValidationPoste'
+        db.create_table('dae_validationposte', (
+            ('poste', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['dae.Poste'])),
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+        ))
+        db.send_create_signal('dae', ['ValidationPoste'])
+
+        # Adding model 'Validation'
+        db.create_table('dae_validation', (
+            ('date', self.gf('django.db.models.fields.DateField')()),
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+        ))
+        db.send_create_signal('dae', ['Validation'])
+
+        # Deleting field 'Dossier.etat'
+        db.delete_column('dae_dossier', 'etat')
+
+        # Adding field 'Poste.validation_recteur'
+        db.add_column('dae_poste', 'validation_recteur', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True), keep_default=False)
+
+        # Adding field 'Poste.validation_secretaire_general'
+        db.add_column('dae_poste', 'validation_secretaire_general', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True), keep_default=False)
+
+        # Adding field 'Poste.validation_drh_date'
+        db.add_column('dae_poste', 'validation_drh_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'Poste.validation_drh'
+        db.add_column('dae_poste', 'validation_drh', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True), keep_default=False)
+
+        # Adding field 'Poste.validation_bureau_regional'
+        db.add_column('dae_poste', 'validation_bureau_regional', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True), keep_default=False)
+
+        # Adding field 'Poste.validation_secretaire_general_date'
+        db.add_column('dae_poste', 'validation_secretaire_general_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'Poste.validation_recteur_date'
+        db.add_column('dae_poste', 'validation_recteur_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'Poste.validation_bureau_regional_date'
+        db.add_column('dae_poste', 'validation_bureau_regional_date', self.gf('django.db.models.fields.DateField')(null=True, blank=True), keep_default=False)
+    
+    
+    models = {
+        'dae.dossier': {
+            'Meta': {'object_name': 'Dossier'},
+            'classement': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Classement']"}),
+            'classement_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Classement']"}),
+            'classement_titulaire_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Classement']"}),
+            'compte_compta': ('django.db.models.fields.CharField', [], {'default': "'aucun'", 'max_length': '10'}),
+            'compte_courriel': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'contrat_date_debut': ('django.db.models.fields.DateField', [], {}),
+            'contrat_date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_creation': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'devise': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
+            'employe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['dae.Employe']"}),
+            'employe_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Employe']"}),
+            'etat': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '20', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'organisme_bstg': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.OrganismeBstg']"}),
+            'organisme_bstg_autre': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['dae.Poste']"}),
+            'regime_travail': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
+            'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
+            'remplacement': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'salaire': ('django.db.models.fields.DecimalField', [], {'default': 'None', 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'salaire_anterieur': ('django.db.models.fields.DecimalField', [], {'default': 'None', 'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'salaire_titulaire_anterieur': ('django.db.models.fields.DecimalField', [], {'default': 'None', 'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'statut': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Statut']"}),
+            'statut_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Statut']"}),
+            'statut_residence': ('django.db.models.fields.CharField', [], {'default': "'local'", 'max_length': '10'}),
+            'statut_titulaire_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Statut']"}),
+            'type_contrat': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.TypeContrat']"})
+        },
+        'dae.dossierpiece': {
+            'Meta': {'object_name': 'DossierPiece'},
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Dossier']"}),
+            'fichier': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'dae.employe': {
+            'Meta': {'object_name': 'Employe'},
+            'genre': ('django.db.models.fields.CharField', [], {'max_length': '1', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'id_rh': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.Employe']"}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'prenom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'dae.justificationautreemploye': {
+            'Meta': {'object_name': 'JustificationAutreEmploye'},
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Dossier']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.JustificationQuestion']"}),
+            'reponse': ('django.db.models.fields.TextField', [], {})
+        },
+        'dae.justificationnouvelemploye': {
+            'Meta': {'object_name': 'JustificationNouvelEmploye'},
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Dossier']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.JustificationQuestion']"}),
+            'reponse': ('django.db.models.fields.TextField', [], {})
+        },
+        'dae.justificationquestion': {
+            'Meta': {'object_name': 'JustificationQuestion'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'question': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'dae.poste': {
+            'Meta': {'object_name': 'Poste'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
+            'appel': ('django.db.models.fields.CharField', [], {'default': "'interne'", 'max_length': '10'}),
+            'autre_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'autre_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'classement_max': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Classement']"}),
+            'classement_min': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Classement']"}),
+            'comp_autre_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_autre_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_fonctionpub_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_fonctionpub_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_locale_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_locale_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_ong_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_ong_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_universite_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_universite_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'date_creation': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'date_debut': ('django.db.models.fields.DateField', [], {}),
+            'date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'devise_comparaison': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
+            'devise_max': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
+            'devise_min': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
+            'etat': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '20', 'null': 'True', 'blank': 'True'}),
+            'expatrie': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'id_rh': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.Poste']"}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']"}),
+            'indemn_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'indemn_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'justification': ('django.db.models.fields.TextField', [], {}),
+            'local': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
+            'mise_a_disposition': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'regime_travail': ('django.db.models.fields.DecimalField', [], {'default': '100', 'max_digits': '12', 'decimal_places': '2'}),
+            'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'default': '35', 'max_digits': '12', 'decimal_places': '2'}),
+            'responsable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Poste']"}),
+            'salaire_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'salaire_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'service': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Service']"}),
+            'type_poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.TypePoste']"}),
+            'valeur_point_max': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.ValeurPoint']"}),
+            'valeur_point_min': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.ValeurPoint']"})
+        },
+        'dae.postefinancement': {
+            'Meta': {'object_name': 'PosteFinancement'},
+            'commentaire': ('django.db.models.fields.TextField', [], {}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'financements'", 'to': "orm['dae.Poste']"}),
+            'pourcentage': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '1'})
+        },
+        'dae.postepiece': {
+            'Meta': {'object_name': 'PostePiece'},
+            'fichier': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'poste': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Poste']"})
+        },
+        'dae.remuneration': {
+            'Meta': {'object_name': 'Remuneration'},
+            'date_creation': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'devise': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to_field': "'code'", 'db_column': "'devise'", 'to': "orm['rh_v1.Devise']"}),
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Dossier']", 'db_column': "'dossier'"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'montant': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'precision': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'type'", 'to': "orm['rh_v1.TypeRemuneration']"}),
+            'user_creation': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+        },
+        'datamaster_modeles.bureau': {
+            'Meta': {'object_name': 'Bureau', 'db_table': "u'ref_bureau'"},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'code': ('django.db.models.fields.CharField', [], {'max_length': '255', 'unique': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']", 'db_column': "'implantation'"}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_court': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'nom_long': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'region': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Region']", 'db_column': "'region'"})
+        },
+        'datamaster_modeles.implantation': {
+            'Meta': {'object_name': 'Implantation', 'db_table': "u'ref_implantation'"},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'adresse_physique_bureau': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'adresse_physique_code_postal': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+            'adresse_physique_code_postal_avant_ville': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+            'adresse_physique_no': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+            'adresse_physique_pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'impl_adresse_physique'", 'to_field': "'code'", 'db_column': "'adresse_physique_pays'", 'to': "orm['datamaster_modeles.Pays']"}),
+            'adresse_physique_precision': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'adresse_physique_precision_avant': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'adresse_physique_region': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'adresse_physique_rue': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'adresse_physique_ville': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'adresse_postale_boite_postale': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_bureau': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_code_postal': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_code_postal_avant_ville': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+            'adresse_postale_no': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'impl_adresse_postale'", 'to_field': "'code'", 'db_column': "'adresse_postale_pays'", 'to': "orm['datamaster_modeles.Pays']"}),
+            'adresse_postale_precision': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_precision_avant': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_region': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_rue': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_ville': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'bureau_rattachement': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']", 'db_column': "'bureau_rattachement'"}),
+            'code': ('django.db.models.fields.CharField', [], {'max_length': '255', 'unique': 'True'}),
+            'code_meteo': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'commentaire': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'courriel': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+            'courriel_interne': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+            'date_extension': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_fermeture': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_inauguration': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_ouverture': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'fax': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'fax_interne': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'fuseau_horaire': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'hebergement_convention': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+            'hebergement_convention_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'hebergement_etablissement': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'modif_date': ('django.db.models.fields.DateField', [], {}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_court': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'nom_long': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'region': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Region']", 'db_column': "'region'"}),
+            'remarque': ('django.db.models.fields.TextField', [], {}),
+            'responsable_implantation': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+            'statut': ('django.db.models.fields.IntegerField', [], {}),
+            'telephone': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'telephone_interne': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'url': ('django.db.models.fields.URLField', [], {'max_length': '255', 'blank': 'True'})
+        },
+        'datamaster_modeles.pays': {
+            'Meta': {'object_name': 'Pays', 'db_table': "u'ref_pays'"},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'code': ('django.db.models.fields.CharField', [], {'max_length': '2', 'unique': 'True'}),
+            'code_bureau': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Bureau']", 'to_field': "'code'", 'db_column': "'code_bureau'"}),
+            'code_iso3': ('django.db.models.fields.CharField', [], {'max_length': '3', 'unique': 'True', 'blank': 'True'}),
+            'developpement': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'monnaie': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nord_sud': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'region': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Region']", 'db_column': "'region'"})
+        },
+        'datamaster_modeles.region': {
+            'Meta': {'object_name': 'Region', 'db_table': "u'ref_region'"},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'code': ('django.db.models.fields.CharField', [], {'max_length': '255', 'unique': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'implantation_bureau': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'gere_region'", 'db_column': "'implantation_bureau'", 'to': "orm['datamaster_modeles.Implantation']"}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.classement': {
+            'Meta': {'object_name': 'Classement'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'coefficient': ('django.db.models.fields.FloatField', [], {}),
+            'commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'degre': ('django.db.models.fields.IntegerField', [], {}),
+            'echelon': ('django.db.models.fields.IntegerField', [], {}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '10'})
+        },
+        'rh_v1.devise': {
+            'Meta': {'object_name': 'Devise'},
+            'code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'unique': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.employe': {
+            'Meta': {'object_name': 'Employe'},
+            'adresse': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'code_postal': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'date_creation': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'date_entree': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_maj': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'date_naissance': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'genre': ('django.db.models.fields.CharField', [], {'max_length': '1', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nationalite': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'nationalite'", 'to_field': "'code'", 'db_column': "'nationalite'", 'to': "orm['datamaster_modeles.Pays']"}),
+            'no_rue': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'pays'", 'db_column': "'pays'", 'to_field': "'code'", 'to': "orm['datamaster_modeles.Pays']", 'blank': 'True', 'null': 'True'}),
+            'prenom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'province': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'situation_famille': ('django.db.models.fields.CharField', [], {'max_length': '1', 'null': 'True', 'blank': 'True'}),
+            'tel_cellulaire': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'tel_domicile': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'ville': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
+        },
+        'rh_v1.familleemploi': {
+            'Meta': {'object_name': 'FamilleEmploi'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.organismebstg': {
+            'Meta': {'object_name': 'OrganismeBstg'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '10'})
+        },
+        'rh_v1.poste': {
+            'Meta': {'object_name': 'Poste'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'implantation'", 'to': "orm['datamaster_modeles.Implantation']"}),
+            'proportion': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
+            'type_poste': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['rh_v1.TypePoste']", 'db_column': "'type_poste'"})
+        },
+        'rh_v1.service': {
+            'Meta': {'object_name': 'Service'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.statut': {
+            'Meta': {'object_name': 'Statut'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'code': ('django.db.models.fields.CharField', [], {'max_length': '25', 'unique': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'type_contrat_categorie': ('django.db.models.fields.CharField', [], {'max_length': '10'})
+        },
+        'rh_v1.typecontrat': {
+            'Meta': {'object_name': 'TypeContrat'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'categorie': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_long': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.typeposte': {
+            'Meta': {'object_name': 'TypePoste'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'famille_emploi': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['rh_v1.FamilleEmploi']", 'db_column': "'famille_emploi'"}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'is_responsable': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_feminin': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.typeremuneration': {
+            'Meta': {'object_name': 'TypeRemuneration'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nature_remuneration': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'type_paiement': ('django.db.models.fields.CharField', [], {'max_length': '30'})
+        },
+        'rh_v1.valeurpoint': {
+            'Meta': {'object_name': 'ValeurPoint'},
+            'annee': ('django.db.models.fields.IntegerField', [], {}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']", 'db_column': "'implantation'"}),
+            'valeur': ('django.db.models.fields.FloatField', [], {})
+        }
+    }
+    
+    complete_apps = ['dae']
diff --git a/project/dae/migrations/0030_auto__add_dossiercomparaison.py b/project/dae/migrations/0030_auto__add_dossiercomparaison.py
new file mode 100644 (file)
index 0000000..cac93b8
--- /dev/null
@@ -0,0 +1,420 @@
+# encoding: utf-8
+import datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+class Migration(SchemaMigration):
+    
+    def forwards(self, orm):
+        
+        # Adding model 'DossierComparaison'
+        db.create_table('dae_dossiercomparaison', (
+            ('montant', self.gf('django.db.models.fields.DecimalField')(null=True, max_digits=12, decimal_places=2)),
+            ('dossier', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['dae.Dossier'])),
+            ('personne', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
+            ('devise', self.gf('django.db.models.fields.CharField')(max_length=3, null=True, blank=True)),
+            ('poste', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+        ))
+        db.send_create_signal('dae', ['DossierComparaison'])
+    
+    
+    def backwards(self, orm):
+        
+        # Deleting model 'DossierComparaison'
+        db.delete_table('dae_dossiercomparaison')
+    
+    
+    models = {
+        'auth.group': {
+            'Meta': {'object_name': 'Group'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '80', 'unique': 'True'}),
+            'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
+        },
+        'auth.permission': {
+            'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
+            'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
+        },
+        'auth.user': {
+            'Meta': {'object_name': 'User'},
+            'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+            'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
+            'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+            'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+            'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
+            'username': ('django.db.models.fields.CharField', [], {'max_length': '30', 'unique': 'True'})
+        },
+        'contenttypes.contenttype': {
+            'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
+            'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+        },
+        'dae.dossier': {
+            'Meta': {'object_name': 'Dossier'},
+            'classement': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Classement']"}),
+            'classement_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Classement']"}),
+            'classement_titulaire_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Classement']"}),
+            'compte_compta': ('django.db.models.fields.CharField', [], {'default': "'aucun'", 'max_length': '10'}),
+            'compte_courriel': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'contrat_date_debut': ('django.db.models.fields.DateField', [], {}),
+            'contrat_date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_creation': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'devise': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
+            'employe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['dae.Employe']"}),
+            'employe_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Employe']"}),
+            'etat': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '20', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'organisme_bstg': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.OrganismeBstg']"}),
+            'organisme_bstg_autre': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['dae.Poste']"}),
+            'regime_travail': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
+            'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
+            'remplacement': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'salaire': ('django.db.models.fields.DecimalField', [], {'default': 'None', 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'salaire_anterieur': ('django.db.models.fields.DecimalField', [], {'default': 'None', 'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'salaire_titulaire_anterieur': ('django.db.models.fields.DecimalField', [], {'default': 'None', 'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'statut': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Statut']"}),
+            'statut_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Statut']"}),
+            'statut_residence': ('django.db.models.fields.CharField', [], {'default': "'local'", 'max_length': '10'}),
+            'statut_titulaire_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Statut']"}),
+            'type_contrat': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.TypeContrat']"})
+        },
+        'dae.dossiercomparaison': {
+            'Meta': {'object_name': 'DossierComparaison'},
+            'devise': ('django.db.models.fields.CharField', [], {'max_length': '3', 'null': 'True', 'blank': 'True'}),
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Dossier']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'montant': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'personne': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'poste': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
+        },
+        'dae.dossierpiece': {
+            'Meta': {'object_name': 'DossierPiece'},
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Dossier']"}),
+            'fichier': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'dae.employe': {
+            'Meta': {'object_name': 'Employe'},
+            'genre': ('django.db.models.fields.CharField', [], {'max_length': '1', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'id_rh': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.Employe']"}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'prenom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'dae.justificationautreemploye': {
+            'Meta': {'object_name': 'JustificationAutreEmploye'},
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Dossier']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.JustificationQuestion']"}),
+            'reponse': ('django.db.models.fields.TextField', [], {})
+        },
+        'dae.justificationnouvelemploye': {
+            'Meta': {'object_name': 'JustificationNouvelEmploye'},
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Dossier']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.JustificationQuestion']"}),
+            'reponse': ('django.db.models.fields.TextField', [], {})
+        },
+        'dae.justificationquestion': {
+            'Meta': {'object_name': 'JustificationQuestion'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'question': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'dae.poste': {
+            'Meta': {'object_name': 'Poste'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
+            'appel': ('django.db.models.fields.CharField', [], {'default': "'interne'", 'max_length': '10'}),
+            'autre_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'autre_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'classement_max': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Classement']"}),
+            'classement_min': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Classement']"}),
+            'comp_autre_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_autre_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_fonctionpub_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_fonctionpub_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_locale_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_locale_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_ong_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_ong_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_universite_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_universite_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'date_creation': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'date_debut': ('django.db.models.fields.DateField', [], {}),
+            'date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'devise_comparaison': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
+            'devise_max': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
+            'devise_min': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
+            'etat': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '20', 'null': 'True', 'blank': 'True'}),
+            'expatrie': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'id_rh': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.Poste']"}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']"}),
+            'indemn_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'indemn_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'justification': ('django.db.models.fields.TextField', [], {}),
+            'local': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
+            'mise_a_disposition': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'regime_travail': ('django.db.models.fields.DecimalField', [], {'default': '100', 'max_digits': '12', 'decimal_places': '2'}),
+            'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'default': '35', 'max_digits': '12', 'decimal_places': '2'}),
+            'responsable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Poste']"}),
+            'salaire_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'salaire_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'service': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Service']"}),
+            'type_poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.TypePoste']"}),
+            'valeur_point_max': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.ValeurPoint']"}),
+            'valeur_point_min': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.ValeurPoint']"})
+        },
+        'dae.postefinancement': {
+            'Meta': {'object_name': 'PosteFinancement'},
+            'commentaire': ('django.db.models.fields.TextField', [], {}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'financements'", 'to': "orm['dae.Poste']"}),
+            'pourcentage': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '1'})
+        },
+        'dae.postepiece': {
+            'Meta': {'object_name': 'PostePiece'},
+            'fichier': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'poste': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Poste']"})
+        },
+        'dae.remuneration': {
+            'Meta': {'object_name': 'Remuneration'},
+            'date_creation': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'devise': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to_field': "'code'", 'db_column': "'devise'", 'to': "orm['rh_v1.Devise']"}),
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Dossier']", 'db_column': "'dossier'"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'montant': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'precision': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'type'", 'to': "orm['rh_v1.TypeRemuneration']"}),
+            'user_creation': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+        },
+        'datamaster_modeles.bureau': {
+            'Meta': {'object_name': 'Bureau', 'db_table': "u'ref_bureau'"},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'code': ('django.db.models.fields.CharField', [], {'max_length': '255', 'unique': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']", 'db_column': "'implantation'"}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_court': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'nom_long': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'region': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Region']", 'db_column': "'region'"})
+        },
+        'datamaster_modeles.implantation': {
+            'Meta': {'object_name': 'Implantation', 'db_table': "u'ref_implantation'"},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'adresse_physique_bureau': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'adresse_physique_code_postal': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+            'adresse_physique_code_postal_avant_ville': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+            'adresse_physique_no': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+            'adresse_physique_pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'impl_adresse_physique'", 'to_field': "'code'", 'db_column': "'adresse_physique_pays'", 'to': "orm['datamaster_modeles.Pays']"}),
+            'adresse_physique_precision': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'adresse_physique_precision_avant': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'adresse_physique_region': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'adresse_physique_rue': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'adresse_physique_ville': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'adresse_postale_boite_postale': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_bureau': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_code_postal': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_code_postal_avant_ville': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+            'adresse_postale_no': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'impl_adresse_postale'", 'to_field': "'code'", 'db_column': "'adresse_postale_pays'", 'to': "orm['datamaster_modeles.Pays']"}),
+            'adresse_postale_precision': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_precision_avant': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_region': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_rue': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_ville': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'bureau_rattachement': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']", 'db_column': "'bureau_rattachement'"}),
+            'code': ('django.db.models.fields.CharField', [], {'max_length': '255', 'unique': 'True'}),
+            'code_meteo': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'commentaire': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'courriel': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+            'courriel_interne': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+            'date_extension': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_fermeture': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_inauguration': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_ouverture': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'fax': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'fax_interne': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'fuseau_horaire': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'hebergement_convention': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+            'hebergement_convention_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'hebergement_etablissement': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'modif_date': ('django.db.models.fields.DateField', [], {}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_court': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'nom_long': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'region': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Region']", 'db_column': "'region'"}),
+            'remarque': ('django.db.models.fields.TextField', [], {}),
+            'responsable_implantation': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+            'statut': ('django.db.models.fields.IntegerField', [], {}),
+            'telephone': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'telephone_interne': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'url': ('django.db.models.fields.URLField', [], {'max_length': '255', 'blank': 'True'})
+        },
+        'datamaster_modeles.pays': {
+            'Meta': {'object_name': 'Pays', 'db_table': "u'ref_pays'"},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'code': ('django.db.models.fields.CharField', [], {'max_length': '2', 'unique': 'True'}),
+            'code_bureau': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Bureau']", 'to_field': "'code'", 'db_column': "'code_bureau'"}),
+            'code_iso3': ('django.db.models.fields.CharField', [], {'max_length': '3', 'unique': 'True', 'blank': 'True'}),
+            'developpement': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'monnaie': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nord_sud': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'region': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Region']", 'db_column': "'region'"})
+        },
+        'datamaster_modeles.region': {
+            'Meta': {'object_name': 'Region', 'db_table': "u'ref_region'"},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'code': ('django.db.models.fields.CharField', [], {'max_length': '255', 'unique': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'implantation_bureau': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'gere_region'", 'db_column': "'implantation_bureau'", 'to': "orm['datamaster_modeles.Implantation']"}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.classement': {
+            'Meta': {'object_name': 'Classement'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'coefficient': ('django.db.models.fields.FloatField', [], {}),
+            'commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'degre': ('django.db.models.fields.IntegerField', [], {}),
+            'echelon': ('django.db.models.fields.IntegerField', [], {}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '10'})
+        },
+        'rh_v1.devise': {
+            'Meta': {'object_name': 'Devise'},
+            'code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'unique': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.employe': {
+            'Meta': {'object_name': 'Employe'},
+            'adresse': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'code_postal': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'date_creation': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'date_entree': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_maj': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'date_naissance': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'genre': ('django.db.models.fields.CharField', [], {'max_length': '1', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nationalite': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'nationalite'", 'to_field': "'code'", 'db_column': "'nationalite'", 'to': "orm['datamaster_modeles.Pays']"}),
+            'no_rue': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'pays'", 'db_column': "'pays'", 'to_field': "'code'", 'to': "orm['datamaster_modeles.Pays']", 'blank': 'True', 'null': 'True'}),
+            'prenom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'province': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'situation_famille': ('django.db.models.fields.CharField', [], {'max_length': '1', 'null': 'True', 'blank': 'True'}),
+            'tel_cellulaire': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'tel_domicile': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'ville': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
+        },
+        'rh_v1.familleemploi': {
+            'Meta': {'object_name': 'FamilleEmploi'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.organismebstg': {
+            'Meta': {'object_name': 'OrganismeBstg'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '10'})
+        },
+        'rh_v1.poste': {
+            'Meta': {'object_name': 'Poste'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'implantation'", 'to': "orm['datamaster_modeles.Implantation']"}),
+            'proportion': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
+            'type_poste': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['rh_v1.TypePoste']", 'db_column': "'type_poste'"})
+        },
+        'rh_v1.service': {
+            'Meta': {'object_name': 'Service'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.statut': {
+            'Meta': {'object_name': 'Statut'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'code': ('django.db.models.fields.CharField', [], {'max_length': '25', 'unique': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'type_contrat_categorie': ('django.db.models.fields.CharField', [], {'max_length': '10'})
+        },
+        'rh_v1.typecontrat': {
+            'Meta': {'object_name': 'TypeContrat'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'categorie': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_long': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.typeposte': {
+            'Meta': {'object_name': 'TypePoste'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'famille_emploi': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['rh_v1.FamilleEmploi']", 'db_column': "'famille_emploi'"}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'is_responsable': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_feminin': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.typeremuneration': {
+            'Meta': {'object_name': 'TypeRemuneration'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nature_remuneration': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'type_paiement': ('django.db.models.fields.CharField', [], {'max_length': '30'})
+        },
+        'rh_v1.valeurpoint': {
+            'Meta': {'object_name': 'ValeurPoint'},
+            'annee': ('django.db.models.fields.IntegerField', [], {}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']", 'db_column': "'implantation'"}),
+            'valeur': ('django.db.models.fields.FloatField', [], {})
+        },
+        'workflow.workflowcommentaire': {
+            'Meta': {'object_name': 'WorkflowCommentaire'},
+            'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+            'date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'etat_final': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'etat_initial': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}),
+            'owner': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}),
+            'texte': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
+        }
+    }
+    
+    complete_apps = ['dae']
diff --git a/project/dae/migrations/0031_auto__add_field_dossiercomparaison_montant_euros.py b/project/dae/migrations/0031_auto__add_field_dossiercomparaison_montant_euros.py
new file mode 100644 (file)
index 0000000..b24e016
--- /dev/null
@@ -0,0 +1,413 @@
+# encoding: utf-8
+import datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+class Migration(SchemaMigration):
+    
+    def forwards(self, orm):
+        
+        # Adding field 'DossierComparaison.montant_euros'
+        db.add_column('dae_dossiercomparaison', 'montant_euros', self.gf('django.db.models.fields.DecimalField')(null=True, max_digits=12, decimal_places=2), keep_default=False)
+    
+    
+    def backwards(self, orm):
+        
+        # Deleting field 'DossierComparaison.montant_euros'
+        db.delete_column('dae_dossiercomparaison', 'montant_euros')
+    
+    
+    models = {
+        'auth.group': {
+            'Meta': {'object_name': 'Group'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '80', 'unique': 'True'}),
+            'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
+        },
+        'auth.permission': {
+            'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
+            'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
+        },
+        'auth.user': {
+            'Meta': {'object_name': 'User'},
+            'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+            'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
+            'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+            'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+            'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
+            'username': ('django.db.models.fields.CharField', [], {'max_length': '30', 'unique': 'True'})
+        },
+        'contenttypes.contenttype': {
+            'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
+            'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+        },
+        'dae.dossier': {
+            'Meta': {'object_name': 'Dossier'},
+            'classement': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Classement']"}),
+            'classement_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Classement']"}),
+            'classement_titulaire_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Classement']"}),
+            'compte_compta': ('django.db.models.fields.CharField', [], {'default': "'aucun'", 'max_length': '10'}),
+            'compte_courriel': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'contrat_date_debut': ('django.db.models.fields.DateField', [], {}),
+            'contrat_date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_creation': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'devise': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
+            'employe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['dae.Employe']"}),
+            'employe_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Employe']"}),
+            'etat': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '20', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'organisme_bstg': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.OrganismeBstg']"}),
+            'organisme_bstg_autre': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['dae.Poste']"}),
+            'regime_travail': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
+            'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
+            'remplacement': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'salaire': ('django.db.models.fields.DecimalField', [], {'default': 'None', 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'salaire_anterieur': ('django.db.models.fields.DecimalField', [], {'default': 'None', 'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'salaire_titulaire_anterieur': ('django.db.models.fields.DecimalField', [], {'default': 'None', 'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'statut': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Statut']"}),
+            'statut_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Statut']"}),
+            'statut_residence': ('django.db.models.fields.CharField', [], {'default': "'local'", 'max_length': '10'}),
+            'statut_titulaire_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Statut']"}),
+            'type_contrat': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.TypeContrat']"})
+        },
+        'dae.dossiercomparaison': {
+            'Meta': {'object_name': 'DossierComparaison'},
+            'devise': ('django.db.models.fields.CharField', [], {'max_length': '3', 'null': 'True', 'blank': 'True'}),
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Dossier']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'montant': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'montant_euros': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'personne': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'poste': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
+        },
+        'dae.dossierpiece': {
+            'Meta': {'object_name': 'DossierPiece'},
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Dossier']"}),
+            'fichier': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'dae.employe': {
+            'Meta': {'object_name': 'Employe'},
+            'genre': ('django.db.models.fields.CharField', [], {'max_length': '1', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'id_rh': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.Employe']"}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'prenom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'dae.justificationautreemploye': {
+            'Meta': {'object_name': 'JustificationAutreEmploye'},
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Dossier']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.JustificationQuestion']"}),
+            'reponse': ('django.db.models.fields.TextField', [], {})
+        },
+        'dae.justificationnouvelemploye': {
+            'Meta': {'object_name': 'JustificationNouvelEmploye'},
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Dossier']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.JustificationQuestion']"}),
+            'reponse': ('django.db.models.fields.TextField', [], {})
+        },
+        'dae.justificationquestion': {
+            'Meta': {'object_name': 'JustificationQuestion'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'question': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'dae.poste': {
+            'Meta': {'object_name': 'Poste'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
+            'appel': ('django.db.models.fields.CharField', [], {'default': "'interne'", 'max_length': '10'}),
+            'autre_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'autre_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'classement_max': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Classement']"}),
+            'classement_min': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Classement']"}),
+            'comp_autre_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_autre_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_fonctionpub_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_fonctionpub_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_locale_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_locale_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_ong_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_ong_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_universite_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_universite_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'date_creation': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'date_debut': ('django.db.models.fields.DateField', [], {}),
+            'date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'devise_comparaison': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
+            'devise_max': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
+            'devise_min': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
+            'etat': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '20', 'null': 'True', 'blank': 'True'}),
+            'expatrie': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'id_rh': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.Poste']"}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']"}),
+            'indemn_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'indemn_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'justification': ('django.db.models.fields.TextField', [], {}),
+            'local': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
+            'mise_a_disposition': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'regime_travail': ('django.db.models.fields.DecimalField', [], {'default': '100', 'max_digits': '12', 'decimal_places': '2'}),
+            'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'default': '35', 'max_digits': '12', 'decimal_places': '2'}),
+            'responsable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Poste']"}),
+            'salaire_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'salaire_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'service': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Service']"}),
+            'type_poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.TypePoste']"}),
+            'valeur_point_max': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.ValeurPoint']"}),
+            'valeur_point_min': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.ValeurPoint']"})
+        },
+        'dae.postefinancement': {
+            'Meta': {'object_name': 'PosteFinancement'},
+            'commentaire': ('django.db.models.fields.TextField', [], {}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'financements'", 'to': "orm['dae.Poste']"}),
+            'pourcentage': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '1'})
+        },
+        'dae.postepiece': {
+            'Meta': {'object_name': 'PostePiece'},
+            'fichier': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'poste': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Poste']"})
+        },
+        'dae.remuneration': {
+            'Meta': {'object_name': 'Remuneration'},
+            'date_creation': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'devise': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to_field': "'code'", 'db_column': "'devise'", 'to': "orm['rh_v1.Devise']"}),
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Dossier']", 'db_column': "'dossier'"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'montant': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'precision': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'type'", 'to': "orm['rh_v1.TypeRemuneration']"}),
+            'user_creation': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+        },
+        'datamaster_modeles.bureau': {
+            'Meta': {'object_name': 'Bureau', 'db_table': "u'ref_bureau'"},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'code': ('django.db.models.fields.CharField', [], {'max_length': '255', 'unique': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']", 'db_column': "'implantation'"}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_court': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'nom_long': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'region': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Region']", 'db_column': "'region'"})
+        },
+        'datamaster_modeles.implantation': {
+            'Meta': {'object_name': 'Implantation', 'db_table': "u'ref_implantation'"},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'adresse_physique_bureau': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'adresse_physique_code_postal': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+            'adresse_physique_code_postal_avant_ville': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+            'adresse_physique_no': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+            'adresse_physique_pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'impl_adresse_physique'", 'to_field': "'code'", 'db_column': "'adresse_physique_pays'", 'to': "orm['datamaster_modeles.Pays']"}),
+            'adresse_physique_precision': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'adresse_physique_precision_avant': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'adresse_physique_region': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'adresse_physique_rue': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'adresse_physique_ville': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'adresse_postale_boite_postale': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_bureau': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_code_postal': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_code_postal_avant_ville': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+            'adresse_postale_no': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'impl_adresse_postale'", 'to_field': "'code'", 'db_column': "'adresse_postale_pays'", 'to': "orm['datamaster_modeles.Pays']"}),
+            'adresse_postale_precision': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_precision_avant': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_region': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_rue': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_ville': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'bureau_rattachement': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']", 'db_column': "'bureau_rattachement'"}),
+            'code': ('django.db.models.fields.CharField', [], {'max_length': '255', 'unique': 'True'}),
+            'code_meteo': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'commentaire': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'courriel': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+            'courriel_interne': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+            'date_extension': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_fermeture': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_inauguration': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_ouverture': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'fax': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'fax_interne': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'fuseau_horaire': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'hebergement_convention': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+            'hebergement_convention_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'hebergement_etablissement': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'modif_date': ('django.db.models.fields.DateField', [], {}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_court': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'nom_long': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'region': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Region']", 'db_column': "'region'"}),
+            'remarque': ('django.db.models.fields.TextField', [], {}),
+            'responsable_implantation': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+            'statut': ('django.db.models.fields.IntegerField', [], {}),
+            'telephone': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'telephone_interne': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'url': ('django.db.models.fields.URLField', [], {'max_length': '255', 'blank': 'True'})
+        },
+        'datamaster_modeles.pays': {
+            'Meta': {'object_name': 'Pays', 'db_table': "u'ref_pays'"},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'code': ('django.db.models.fields.CharField', [], {'max_length': '2', 'unique': 'True'}),
+            'code_bureau': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Bureau']", 'to_field': "'code'", 'db_column': "'code_bureau'"}),
+            'code_iso3': ('django.db.models.fields.CharField', [], {'max_length': '3', 'unique': 'True', 'blank': 'True'}),
+            'developpement': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'monnaie': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nord_sud': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'region': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Region']", 'db_column': "'region'"})
+        },
+        'datamaster_modeles.region': {
+            'Meta': {'object_name': 'Region', 'db_table': "u'ref_region'"},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'code': ('django.db.models.fields.CharField', [], {'max_length': '255', 'unique': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'implantation_bureau': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'gere_region'", 'db_column': "'implantation_bureau'", 'to': "orm['datamaster_modeles.Implantation']"}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.classement': {
+            'Meta': {'object_name': 'Classement'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'coefficient': ('django.db.models.fields.FloatField', [], {}),
+            'commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'degre': ('django.db.models.fields.IntegerField', [], {}),
+            'echelon': ('django.db.models.fields.IntegerField', [], {}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '10'})
+        },
+        'rh_v1.devise': {
+            'Meta': {'object_name': 'Devise'},
+            'code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'unique': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.employe': {
+            'Meta': {'object_name': 'Employe'},
+            'adresse': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'code_postal': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'date_creation': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'date_entree': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_maj': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'date_naissance': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'genre': ('django.db.models.fields.CharField', [], {'max_length': '1', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nationalite': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'nationalite'", 'to_field': "'code'", 'db_column': "'nationalite'", 'to': "orm['datamaster_modeles.Pays']"}),
+            'no_rue': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'pays'", 'db_column': "'pays'", 'to_field': "'code'", 'to': "orm['datamaster_modeles.Pays']", 'blank': 'True', 'null': 'True'}),
+            'prenom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'province': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'situation_famille': ('django.db.models.fields.CharField', [], {'max_length': '1', 'null': 'True', 'blank': 'True'}),
+            'tel_cellulaire': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'tel_domicile': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'ville': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
+        },
+        'rh_v1.familleemploi': {
+            'Meta': {'object_name': 'FamilleEmploi'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.organismebstg': {
+            'Meta': {'object_name': 'OrganismeBstg'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '10'})
+        },
+        'rh_v1.poste': {
+            'Meta': {'object_name': 'Poste'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'implantation'", 'to': "orm['datamaster_modeles.Implantation']"}),
+            'proportion': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
+            'type_poste': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['rh_v1.TypePoste']", 'db_column': "'type_poste'"})
+        },
+        'rh_v1.service': {
+            'Meta': {'object_name': 'Service'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.statut': {
+            'Meta': {'object_name': 'Statut'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'code': ('django.db.models.fields.CharField', [], {'max_length': '25', 'unique': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'type_contrat_categorie': ('django.db.models.fields.CharField', [], {'max_length': '10'})
+        },
+        'rh_v1.typecontrat': {
+            'Meta': {'object_name': 'TypeContrat'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'categorie': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_long': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.typeposte': {
+            'Meta': {'object_name': 'TypePoste'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'famille_emploi': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['rh_v1.FamilleEmploi']", 'db_column': "'famille_emploi'"}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'is_responsable': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_feminin': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.typeremuneration': {
+            'Meta': {'object_name': 'TypeRemuneration'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nature_remuneration': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'type_paiement': ('django.db.models.fields.CharField', [], {'max_length': '30'})
+        },
+        'rh_v1.valeurpoint': {
+            'Meta': {'object_name': 'ValeurPoint'},
+            'annee': ('django.db.models.fields.IntegerField', [], {}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']", 'db_column': "'implantation'"}),
+            'valeur': ('django.db.models.fields.FloatField', [], {})
+        },
+        'workflow.workflowcommentaire': {
+            'Meta': {'object_name': 'WorkflowCommentaire'},
+            'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+            'date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'etat_final': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'etat_initial': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}),
+            'owner': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}),
+            'texte': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
+        }
+    }
+    
+    complete_apps = ['dae']
diff --git a/project/dae/migrations/0032_auto__add_field_dossiercomparaison_implantation.py b/project/dae/migrations/0032_auto__add_field_dossiercomparaison_implantation.py
new file mode 100644 (file)
index 0000000..767d6ac
--- /dev/null
@@ -0,0 +1,414 @@
+# encoding: utf-8
+import datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+class Migration(SchemaMigration):
+    
+    def forwards(self, orm):
+        
+        # Adding field 'DossierComparaison.implantation'
+        db.add_column('dae_dossiercomparaison', 'implantation', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['datamaster_modeles.Implantation'], null=True, blank=True), keep_default=False)
+    
+    
+    def backwards(self, orm):
+        
+        # Deleting field 'DossierComparaison.implantation'
+        db.delete_column('dae_dossiercomparaison', 'implantation_id')
+    
+    
+    models = {
+        'auth.group': {
+            'Meta': {'object_name': 'Group'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '80', 'unique': 'True'}),
+            'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
+        },
+        'auth.permission': {
+            'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
+            'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
+        },
+        'auth.user': {
+            'Meta': {'object_name': 'User'},
+            'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+            'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
+            'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+            'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+            'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
+            'username': ('django.db.models.fields.CharField', [], {'max_length': '30', 'unique': 'True'})
+        },
+        'contenttypes.contenttype': {
+            'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
+            'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+        },
+        'dae.dossier': {
+            'Meta': {'object_name': 'Dossier'},
+            'classement': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Classement']"}),
+            'classement_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Classement']"}),
+            'classement_titulaire_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Classement']"}),
+            'compte_compta': ('django.db.models.fields.CharField', [], {'default': "'aucun'", 'max_length': '10'}),
+            'compte_courriel': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'contrat_date_debut': ('django.db.models.fields.DateField', [], {}),
+            'contrat_date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_creation': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'devise': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
+            'employe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['dae.Employe']"}),
+            'employe_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Employe']"}),
+            'etat': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '20', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'organisme_bstg': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.OrganismeBstg']"}),
+            'organisme_bstg_autre': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['dae.Poste']"}),
+            'regime_travail': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
+            'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
+            'remplacement': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'salaire': ('django.db.models.fields.DecimalField', [], {'default': 'None', 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'salaire_anterieur': ('django.db.models.fields.DecimalField', [], {'default': 'None', 'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'salaire_titulaire_anterieur': ('django.db.models.fields.DecimalField', [], {'default': 'None', 'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'statut': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Statut']"}),
+            'statut_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Statut']"}),
+            'statut_residence': ('django.db.models.fields.CharField', [], {'default': "'local'", 'max_length': '10'}),
+            'statut_titulaire_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Statut']"}),
+            'type_contrat': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.TypeContrat']"})
+        },
+        'dae.dossiercomparaison': {
+            'Meta': {'object_name': 'DossierComparaison'},
+            'devise': ('django.db.models.fields.CharField', [], {'max_length': '3', 'null': 'True', 'blank': 'True'}),
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Dossier']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']", 'null': 'True', 'blank': 'True'}),
+            'montant': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'montant_euros': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'personne': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'poste': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
+        },
+        'dae.dossierpiece': {
+            'Meta': {'object_name': 'DossierPiece'},
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Dossier']"}),
+            'fichier': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'dae.employe': {
+            'Meta': {'object_name': 'Employe'},
+            'genre': ('django.db.models.fields.CharField', [], {'max_length': '1', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'id_rh': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.Employe']"}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'prenom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'dae.justificationautreemploye': {
+            'Meta': {'object_name': 'JustificationAutreEmploye'},
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Dossier']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.JustificationQuestion']"}),
+            'reponse': ('django.db.models.fields.TextField', [], {})
+        },
+        'dae.justificationnouvelemploye': {
+            'Meta': {'object_name': 'JustificationNouvelEmploye'},
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Dossier']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.JustificationQuestion']"}),
+            'reponse': ('django.db.models.fields.TextField', [], {})
+        },
+        'dae.justificationquestion': {
+            'Meta': {'object_name': 'JustificationQuestion'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'question': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'dae.poste': {
+            'Meta': {'object_name': 'Poste'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
+            'appel': ('django.db.models.fields.CharField', [], {'default': "'interne'", 'max_length': '10'}),
+            'autre_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'autre_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'classement_max': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Classement']"}),
+            'classement_min': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Classement']"}),
+            'comp_autre_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_autre_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_fonctionpub_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_fonctionpub_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_locale_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_locale_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_ong_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_ong_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_universite_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_universite_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'date_creation': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'date_debut': ('django.db.models.fields.DateField', [], {}),
+            'date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'devise_comparaison': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
+            'devise_max': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
+            'devise_min': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
+            'etat': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '20', 'null': 'True', 'blank': 'True'}),
+            'expatrie': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'id_rh': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.Poste']"}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']"}),
+            'indemn_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'indemn_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'justification': ('django.db.models.fields.TextField', [], {}),
+            'local': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
+            'mise_a_disposition': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'regime_travail': ('django.db.models.fields.DecimalField', [], {'default': '100', 'max_digits': '12', 'decimal_places': '2'}),
+            'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'default': '35', 'max_digits': '12', 'decimal_places': '2'}),
+            'responsable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Poste']"}),
+            'salaire_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'salaire_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'service': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Service']"}),
+            'type_poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.TypePoste']"}),
+            'valeur_point_max': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.ValeurPoint']"}),
+            'valeur_point_min': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.ValeurPoint']"})
+        },
+        'dae.postefinancement': {
+            'Meta': {'object_name': 'PosteFinancement'},
+            'commentaire': ('django.db.models.fields.TextField', [], {}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'financements'", 'to': "orm['dae.Poste']"}),
+            'pourcentage': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '1'})
+        },
+        'dae.postepiece': {
+            'Meta': {'object_name': 'PostePiece'},
+            'fichier': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'poste': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Poste']"})
+        },
+        'dae.remuneration': {
+            'Meta': {'object_name': 'Remuneration'},
+            'date_creation': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'devise': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to_field': "'code'", 'db_column': "'devise'", 'to': "orm['rh_v1.Devise']"}),
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Dossier']", 'db_column': "'dossier'"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'montant': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'precision': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'type'", 'to': "orm['rh_v1.TypeRemuneration']"}),
+            'user_creation': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+        },
+        'datamaster_modeles.bureau': {
+            'Meta': {'object_name': 'Bureau', 'db_table': "u'ref_bureau'"},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'code': ('django.db.models.fields.CharField', [], {'max_length': '255', 'unique': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']", 'db_column': "'implantation'"}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_court': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'nom_long': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'region': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Region']", 'db_column': "'region'"})
+        },
+        'datamaster_modeles.implantation': {
+            'Meta': {'object_name': 'Implantation', 'db_table': "u'ref_implantation'"},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'adresse_physique_bureau': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'adresse_physique_code_postal': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+            'adresse_physique_code_postal_avant_ville': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+            'adresse_physique_no': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+            'adresse_physique_pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'impl_adresse_physique'", 'to_field': "'code'", 'db_column': "'adresse_physique_pays'", 'to': "orm['datamaster_modeles.Pays']"}),
+            'adresse_physique_precision': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'adresse_physique_precision_avant': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'adresse_physique_region': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'adresse_physique_rue': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'adresse_physique_ville': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'adresse_postale_boite_postale': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_bureau': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_code_postal': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_code_postal_avant_ville': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+            'adresse_postale_no': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'impl_adresse_postale'", 'to_field': "'code'", 'db_column': "'adresse_postale_pays'", 'to': "orm['datamaster_modeles.Pays']"}),
+            'adresse_postale_precision': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_precision_avant': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_region': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_rue': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_ville': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'bureau_rattachement': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']", 'db_column': "'bureau_rattachement'"}),
+            'code': ('django.db.models.fields.CharField', [], {'max_length': '255', 'unique': 'True'}),
+            'code_meteo': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'commentaire': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'courriel': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+            'courriel_interne': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+            'date_extension': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_fermeture': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_inauguration': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_ouverture': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'fax': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'fax_interne': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'fuseau_horaire': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'hebergement_convention': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+            'hebergement_convention_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'hebergement_etablissement': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'modif_date': ('django.db.models.fields.DateField', [], {}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_court': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'nom_long': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'region': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Region']", 'db_column': "'region'"}),
+            'remarque': ('django.db.models.fields.TextField', [], {}),
+            'responsable_implantation': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+            'statut': ('django.db.models.fields.IntegerField', [], {}),
+            'telephone': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'telephone_interne': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'url': ('django.db.models.fields.URLField', [], {'max_length': '255', 'blank': 'True'})
+        },
+        'datamaster_modeles.pays': {
+            'Meta': {'object_name': 'Pays', 'db_table': "u'ref_pays'"},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'code': ('django.db.models.fields.CharField', [], {'max_length': '2', 'unique': 'True'}),
+            'code_bureau': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Bureau']", 'to_field': "'code'", 'db_column': "'code_bureau'"}),
+            'code_iso3': ('django.db.models.fields.CharField', [], {'max_length': '3', 'unique': 'True', 'blank': 'True'}),
+            'developpement': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'monnaie': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nord_sud': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'region': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Region']", 'db_column': "'region'"})
+        },
+        'datamaster_modeles.region': {
+            'Meta': {'object_name': 'Region', 'db_table': "u'ref_region'"},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'code': ('django.db.models.fields.CharField', [], {'max_length': '255', 'unique': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'implantation_bureau': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'gere_region'", 'db_column': "'implantation_bureau'", 'to': "orm['datamaster_modeles.Implantation']"}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.classement': {
+            'Meta': {'object_name': 'Classement'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'coefficient': ('django.db.models.fields.FloatField', [], {}),
+            'commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'degre': ('django.db.models.fields.IntegerField', [], {}),
+            'echelon': ('django.db.models.fields.IntegerField', [], {}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '10'})
+        },
+        'rh_v1.devise': {
+            'Meta': {'object_name': 'Devise'},
+            'code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'unique': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.employe': {
+            'Meta': {'object_name': 'Employe'},
+            'adresse': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'code_postal': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'date_creation': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'date_entree': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_maj': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'date_naissance': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'genre': ('django.db.models.fields.CharField', [], {'max_length': '1', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nationalite': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'nationalite'", 'to_field': "'code'", 'db_column': "'nationalite'", 'to': "orm['datamaster_modeles.Pays']"}),
+            'no_rue': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'pays'", 'db_column': "'pays'", 'to_field': "'code'", 'to': "orm['datamaster_modeles.Pays']", 'blank': 'True', 'null': 'True'}),
+            'prenom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'province': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'situation_famille': ('django.db.models.fields.CharField', [], {'max_length': '1', 'null': 'True', 'blank': 'True'}),
+            'tel_cellulaire': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'tel_domicile': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'ville': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
+        },
+        'rh_v1.familleemploi': {
+            'Meta': {'object_name': 'FamilleEmploi'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.organismebstg': {
+            'Meta': {'object_name': 'OrganismeBstg'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '10'})
+        },
+        'rh_v1.poste': {
+            'Meta': {'object_name': 'Poste'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'implantation'", 'to': "orm['datamaster_modeles.Implantation']"}),
+            'proportion': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
+            'type_poste': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['rh_v1.TypePoste']", 'db_column': "'type_poste'"})
+        },
+        'rh_v1.service': {
+            'Meta': {'object_name': 'Service'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.statut': {
+            'Meta': {'object_name': 'Statut'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'code': ('django.db.models.fields.CharField', [], {'max_length': '25', 'unique': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'type_contrat_categorie': ('django.db.models.fields.CharField', [], {'max_length': '10'})
+        },
+        'rh_v1.typecontrat': {
+            'Meta': {'object_name': 'TypeContrat'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'categorie': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_long': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.typeposte': {
+            'Meta': {'object_name': 'TypePoste'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'famille_emploi': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['rh_v1.FamilleEmploi']", 'db_column': "'famille_emploi'"}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'is_responsable': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_feminin': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.typeremuneration': {
+            'Meta': {'object_name': 'TypeRemuneration'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nature_remuneration': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'type_paiement': ('django.db.models.fields.CharField', [], {'max_length': '30'})
+        },
+        'rh_v1.valeurpoint': {
+            'Meta': {'object_name': 'ValeurPoint'},
+            'annee': ('django.db.models.fields.IntegerField', [], {}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']", 'db_column': "'implantation'"}),
+            'valeur': ('django.db.models.fields.FloatField', [], {})
+        },
+        'workflow.workflowcommentaire': {
+            'Meta': {'object_name': 'WorkflowCommentaire'},
+            'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+            'date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'etat_final': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'etat_initial': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}),
+            'owner': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}),
+            'texte': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
+        }
+    }
+    
+    complete_apps = ['dae']
diff --git a/project/dae/migrations/0033_auto__chg_field_dossiercomparaison_montant__chg_field_dossiercomparais.py b/project/dae/migrations/0033_auto__chg_field_dossiercomparaison_montant__chg_field_dossiercomparais.py
new file mode 100644 (file)
index 0000000..47c7f08
--- /dev/null
@@ -0,0 +1,426 @@
+# encoding: utf-8
+import datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+class Migration(SchemaMigration):
+    
+    def forwards(self, orm):
+        
+        # Changing field 'DossierComparaison.montant'
+        db.alter_column('dae_dossiercomparaison', 'montant', self.gf('django.db.models.fields.IntegerField')(null=True))
+
+        # Changing field 'DossierComparaison.devise'
+        db.alter_column('dae_dossiercomparaison', 'devise', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True))
+
+        # Changing field 'DossierComparaison.montant_euros'
+        db.alter_column('dae_dossiercomparaison', 'montant_euros', self.gf('django.db.models.fields.IntegerField')(null=True))
+    
+    
+    def backwards(self, orm):
+        
+        # Changing field 'DossierComparaison.montant'
+        db.alter_column('dae_dossiercomparaison', 'montant', self.gf('django.db.models.fields.DecimalField')(null=True, max_digits=12, decimal_places=2))
+
+        # Changing field 'DossierComparaison.devise'
+        db.alter_column('dae_dossiercomparaison', 'devise', self.gf('django.db.models.fields.CharField')(max_length=3, null=True, blank=True))
+
+        # Changing field 'DossierComparaison.montant_euros'
+        db.alter_column('dae_dossiercomparaison', 'montant_euros', self.gf('django.db.models.fields.DecimalField')(null=True, max_digits=12, decimal_places=2))
+    
+    
+    models = {
+        'auth.group': {
+            'Meta': {'object_name': 'Group'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '80', 'unique': 'True'}),
+            'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
+        },
+        'auth.permission': {
+            'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
+            'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
+        },
+        'auth.user': {
+            'Meta': {'object_name': 'User'},
+            'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+            'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
+            'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+            'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+            'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
+            'username': ('django.db.models.fields.CharField', [], {'max_length': '30', 'unique': 'True'})
+        },
+        'contenttypes.contenttype': {
+            'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
+            'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+        },
+        'dae.dossier': {
+            'Meta': {'object_name': 'Dossier'},
+            'classement': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Classement']"}),
+            'classement_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Classement']"}),
+            'classement_titulaire_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Classement']"}),
+            'compte_compta': ('django.db.models.fields.CharField', [], {'default': "'aucun'", 'max_length': '10'}),
+            'compte_courriel': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'contrat_date_debut': ('django.db.models.fields.DateField', [], {}),
+            'contrat_date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_creation': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'devise': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
+            'employe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['dae.Employe']"}),
+            'employe_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Employe']"}),
+            'etat': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '20', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'organisme_bstg': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.OrganismeBstg']"}),
+            'organisme_bstg_autre': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['dae.Poste']"}),
+            'regime_travail': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
+            'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
+            'remplacement': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'salaire': ('django.db.models.fields.DecimalField', [], {'default': 'None', 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'salaire_anterieur': ('django.db.models.fields.DecimalField', [], {'default': 'None', 'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'salaire_titulaire_anterieur': ('django.db.models.fields.DecimalField', [], {'default': 'None', 'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'statut': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Statut']"}),
+            'statut_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Statut']"}),
+            'statut_residence': ('django.db.models.fields.CharField', [], {'default': "'local'", 'max_length': '10'}),
+            'statut_titulaire_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Statut']"}),
+            'type_contrat': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.TypeContrat']"})
+        },
+        'dae.dossiercomparaison': {
+            'Meta': {'object_name': 'DossierComparaison'},
+            'devise': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comparaisons'", 'to': "orm['dae.Dossier']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']", 'null': 'True', 'blank': 'True'}),
+            'montant': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
+            'montant_euros': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
+            'personne': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'poste': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
+        },
+        'dae.dossierpiece': {
+            'Meta': {'object_name': 'DossierPiece'},
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Dossier']"}),
+            'fichier': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'dae.employe': {
+            'Meta': {'object_name': 'Employe'},
+            'genre': ('django.db.models.fields.CharField', [], {'max_length': '1', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'id_rh': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.Employe']"}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'prenom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'dae.justificationautreemploye': {
+            'Meta': {'object_name': 'JustificationAutreEmploye'},
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Dossier']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.JustificationQuestion']"}),
+            'reponse': ('django.db.models.fields.TextField', [], {})
+        },
+        'dae.justificationnouvelemploye': {
+            'Meta': {'object_name': 'JustificationNouvelEmploye'},
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Dossier']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.JustificationQuestion']"}),
+            'reponse': ('django.db.models.fields.TextField', [], {})
+        },
+        'dae.justificationquestion': {
+            'Meta': {'object_name': 'JustificationQuestion'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'question': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'dae.poste': {
+            'Meta': {'object_name': 'Poste'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
+            'appel': ('django.db.models.fields.CharField', [], {'default': "'interne'", 'max_length': '10'}),
+            'autre_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'autre_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'classement_max': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Classement']"}),
+            'classement_min': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Classement']"}),
+            'comp_autre_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_autre_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_fonctionpub_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_fonctionpub_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_locale_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_locale_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_ong_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_ong_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_universite_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_universite_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'date_creation': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'date_debut': ('django.db.models.fields.DateField', [], {}),
+            'date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'devise_comparaison': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
+            'devise_max': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
+            'devise_min': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
+            'etat': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '20', 'null': 'True', 'blank': 'True'}),
+            'expatrie': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'id_rh': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.Poste']"}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']"}),
+            'indemn_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'indemn_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'justification': ('django.db.models.fields.TextField', [], {}),
+            'local': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
+            'mise_a_disposition': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'regime_travail': ('django.db.models.fields.DecimalField', [], {'default': '100', 'max_digits': '12', 'decimal_places': '2'}),
+            'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'default': '35', 'max_digits': '12', 'decimal_places': '2'}),
+            'responsable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Poste']"}),
+            'salaire_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'salaire_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'service': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Service']"}),
+            'type_poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.TypePoste']"}),
+            'valeur_point_max': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.ValeurPoint']"}),
+            'valeur_point_min': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.ValeurPoint']"})
+        },
+        'dae.postefinancement': {
+            'Meta': {'object_name': 'PosteFinancement'},
+            'commentaire': ('django.db.models.fields.TextField', [], {}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'financements'", 'to': "orm['dae.Poste']"}),
+            'pourcentage': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '1'})
+        },
+        'dae.postepiece': {
+            'Meta': {'object_name': 'PostePiece'},
+            'fichier': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'poste': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Poste']"})
+        },
+        'dae.remuneration': {
+            'Meta': {'object_name': 'Remuneration'},
+            'date_creation': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'devise': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to_field': "'code'", 'db_column': "'devise'", 'to': "orm['rh_v1.Devise']"}),
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Dossier']", 'db_column': "'dossier'"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'montant': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'precision': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'type'", 'to': "orm['rh_v1.TypeRemuneration']"}),
+            'user_creation': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+        },
+        'datamaster_modeles.bureau': {
+            'Meta': {'object_name': 'Bureau', 'db_table': "u'ref_bureau'"},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'code': ('django.db.models.fields.CharField', [], {'max_length': '255', 'unique': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']", 'db_column': "'implantation'"}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_court': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'nom_long': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'region': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Region']", 'db_column': "'region'"})
+        },
+        'datamaster_modeles.implantation': {
+            'Meta': {'object_name': 'Implantation', 'db_table': "u'ref_implantation'"},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'adresse_physique_bureau': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'adresse_physique_code_postal': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+            'adresse_physique_code_postal_avant_ville': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+            'adresse_physique_no': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+            'adresse_physique_pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'impl_adresse_physique'", 'to_field': "'code'", 'db_column': "'adresse_physique_pays'", 'to': "orm['datamaster_modeles.Pays']"}),
+            'adresse_physique_precision': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'adresse_physique_precision_avant': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'adresse_physique_region': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'adresse_physique_rue': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'adresse_physique_ville': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'adresse_postale_boite_postale': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_bureau': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_code_postal': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_code_postal_avant_ville': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+            'adresse_postale_no': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'impl_adresse_postale'", 'to_field': "'code'", 'db_column': "'adresse_postale_pays'", 'to': "orm['datamaster_modeles.Pays']"}),
+            'adresse_postale_precision': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_precision_avant': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_region': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_rue': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_ville': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'bureau_rattachement': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']", 'db_column': "'bureau_rattachement'"}),
+            'code': ('django.db.models.fields.CharField', [], {'max_length': '255', 'unique': 'True'}),
+            'code_meteo': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'commentaire': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'courriel': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+            'courriel_interne': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+            'date_extension': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_fermeture': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_inauguration': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_ouverture': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'fax': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'fax_interne': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'fuseau_horaire': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'hebergement_convention': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+            'hebergement_convention_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'hebergement_etablissement': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'modif_date': ('django.db.models.fields.DateField', [], {}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_court': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'nom_long': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'region': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Region']", 'db_column': "'region'"}),
+            'remarque': ('django.db.models.fields.TextField', [], {}),
+            'responsable_implantation': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+            'statut': ('django.db.models.fields.IntegerField', [], {}),
+            'telephone': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'telephone_interne': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'url': ('django.db.models.fields.URLField', [], {'max_length': '255', 'blank': 'True'})
+        },
+        'datamaster_modeles.pays': {
+            'Meta': {'object_name': 'Pays', 'db_table': "u'ref_pays'"},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'code': ('django.db.models.fields.CharField', [], {'max_length': '2', 'unique': 'True'}),
+            'code_bureau': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Bureau']", 'to_field': "'code'", 'db_column': "'code_bureau'"}),
+            'code_iso3': ('django.db.models.fields.CharField', [], {'max_length': '3', 'unique': 'True', 'blank': 'True'}),
+            'developpement': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'monnaie': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nord_sud': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'region': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Region']", 'db_column': "'region'"})
+        },
+        'datamaster_modeles.region': {
+            'Meta': {'object_name': 'Region', 'db_table': "u'ref_region'"},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'code': ('django.db.models.fields.CharField', [], {'max_length': '255', 'unique': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'implantation_bureau': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'gere_region'", 'db_column': "'implantation_bureau'", 'to': "orm['datamaster_modeles.Implantation']"}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.classement': {
+            'Meta': {'object_name': 'Classement'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'coefficient': ('django.db.models.fields.FloatField', [], {}),
+            'commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'degre': ('django.db.models.fields.IntegerField', [], {}),
+            'echelon': ('django.db.models.fields.IntegerField', [], {}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '10'})
+        },
+        'rh_v1.devise': {
+            'Meta': {'object_name': 'Devise'},
+            'code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'unique': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.employe': {
+            'Meta': {'object_name': 'Employe'},
+            'adresse': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'code_postal': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'date_creation': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'date_entree': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_maj': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'date_naissance': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'genre': ('django.db.models.fields.CharField', [], {'max_length': '1', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nationalite': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'nationalite'", 'to_field': "'code'", 'db_column': "'nationalite'", 'to': "orm['datamaster_modeles.Pays']"}),
+            'no_rue': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'pays'", 'db_column': "'pays'", 'to_field': "'code'", 'to': "orm['datamaster_modeles.Pays']", 'blank': 'True', 'null': 'True'}),
+            'prenom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'province': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'situation_famille': ('django.db.models.fields.CharField', [], {'max_length': '1', 'null': 'True', 'blank': 'True'}),
+            'tel_cellulaire': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'tel_domicile': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'ville': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
+        },
+        'rh_v1.familleemploi': {
+            'Meta': {'object_name': 'FamilleEmploi'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.organismebstg': {
+            'Meta': {'object_name': 'OrganismeBstg'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '10'})
+        },
+        'rh_v1.poste': {
+            'Meta': {'object_name': 'Poste'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'implantation'", 'to': "orm['datamaster_modeles.Implantation']"}),
+            'proportion': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
+            'type_poste': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['rh_v1.TypePoste']", 'db_column': "'type_poste'"})
+        },
+        'rh_v1.service': {
+            'Meta': {'object_name': 'Service'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.statut': {
+            'Meta': {'object_name': 'Statut'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'code': ('django.db.models.fields.CharField', [], {'max_length': '25', 'unique': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'type_contrat_categorie': ('django.db.models.fields.CharField', [], {'max_length': '10'})
+        },
+        'rh_v1.typecontrat': {
+            'Meta': {'object_name': 'TypeContrat'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'categorie': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_long': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.typeposte': {
+            'Meta': {'object_name': 'TypePoste'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'famille_emploi': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['rh_v1.FamilleEmploi']", 'db_column': "'famille_emploi'"}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'is_responsable': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_feminin': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.typeremuneration': {
+            'Meta': {'object_name': 'TypeRemuneration'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nature_remuneration': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'type_paiement': ('django.db.models.fields.CharField', [], {'max_length': '30'})
+        },
+        'rh_v1.valeurpoint': {
+            'Meta': {'object_name': 'ValeurPoint'},
+            'annee': ('django.db.models.fields.IntegerField', [], {}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']", 'db_column': "'implantation'"}),
+            'valeur': ('django.db.models.fields.FloatField', [], {})
+        },
+        'workflow.workflowcommentaire': {
+            'Meta': {'object_name': 'WorkflowCommentaire'},
+            'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+            'date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'etat_final': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'etat_initial': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}),
+            'owner': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}),
+            'texte': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
+        }
+    }
+    
+    complete_apps = ['dae']
diff --git a/project/dae/migrations/0034_auto__chg_field_dossiercomparaison_devise.py b/project/dae/migrations/0034_auto__chg_field_dossiercomparaison_devise.py
new file mode 100644 (file)
index 0000000..3b9ff3f
--- /dev/null
@@ -0,0 +1,424 @@
+# encoding: utf-8
+import datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+class Migration(SchemaMigration):
+    
+    def forwards(self, orm):
+        
+        # Renaming column for 'DossierComparaison.devise' to match new field type.
+        db.rename_column('dae_dossiercomparaison', 'devise', 'devise_id')
+        # Changing field 'DossierComparaison.devise'
+        db.alter_column('dae_dossiercomparaison', 'devise_id', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, null=True, to=orm['rh_v1.Devise']))
+
+        # Adding index on 'DossierComparaison', fields ['devise']
+        db.create_index('dae_dossiercomparaison', ['devise_id'])
+    
+    
+    def backwards(self, orm):
+        
+        # Renaming column for 'DossierComparaison.devise' to match new field type.
+        db.rename_column('dae_dossiercomparaison', 'devise_id', 'devise')
+        # Changing field 'DossierComparaison.devise'
+        db.alter_column('dae_dossiercomparaison', 'devise', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True))
+
+        # Removing index on 'DossierComparaison', fields ['devise']
+        db.delete_index('dae_dossiercomparaison', ['devise_id'])
+    
+    
+    models = {
+        'auth.group': {
+            'Meta': {'object_name': 'Group'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '80', 'unique': 'True'}),
+            'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
+        },
+        'auth.permission': {
+            'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
+            'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
+        },
+        'auth.user': {
+            'Meta': {'object_name': 'User'},
+            'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+            'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
+            'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+            'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+            'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
+            'username': ('django.db.models.fields.CharField', [], {'max_length': '30', 'unique': 'True'})
+        },
+        'contenttypes.contenttype': {
+            'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
+            'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+        },
+        'dae.dossier': {
+            'Meta': {'object_name': 'Dossier'},
+            'classement': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Classement']"}),
+            'classement_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Classement']"}),
+            'classement_titulaire_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Classement']"}),
+            'compte_compta': ('django.db.models.fields.CharField', [], {'default': "'aucun'", 'max_length': '10'}),
+            'compte_courriel': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'contrat_date_debut': ('django.db.models.fields.DateField', [], {}),
+            'contrat_date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_creation': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'devise': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
+            'employe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['dae.Employe']"}),
+            'employe_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Employe']"}),
+            'etat': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '20', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'organisme_bstg': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.OrganismeBstg']"}),
+            'organisme_bstg_autre': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['dae.Poste']"}),
+            'regime_travail': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
+            'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
+            'remplacement': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'salaire': ('django.db.models.fields.DecimalField', [], {'default': 'None', 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'salaire_anterieur': ('django.db.models.fields.DecimalField', [], {'default': 'None', 'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'salaire_titulaire_anterieur': ('django.db.models.fields.DecimalField', [], {'default': 'None', 'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'statut': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Statut']"}),
+            'statut_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Statut']"}),
+            'statut_residence': ('django.db.models.fields.CharField', [], {'default': "'local'", 'max_length': '10'}),
+            'statut_titulaire_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Statut']"}),
+            'type_contrat': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.TypeContrat']"})
+        },
+        'dae.dossiercomparaison': {
+            'Meta': {'object_name': 'DossierComparaison'},
+            'devise': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Devise']"}),
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comparaisons'", 'to': "orm['dae.Dossier']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']", 'null': 'True', 'blank': 'True'}),
+            'montant': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
+            'montant_euros': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
+            'personne': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'poste': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
+        },
+        'dae.dossierpiece': {
+            'Meta': {'object_name': 'DossierPiece'},
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Dossier']"}),
+            'fichier': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'dae.employe': {
+            'Meta': {'object_name': 'Employe'},
+            'genre': ('django.db.models.fields.CharField', [], {'max_length': '1', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'id_rh': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.Employe']"}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'prenom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'dae.justificationautreemploye': {
+            'Meta': {'object_name': 'JustificationAutreEmploye'},
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Dossier']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.JustificationQuestion']"}),
+            'reponse': ('django.db.models.fields.TextField', [], {})
+        },
+        'dae.justificationnouvelemploye': {
+            'Meta': {'object_name': 'JustificationNouvelEmploye'},
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Dossier']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'question': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.JustificationQuestion']"}),
+            'reponse': ('django.db.models.fields.TextField', [], {})
+        },
+        'dae.justificationquestion': {
+            'Meta': {'object_name': 'JustificationQuestion'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'question': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'dae.poste': {
+            'Meta': {'object_name': 'Poste'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
+            'appel': ('django.db.models.fields.CharField', [], {'default': "'interne'", 'max_length': '10'}),
+            'autre_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'autre_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'classement_max': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Classement']"}),
+            'classement_min': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Classement']"}),
+            'comp_autre_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_autre_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_fonctionpub_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_fonctionpub_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_locale_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_locale_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_ong_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_ong_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_universite_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_universite_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'date_creation': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'date_debut': ('django.db.models.fields.DateField', [], {}),
+            'date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'devise_comparaison': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
+            'devise_max': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
+            'devise_min': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
+            'etat': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '20', 'null': 'True', 'blank': 'True'}),
+            'expatrie': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'id_rh': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.Poste']"}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']"}),
+            'indemn_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'indemn_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'justification': ('django.db.models.fields.TextField', [], {}),
+            'local': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
+            'mise_a_disposition': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'regime_travail': ('django.db.models.fields.DecimalField', [], {'default': '100', 'max_digits': '12', 'decimal_places': '2'}),
+            'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'default': '35', 'max_digits': '12', 'decimal_places': '2'}),
+            'responsable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Poste']"}),
+            'salaire_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'salaire_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'service': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Service']"}),
+            'type_poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.TypePoste']"}),
+            'valeur_point_max': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.ValeurPoint']"}),
+            'valeur_point_min': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.ValeurPoint']"})
+        },
+        'dae.postefinancement': {
+            'Meta': {'object_name': 'PosteFinancement'},
+            'commentaire': ('django.db.models.fields.TextField', [], {}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'financements'", 'to': "orm['dae.Poste']"}),
+            'pourcentage': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '1'})
+        },
+        'dae.postepiece': {
+            'Meta': {'object_name': 'PostePiece'},
+            'fichier': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'poste': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Poste']"})
+        },
+        'dae.remuneration': {
+            'Meta': {'object_name': 'Remuneration'},
+            'date_creation': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'devise': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to_field': "'code'", 'db_column': "'devise'", 'to': "orm['rh_v1.Devise']"}),
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Dossier']", 'db_column': "'dossier'"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'montant': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'precision': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'type'", 'to': "orm['rh_v1.TypeRemuneration']"}),
+            'user_creation': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+        },
+        'datamaster_modeles.bureau': {
+            'Meta': {'object_name': 'Bureau', 'db_table': "u'ref_bureau'"},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'code': ('django.db.models.fields.CharField', [], {'max_length': '255', 'unique': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']", 'db_column': "'implantation'"}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_court': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'nom_long': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'region': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Region']", 'db_column': "'region'"})
+        },
+        'datamaster_modeles.implantation': {
+            'Meta': {'object_name': 'Implantation', 'db_table': "u'ref_implantation'"},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'adresse_physique_bureau': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'adresse_physique_code_postal': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+            'adresse_physique_code_postal_avant_ville': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+            'adresse_physique_no': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+            'adresse_physique_pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'impl_adresse_physique'", 'to_field': "'code'", 'db_column': "'adresse_physique_pays'", 'to': "orm['datamaster_modeles.Pays']"}),
+            'adresse_physique_precision': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'adresse_physique_precision_avant': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'adresse_physique_region': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'adresse_physique_rue': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'adresse_physique_ville': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'adresse_postale_boite_postale': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_bureau': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_code_postal': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_code_postal_avant_ville': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+            'adresse_postale_no': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'impl_adresse_postale'", 'to_field': "'code'", 'db_column': "'adresse_postale_pays'", 'to': "orm['datamaster_modeles.Pays']"}),
+            'adresse_postale_precision': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_precision_avant': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_region': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_rue': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_ville': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'bureau_rattachement': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']", 'db_column': "'bureau_rattachement'"}),
+            'code': ('django.db.models.fields.CharField', [], {'max_length': '255', 'unique': 'True'}),
+            'code_meteo': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'commentaire': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'courriel': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+            'courriel_interne': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+            'date_extension': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_fermeture': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_inauguration': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_ouverture': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'fax': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'fax_interne': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'fuseau_horaire': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'hebergement_convention': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+            'hebergement_convention_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'hebergement_etablissement': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'modif_date': ('django.db.models.fields.DateField', [], {}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_court': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'nom_long': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'region': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Region']", 'db_column': "'region'"}),
+            'remarque': ('django.db.models.fields.TextField', [], {}),
+            'responsable_implantation': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+            'statut': ('django.db.models.fields.IntegerField', [], {}),
+            'telephone': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'telephone_interne': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'url': ('django.db.models.fields.URLField', [], {'max_length': '255', 'blank': 'True'})
+        },
+        'datamaster_modeles.pays': {
+            'Meta': {'object_name': 'Pays', 'db_table': "u'ref_pays'"},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'code': ('django.db.models.fields.CharField', [], {'max_length': '2', 'unique': 'True'}),
+            'code_bureau': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Bureau']", 'to_field': "'code'", 'db_column': "'code_bureau'"}),
+            'code_iso3': ('django.db.models.fields.CharField', [], {'max_length': '3', 'unique': 'True', 'blank': 'True'}),
+            'developpement': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'monnaie': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nord_sud': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'region': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Region']", 'db_column': "'region'"})
+        },
+        'datamaster_modeles.region': {
+            'Meta': {'object_name': 'Region', 'db_table': "u'ref_region'"},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'code': ('django.db.models.fields.CharField', [], {'max_length': '255', 'unique': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'implantation_bureau': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'gere_region'", 'db_column': "'implantation_bureau'", 'to': "orm['datamaster_modeles.Implantation']"}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.classement': {
+            'Meta': {'object_name': 'Classement'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'coefficient': ('django.db.models.fields.FloatField', [], {}),
+            'commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'degre': ('django.db.models.fields.IntegerField', [], {}),
+            'echelon': ('django.db.models.fields.IntegerField', [], {}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '10'})
+        },
+        'rh_v1.devise': {
+            'Meta': {'object_name': 'Devise'},
+            'code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'unique': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.employe': {
+            'Meta': {'object_name': 'Employe'},
+            'adresse': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'code_postal': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'date_creation': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'date_entree': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_maj': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'date_naissance': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'genre': ('django.db.models.fields.CharField', [], {'max_length': '1', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nationalite': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'nationalite'", 'to_field': "'code'", 'db_column': "'nationalite'", 'to': "orm['datamaster_modeles.Pays']"}),
+            'no_rue': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'pays'", 'db_column': "'pays'", 'to_field': "'code'", 'to': "orm['datamaster_modeles.Pays']", 'blank': 'True', 'null': 'True'}),
+            'prenom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'province': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'situation_famille': ('django.db.models.fields.CharField', [], {'max_length': '1', 'null': 'True', 'blank': 'True'}),
+            'tel_cellulaire': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'tel_domicile': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'ville': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
+        },
+        'rh_v1.familleemploi': {
+            'Meta': {'object_name': 'FamilleEmploi'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.organismebstg': {
+            'Meta': {'object_name': 'OrganismeBstg'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '10'})
+        },
+        'rh_v1.poste': {
+            'Meta': {'object_name': 'Poste'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'implantation'", 'to': "orm['datamaster_modeles.Implantation']"}),
+            'proportion': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
+            'type_poste': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['rh_v1.TypePoste']", 'db_column': "'type_poste'"})
+        },
+        'rh_v1.service': {
+            'Meta': {'object_name': 'Service'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.statut': {
+            'Meta': {'object_name': 'Statut'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'code': ('django.db.models.fields.CharField', [], {'max_length': '25', 'unique': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'type_contrat_categorie': ('django.db.models.fields.CharField', [], {'max_length': '10'})
+        },
+        'rh_v1.typecontrat': {
+            'Meta': {'object_name': 'TypeContrat'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'categorie': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_long': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.typeposte': {
+            'Meta': {'object_name': 'TypePoste'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'famille_emploi': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['rh_v1.FamilleEmploi']", 'db_column': "'famille_emploi'"}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'is_responsable': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_feminin': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.typeremuneration': {
+            'Meta': {'object_name': 'TypeRemuneration'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nature_remuneration': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'type_paiement': ('django.db.models.fields.CharField', [], {'max_length': '30'})
+        },
+        'rh_v1.valeurpoint': {
+            'Meta': {'object_name': 'ValeurPoint'},
+            'annee': ('django.db.models.fields.IntegerField', [], {}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']", 'db_column': "'implantation'"}),
+            'valeur': ('django.db.models.fields.FloatField', [], {})
+        },
+        'workflow.workflowcommentaire': {
+            'Meta': {'object_name': 'WorkflowCommentaire'},
+            'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+            'date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'etat_final': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'etat_initial': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}),
+            'owner': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}),
+            'texte': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
+        }
+    }
+    
+    complete_apps = ['dae']
index faa212e..5752fe5 100644 (file)
@@ -1,13 +1,14 @@
 # -=- encoding: utf-8 -=-
 
 import os
+from django.conf import settings
 from django.core.files.storage import FileSystemStorage
 from django.db import models
 import reversion
-from workflow import PosteWorkflow
+from workflow import PosteWorkflow, DossierWorkflow
+from managers import DossierManager, PosteManager
 import datamaster_modeles.models as ref
 from rh_v1 import models as rh
-import settings
 
 
 # Constantes
@@ -36,25 +37,6 @@ POSTE_APPEL_CHOICES = (
     ('externe', 'Externe'),
 )
 
-class PosteManager(models.Manager):
-    """
-    Chargement de tous les objets FK existants sur chaque QuerySet.
-    """
-    def get_query_set(self):
-        fkeys = (
-            'id_rh',
-            'responsable',
-            'implantation',
-            'type_poste',
-            'service',
-            'classement_min',
-            'classement_max',
-            'valeur_point_min',
-            'valeur_point_max',
-        )
-        return super(PosteManager, self).get_query_set() \
-                                        .select_related(*fkeys).all()
-
 
 class Poste(PosteWorkflow, models.Model):
     # Modèle existant
@@ -139,19 +121,6 @@ class Poste(PosteWorkflow, models.Model):
     # Justification
     justification = models.TextField()
 
-    # Validations
-    validation_bureau_regional = models.BooleanField(
-                            verbose_name="Validation bureau régional")
-    validation_bureau_regional_date = models.DateField(blank=True, null=True)
-    validation_drh = models.BooleanField(verbose_name="Validation DRH")
-    validation_drh_date = models.DateField(blank=True, null=True)
-    validation_secretaire_general = models.BooleanField(
-                            verbose_name="Validation secrétaire général")
-    validation_secretaire_general_date = models.DateField(blank=True, 
-                            null=True)
-    validation_recteur = models.BooleanField(verbose_name="Validation recteur")
-    validation_recteur_date = models.DateField(blank=True, null=True)
-
     # Méta
     date_creation = models.DateTimeField(auto_now_add=True)
     date_modification = models.DateTimeField(auto_now=True)
@@ -223,6 +192,95 @@ class Poste(PosteWorkflow, models.Model):
             implantation_devise = 5 # EUR
         return implantation_devise
 
+    #####################
+    # Classement de poste
+    #####################
+
+    def get_couts_minimum(self):
+        return (float)(self.salaire_min + self.indemn_min + self.autre_min)
+
+    def get_taux_minimum(self):
+        try:
+            return rh.TauxChange.objects.filter(implantation=self.implantation, devise=self.devise_min)[0].taux
+        except:
+            return 1
+
+    def get_couts_minimum_euros(self):
+        return self.get_couts_minimum() * self.get_taux_minimum()
+
+    def get_couts_maximum(self):
+        return (float)(self.salaire_max + self.indemn_max + self.autre_max)
+
+    def get_taux_maximum(self):
+        try:
+            return rh.TauxChange.objects.filter(implantation=self.implantation, devise=self.devise_max)[0].taux
+        except:
+            return 1
+
+    def get_couts_maximum_euros(self):
+        return self.get_couts_maximum() * self.get_taux_maximum()
+
+    ######################
+    # Comparaison de poste
+    ######################
+
+    def est_comparable(self):
+        """
+        Si on a au moins une valeur de saisie dans les comparaisons, alors le poste
+        est comparable.
+        """
+        if self.comp_universite_min is None and \
+           self.comp_fonctionpub_min is None and \
+           self.comp_locale_min is None and \
+           self.comp_ong_min is None and \
+           self.comp_autre_min is None and \
+           self.comp_universite_max is None and \
+           self.comp_fonctionpub_max is None and \
+           self.comp_locale_max is None and \
+           self.comp_ong_max is None and \
+           self.comp_autre_max is None:
+            return False
+        else:
+            return True
+    
+
+    def get_taux_comparaison(self):
+        try:
+            return rh.TauxChange.objects.filter(implantation=self.implantation, devise=self.devise_comparaison)[0].taux
+        except:
+            return 1
+
+    def get_comp_universite_min_euros(self):
+        return (float)(self.comp_universite_min) * self.get_taux_comparaison()
+
+    def get_comp_fonctionpub_min_euros(self):
+        return (float)(self.comp_fonctionpub_min) * self.get_taux_comparaison()
+
+    def get_comp_locale_min_euros(self):
+        return (float)(self.comp_locale_min) * self.get_taux_comparaison()
+
+    def get_comp_ong_min_euros(self):
+        return (float)(self.comp_ong_min) * self.get_taux_comparaison()
+
+    def get_comp_autre_min_euros(self):
+        return (float)(self.comp_autre_min) * self.get_taux_comparaison()
+
+    def get_comp_universite_max_euros(self):
+        return (float)(self.comp_universite_max) * self.get_taux_comparaison()
+
+    def get_comp_fonctionpub_max_euros(self):
+        return (float)(self.comp_fonctionpub_max) * self.get_taux_comparaison()
+
+    def get_comp_locale_max_euros(self):
+        return (float)(self.comp_locale_max) * self.get_taux_comparaison()
+
+    def get_comp_ong_max_euros(self):
+        return (float)(self.comp_ong_max) * self.get_taux_comparaison()
+
+    def get_comp_autre_max_euros(self):
+        return (float)(self.comp_autre_max) * self.get_taux_comparaison()
+
+
     def __unicode__(self):
         """
         Cette fonction est consommatrice SQL car elle cherche les dossiers 
@@ -267,6 +325,10 @@ class PosteFinancement(models.Model):
     class Meta:
         ordering = ['type']
 
+    def __unicode__(self):
+        return u"%s %s %s" % (self.get_type_display(), self.pourcentage, self.commentaire)
+
+
 class PostePiece(models.Model):
     """Documents relatifs au Poste
     Ex.: Description de poste
@@ -280,6 +342,7 @@ class PostePiece(models.Model):
 ### EMPLOYÉ/PERSONNE
 
 # TODO : migration pour m -> M, f -> F
+
 GENRE_CHOICES = (
     ('m', 'Homme'),
     ('f', 'Femme'),
@@ -311,7 +374,7 @@ COMPTE_COMPTA_CHOICES = (
     ('aucun', 'Aucun'),
 )
 
-class Dossier(models.Model):
+class Dossier(DossierWorkflow, models.Model):
 
     # Modèle existant
     employe = models.ForeignKey('Employe', related_name='+', editable=False)
@@ -392,9 +455,46 @@ class Dossier(models.Model):
     
     # Méta
     date_creation = models.DateTimeField(auto_now_add=True)
-    
+    # Managers
+    objects = DossierManager()
+   
     def __unicode__(self):
-        return u'%s - %s' % (self.poste.nom, self.employe)
+        return u'[%s] %s - %s' % (self.poste.implantation, self.poste.nom, self.employe)
+
+    def get_salaire_euros(self):
+        try:
+            tx = rh.TauxChange.objects.filter(implantation=self.poste.implantation, devise=self.devise)[0].taux
+        except:
+            tx = 1
+        return (float)(tx) * (float)(self.salaire)
+
+    def get_couts_auf(self):
+        """
+        On retire les MAD BSTG
+        """
+        return [r for r in self.remuneration_set.all() if r.type_id not in (2, )]
+    
+    def get_total_couts_auf(self):
+        total = 0.0
+        for r in self.get_couts_auf():    
+            total += r.montant_euro()
+        return total
+
+    def get_aides_auf(self):
+        """
+        On récupère les MAD BSTG
+        """
+        return [r for r in self.remuneration_set.all() if r.type_id in (2, )]
+
+    def get_total_aides_auf(self):
+        total = 0.0
+        for r in self.get_aides_auf():    
+            total += r.montant_euro()
+        return total
+
+    def get_total_remun(self):
+        return self.get_total_couts_auf() + self.get_total_aides_auf()
 
 # Tester l'enregistrement car les models.py sont importés au complet
 if not reversion.is_registered(Dossier):
@@ -411,6 +511,19 @@ class DossierPiece(models.Model):
                             storage=storage_prive)
 
 
+class DossierComparaison(models.Model):
+    """
+    Photo d'une comparaison salariale au moment de l'embauche.
+    """
+    dossier = models.ForeignKey('Dossier', related_name='comparaisons')
+    implantation = models.ForeignKey(ref.Implantation, null=True, blank=True)
+    poste = models.CharField(max_length=255, null=True, blank=True)
+    personne = models.CharField(max_length=255, null=True, blank=True)
+    montant = models.IntegerField(null=True)
+    devise = models.ForeignKey(rh.Devise, default=5, related_name='+', null=True, blank=True)
+    montant_euros = models.IntegerField(null=True)
+
+
 ### RÉMUNÉRATION
 
 class Remuneration(models.Model):
@@ -435,7 +548,7 @@ class Remuneration(models.Model):
         return self.devise.tauxchange_set.order_by('-annee').all()[0].taux
 
     def montant_euro(self):
-        return round(float(self.montant) / float(self.taux_devise()), 2)
+        return round(float(self.montant) * float(self.taux_devise()), 2)
 
     def montant_euro_mois(self):
         return round(self.montant_euro() / 12, 2)
@@ -464,18 +577,3 @@ class JustificationAutreEmploye(models.Model):
     dossier = models.ForeignKey("Dossier")
     question = models.ForeignKey("JustificationQuestion")
     reponse = models.TextField()
-
-
-### VALIDATIONS
-
-class Validation(models.Model):
-    # user
-    date = models.DateField()
-
-    # avis = ? (CHOICES?)
-
-class ValidationPoste(models.Model):
-    poste = models.ForeignKey('Poste')
-
-class ValidationEmploye(models.Model):
-    employe = models.ForeignKey('Employe')
diff --git a/project/dae/templates/dae/embauche-dossier-consulter.html b/project/dae/templates/dae/embauche-dossier-consulter.html
new file mode 100644 (file)
index 0000000..d4c50a8
--- /dev/null
@@ -0,0 +1,119 @@
+<fieldset>
+<h2>Contrat</h2>
+<table>
+    <tbody>
+    <tr>
+        <th>Type de contrat</th>
+        <td colspan="4">{{ dossier.type_contrat }}</td>
+        <th>Remplacement</th>
+        <td>{{ dossier.remplacement }}</td>
+    </tr>
+    <tr>
+        <th rowspan="2">Durée</th>
+        <td>du</td>
+        <td>{{ dossier.contrat_date_debut }}</td>
+        <td>au</td>
+        <td>{{ dossier.contrat_date_fin }}</td>
+        <th>Régime de travail</th>
+        <td>{{ dossier.regime_travail }}</td>
+    </tr>
+    <tr>
+        <th>Nombre d'heure par semaine</th>
+        <td>{{ dossier.regime_travail_nb_heure_semaine }}</td>
+    </tr>
+    <tr>
+        <th>Statut : </th>
+        <td colspan="4">{{ dossier.statut }} {{ dossier.statut_residence }}</td>
+        <th>Organisme BSTG</th>
+        <td>{{ dossier.organisme_bstg }}{{ dossier.organisme_bstg_autre }}</td>
+    </tr>
+    </tbody>
+</table>
+</fieldset>
+
+<fieldset>
+<h2>Classement et salaire de base</h2>
+<table>
+    <tbody>
+    <tr>
+        <td colspan="7">
+            <h3>Ancien dossier <span class="info">(le cas échéant)</span></h3>
+        </td>
+    </tr>
+    <tr>
+        <td colspan="7">
+            {{ dossier.employe }} <span class="info">{{ dossier.employe.id_rh.dossier_set.all.reverse }}</span>
+        </td>
+    </tr>
+    <tr>
+        <th>Classement antérieur</th>
+        <th>Salaire antérieur</th>
+        <th>Statut antérieur</th>
+        <th>Type contrat</th>
+    </tr>
+    <tr>
+        <td>{{ dossier.classement_anterieur|default:"" }}</td>
+        <td>{{ dossier.salaire_anterieur|floatformat:0 }}</td>
+        <td>{{ dossier.statut_anterieur|default:"" }}</td>
+        <td>{{ dossier.type_contrat|default:"" }}</td>
+        <td colspan="3"></td>
+    </tr>
+    <tr>
+        <td colspan="7">
+            <h3>Précédent titulaire <span class="info">(le cas échéant)</span></h3>
+        </td>
+    </tr>
+    <tr>
+        <td colspan="7">
+            {{ dossier.employe_anterieur }}
+        </td>
+    </tr>
+    <tr>
+        <th>Classement du titulaire antérieur</th>
+        <th colspan="4">Salaire du titulaire antérieur</th>
+        <th>Statut du titulaire antérieur</th>
+        <th></th>
+    </tr>
+    <tr>
+        <td>{{ dossier.classement_titulaire_anterieur }}</td>
+        <td>{{ dossier.salaire_titulaire_anterieur|floatformat:0 }}</td>
+        <td>{{ form.instance.statut_titulaire_anterieur }}</td>
+        <td></td>
+    </tr>
+    <tr>
+        <td colspan="7">
+            <h3>Proposition de classement</h3>
+        </td>
+    </tr>
+    <tr>
+        <th>Classement proposé</th>
+        <th colspan="3">Salaire proposé</th>
+        <td colspan="2"></td>
+    </tr>
+    <tr>
+        <td>{{ dossier.classement }}</td>
+        <td>{{ dossier.salaire }} {{ dossier.devise.code }} <span class="info">(fourchette du poste : {{ dossier.poste.salaire_min }} {{ dossier.poste.devise_min.code }}
+            - {{ dossier.poste.salaire_max }} {{ dossier.poste.devise_max.code }})</span>
+        </td>
+        <td id="salaire-propose-euros" class="montant">{{ dossier.get_salaire_euros }}</td>
+        <td>€</td>
+        <td colspan="2"></td>
+    </tr>
+    </tbody>
+</table>
+</fieldset>
+
+<fieldset>
+<h2>Accès et ouverture des comptes</h2>
+<table>
+    <tbody>
+    <tr>
+        <th>Compte compatabilité<th>
+        <td>{% if dossier.compte_compta %}oui{% else %}non{% endif %}</td>
+        <th>Compte courriel</th>
+        <td>{% if dossier.compte_courriel %}oui{% else %}non{% endif %}</td>
+    </tr>
+    </tbody>
+</table>
+</fieldset>
+
index 3b30441..f07e074 100644 (file)
@@ -1,113 +1,4 @@
 <fieldset>
-<h2>Classement et salaire de base</h2>
-<table>
-    <tbody>
-    <tr>
-        <td colspan="7">
-            <h3>Ancien dossier <span class="info">(le cas échéant)</span></h3>
-        </td>
-    </tr>
-    <tr>
-        <td colspan="7">
-            {{ employe }} <span class="info">{{ employe.dossier_set.all.reverse }}</span>
-        </td>
-    </tr>
-    <tr>
-        <th>{{ form.classement_anterieur.label_tag }}</th>
-        <th>{{ form.salaire_anterieur.label_tag }}</th>
-        <th>{{ form.statut_anterieur.label_tag }}</th>
-        <th>{{ form.type_contrat.label_tag }}</th>
-        <th colpsan="3"></th>
-    </tr>
-    <tr>
-        <td>{{ form.instance.classement_anterieur|default:"" }}</td>
-        <td>{{ form.instance.salaire_anterieur|default:"" }}</td>
-        <td>{{ form.instance.statut_anterieur|default:"" }}</td>
-        <td>{{ form.instance.type_contrat|default:"" }}</td>
-        <td colspan="3"></td>
-    </tr>
-    <tr>
-        <td colspan="7">
-            <h3>Précédent titulaire <span class="info">(le cas échéant)</span></h3>
-        </td>
-    </tr>
-    <tr>
-        <td colspan="7">
-            {{ form.instance.employe_anterieur }}
-            {% comment %} - 
-            <span id="info_employe" class="info">Nom du poste visé</span>
-            {% endcomment %}<br />
-            {{ form.employe_anterieur.errors }}
-        </td>
-    </tr>
-    <tr>
-        <th>{{ form.classement_titulaire_anterieur.label_tag }}</th>
-        {% comment %}<th>Valeur du point</th>{% endcomment %}
-        <th colspan="4">{{ form.salaire_titulaire_anterieur.label_tag }}</th>
-        <th>{{ form.statut_titulaire_anterieur.label_tag }}</th>
-        <th></th>
-    </tr>
-    <tr>
-        <td>{{ form.instance.classement_titulaire_anterieur }}<br />
-            {{ form.classement_titulaire_anterieur.errors }}
-        </td>
-        {% comment %}<td>val point</td>{% endcomment %}
-        <td>{{ form.instance.salaire_titulaire_anterieur }}</td>
-        <td>{% comment %}${% endcomment %}</td>
-        <td>{% comment %}0.00{% endcomment %}</td>
-        <td>{% comment %}€{% endcomment %}</td>
-        <td>{{ form.instance.statut_titulaire_anterieur }}</td>
-        <td></td>
-    </tr>
-    <tr>
-        <td colspan="7">
-            <h3>Proposition de classement</h3>
-        </td>
-    </tr>
-    {% comment %}
-    <tr>
-        <td colspan="7">
-            Davin Baragiotta - 
-            <span id="info_employe" class="info">Nom du poste visé</span>
-        </td>
-    </tr>
-    {% endcomment %}
-    <tr>
-        <th>{{ form.classement.label_tag }}</th>
-        {% comment %}<th>Valeur du point</th>{% endcomment %}
-        <th colspan="4">{{ form.salaire.label_tag }} en {{ form.devise }}</th>
-        <td colspan="2"></td>
-    </tr>
-    <tr>
-        <td>{{ form.classement }}<br />
-            {{ form.classement.errors }}
-        </td>
-        {% comment %}<td>val point</td>{% endcomment %}
-        <td>{{ form.salaire }} <span class="info">(fourchette du poste : {{ poste.salaire_min }} {{ poste.devise_min.code }} - {{ poste.salaire_max }} {{ poste.devise_max.code }})</span></td>
-        <td>{% comment %}${% endcomment %}</td>
-        <td>{% comment %}0.00{% endcomment %}</td>
-        <td>€</td>
-        <td colspan="2"></td>
-    </tr>
-    </tbody>
-</table>
-</fieldset>
-
-<script type="text/javascript">
-    function activateDossierDropDowns() {
-        $('#id_classement, #id_devise').change(loadSalaire);
-    }
-    function loadSalaire() {
-        $.getJSON('{% url salaire %}/' + $('#implantation').val() + '/' + 
-            $('#id_devise').val() + '/' + $('#id_classement').val(),
-            function(data) {
-                $('#id_salaire').val(data.salaire_devise);
-            });
-    }
-    activateDossierDropDowns();
-</script>
-
-<fieldset>
 <h2>Contrat</h2>
 <table>
     <tbody>
 </fieldset>
 
 <fieldset>
+<h2>Classement et salaire de base</h2>
+<table>
+    <tbody>
+    <tr>
+        <td colspan="7">
+            <h3>Ancien dossier <span class="info">(le cas échéant)</span></h3>
+        </td>
+    </tr>
+    <tr>
+        <td colspan="7">
+            {{ employe }} <span class="info">{{ employe.dossier_set.all.reverse }}</span>
+        </td>
+    </tr>
+    <tr>
+        <th>{{ form.classement_anterieur.label_tag }}</th>
+        <th>{{ form.salaire_anterieur.label_tag }}</th>
+        <th>{{ form.statut_anterieur.label_tag }}</th>
+        <th>{{ form.type_contrat.label_tag }}</th>
+        <th colpsan="3"></th>
+    </tr>
+    <tr>
+        <td>{{ form.instance.classement_anterieur|default:"" }}{{ form.classement_anterieur.as_hidden }}</td>
+        <td>{{ form.instance.salaire_anterieur|default:"" }}{{ form.salaire_anterieur.as_hidden  }}</td>
+        <td>{{ form.instance.statut_anterieur|default:"" }}{{ form.statut_anterieur.as_hidden  }}</td>
+        <td>{{ form.instance.type_contrat|default:"" }}{{ form.instance.type_contrat.as_hidden  }}</td>
+        <td colspan="3"></td>
+    </tr>
+    <tr>
+        <td colspan="7">
+            <h3>Précédent titulaire <span class="info">(le cas échéant)</span></h3>
+        </td>
+    </tr>
+    <tr>
+        <td colspan="7">
+            {{ form.instance.employe_anterieur }}{{ form.employe_anterieur.as_hidden }}
+            {{ form.employe_anterieur.errors }}
+        </td>
+    </tr>
+    <tr>
+        <th>{{ form.classement_titulaire_anterieur.label_tag }}</th>
+        <th colspan="4">{{ form.salaire_titulaire_anterieur.label_tag }}</th>
+        <th>{{ form.statut_titulaire_anterieur.label_tag }}</th>
+        <th></th>
+    </tr>
+    <tr>
+        <td>{{ form.instance.classement_titulaire_anterieur }}{{ form.classement_titulaire_anterieur.as_hidden }}<br />
+            {{ form.classement_titulaire_anterieur.errors }}
+        </td>
+        <td>{{ form.instance.salaire_titulaire_anterieur }}{{ form.salaire_titulaire_anterieur.as_hidden }}</td>
+        <td>{% comment %}${% endcomment %}</td>
+        <td>{% comment %}0.00{% endcomment %}</td>
+        <td>{% comment %}€{% endcomment %}</td>
+        <td>{{ form.instance.statut_titulaire_anterieur }}{{ form.statut_titulaire_anterieur.as_hidden }}</td>
+        <td></td>
+    </tr>
+    <tr>
+        <td colspan="7">
+            <h3>Proposition de classement</h3>
+        </td>
+    </tr>
+    {% comment %}
+    <tr>
+        <td colspan="7">
+            Davin Baragiotta - 
+            <span id="info_employe" class="info">Nom du poste visé</span>
+        </td>
+    </tr>
+    {% endcomment %}
+    <tr>
+        <th>{{ form.classement.label_tag }}</th>
+        <th colspan="3">{{ form.salaire.label_tag }}</th>
+        <td colspan="2"></td>
+    </tr>
+    <tr>
+        <td>{{ form.classement }}<br />{{ form.classement.errors }}</td>
+        <td>{{ form.salaire }} {{ form.devise }}
+            <span class="info">(fourchette du poste : {{ poste.salaire_min }} {{ poste.devise_min.code }}
+            - {{ poste.salaire_max }} {{ poste.devise_max.code }})</span>
+        </td>
+        <td id="salaire-propose-euros" class="montant"></td>
+        <td>€</td>
+        <td colspan="2"></td>
+    </tr>
+    </tbody>
+</table>
+</fieldset>
+
+<script type="text/javascript">
+    /* Changement de classement, on repropose un salaire */
+    $('#id_classement').change(function() {
+        loadSalaire();
+        proposition_comparaison($('#id_devise').val());
+    });
+    /* changements, on recalcule */
+    $('#id_salaire').focusout(function() {proposition_comparaison($('#id_devise').val());});
+    $('#id_devise').change(function() {proposition_comparaison($('#id_devise').val());});
+    proposition_comparaison($('#id_devise').val());
+</script>
+
+<fieldset>
 <h2>Accès et ouverture des comptes</h2>
 <table>
     <tbody>
diff --git a/project/dae/templates/dae/embauche-remun-consulter.html b/project/dae/templates/dae/embauche-remun-consulter.html
new file mode 100644 (file)
index 0000000..ae127f5
--- /dev/null
@@ -0,0 +1,50 @@
+<tr>
+  <th>Type</th>
+  <th>Devise locale</th>
+  <th>Mensuel</th>
+  <th>Annuel</th>
+  <th colspan="2">Conversion en Euros</th>
+  <th>Précision</th>
+</tr>
+
+<tr>
+    <th colspan="5">Coûts AUF</th>
+    <th id="sous-total-cout" class="montant">{{ dossier.get_total_couts_auf|floatformat:0 }}</th>
+    <th>EUR</th>
+</tr>
+
+{% for remun in dossier.get_couts_auf %}
+  <tr class="cout">
+    <td>{{ remun.type }}</td>
+    <td>{{ remun.devise }}</td>
+    <td class="montant">{{ remun.montant_mois|floatformat:0 }}</td>
+    <td class="montant">{{ remun.montant|floatformat:0 }}</td>
+    <td class="montant">{{ remun.montant_euro_mois|floatformat:0 }}</td>
+    <td class="montant">{{ remun.montant_euro|floatformat:0 }}</td>
+    <td>{{ remun.precision }}</td>
+  </tr>
+{% endfor %}
+
+<tr>
+    <th colspan="5">BSTG - Salaire de mise à disposition</th>
+    <th id="sous-total-aide" class="montant">{{ dossier.get_total_aides_auf|floatformat:0 }}</th>
+    <th>EUR</th>
+</tr>
+
+{% for remun in dossier.get_aides_auf %}
+  <tr class="aide">
+    <td>{{ remun.type }}</td>
+    <td>{{ remun.devise }}</td>
+    <td class="montant">{{ remun.montant_mois|floatformat:0 }}</td>
+    <td class="montant">{{ remun.montant|floatformat:0 }}</td>
+    <td class="montant">{{ remun.montant_euro_mois|floatformat:0 }}</td>
+    <td class="montant">{{ remun.montant_euro|floatformat:0 }}</td>
+    <td>{{ remun.precision }}</td>
+  </tr>
+{% endfor %}
+
+<tr>
+    <th colspan="5">TOTAL</th>
+    <th id="remun-total" class="montant">{{ dossier.get_total_remun|floatformat:0 }}</th>
+    <th>EUR</th>
+</tr>
index 6fc519a..4818721 100644 (file)
@@ -1,27 +1,79 @@
 <tr>
   <th>Type</th>
-  <th colspan="2">Devise locale</th>
+  <th>Devise locale</th>
+  <th>Mensuel</th>
+  <th>Annuel</th>
   <th colspan="2">Conversion en Euros</th>
   <th>Précision</th>
 </tr>
-{% for remun in dossier.remuneration_set.all %}
+
+<tr>
+    <th colspan="5">Coûts AUF</th>
+    <th id="sous-total-cout" class="montant"></th>
+    <th>EUR</th>
+</tr>
+
+{% for remun in dossier.get_couts_auf %}
+  <tr class="cout">
+    <td>{{ remun.type }}</td>
+    <td>
+        {{ remun.devise }}
+        <input type="hidden" id="taux_devise-{{ remun.id }}"
+               name="taux_devise-{{ remun.id }}"
+               value="{{ remun.taux_devise }}" />
+    </td>
+    <td>
+        <input type="text" id="montant_mois-{{ remun.id }}"
+               name="montant_mois-{{ remun.id }}"
+               value="{{ remun.montant_mois }}" />
+    </td>
+    <td><input type="text" id="montant-{{ remun.id }}"
+               name="cg-montant-{{ remun.id }}"
+               value="{{ remun.montant|default_if_none:'' }}" />
+    </td>
+    <td id="montant_euro_mois-{{ remun.id }}" class="montant">
+        {{ remun.montant_euro_mois }}</td>
+    <td id="montant_euro-{{ remun.id }}" class="montant cumulable">{{ remun.montant_euro }}</td>
+    <td><input type="text" name="cg-precision-{{ remun.id }}" 
+               value="{{ remun.precision|default_if_none:'' }}" /></td>
+  </tr>
+{% empty %}
   <tr>
+    <td colspan="6">
+      Aucun coût au registre
+    </td>
+  </tr>
+{% endfor %}
+
+
+<tr>
+    <th colspan="5">BSTG - Salaire de mise à disposition</th>
+    <th id="sous-total-aide" class="montant"></th>
+    <th>EUR</th>
+</tr>
+
+{% for remun in dossier.get_aides_auf %}
+  <tr class="aide">
     <td>{{ remun.type }}</td>
     <td>
         {{ remun.devise }}
         <input type="hidden" id="taux_devise-{{ remun.id }}"
                name="taux_devise-{{ remun.id }}"
                value="{{ remun.taux_devise }}" />
+    </td>
+    <td>
         <input type="text" id="montant_mois-{{ remun.id }}"
                name="montant_mois-{{ remun.id }}"
-               value="{{ remun.montant_mois }}" /></td>
+               value="{{ remun.montant_mois }}" />
+    </td>
     <td><input type="text" id="montant-{{ remun.id }}"
                name="cg-montant-{{ remun.id }}"
-               value="{{ remun.montant|default_if_none:'' }}" /></td>
-    <td id="montant_euro_mois-{{ remun.id }}">
+               value="{{ remun.montant|default_if_none:'' }}" />
+    </td>
+    <td id="montant_euro_mois-{{ remun.id }}" class="montant">
         {{ remun.montant_euro_mois }}</td>
-    <td id="montant_euro-{{ remun.id }}">{{ remun.montant_euro }}</td>
-    <td><input type="text" name="cg-precision-{{ remun.id }}"
+    <td id="montant_euro-{{ remun.id }}" class="montant cumulable">{{ remun.montant_euro }}</td>
+    <td><input type="text" name="cg-precision-{{ remun.id }}" 
                value="{{ remun.precision|default_if_none:'' }}" /></td>
   </tr>
 {% empty %}
@@ -31,3 +83,9 @@
     </td>
   </tr>
 {% endfor %}
+
+<tr>
+    <th colspan="5">TOTAL</th>
+    <th id="remun-total" class="montant"></th>
+    <th>EUR</th>
+</tr>
index a648b87..0fcc542 100644 (file)
@@ -19,6 +19,8 @@
   <script type="text/javascript" src="{% admin_media_prefix %}js/core.js"></script>
   <script type="text/javascript" src="{% admin_media_prefix %}js/calendar.js"></script>
   <script type="text/javascript" src="{% admin_media_prefix %}js/admin/DateTimeShortcuts.js"></script>
+  <script src="{{ MEDIA_URL }}jquery-autocomplete/jquery.autocomplete.js" type="text/javascript"></script>
+  <link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}jquery-autocomplete/jquery.autocomplete.css" />
   <script src="{{ MEDIA_URL }}js/dae.js" type="text/javascript"></script>
   <script src="{{ MEDIA_URL }}js/dae-embauche.js" type="text/javascript"></script>
 {% endblock %}
     </fieldset>
 {% else %}
     <h2 class="section">SECTION 1 - POSTE</h2>
-    <fieldset>
-    <h2>Poste : {{ poste.nom }} ({{ poste.implantation.nom }})</h2>
     {% include 'dae/poste_resume.html' %}
-
-
-    </fieldset>
     
     <h2 class="section">SECTION 2 - PERSONNEL ENGAGÉ</h2>
     <fieldset>
     <fieldset>
     <h2>Comparaison salariale</h2>
     <span class="info">dans la région pour les employés occupant un poste similaire</span>
-    <table>
-        <tbody>
-            <tr>
-                <th>Employé</th>
-                <th>Poste</th>
-                <th>Date fin contrat</th>
-                <th>Salaire</th>
-                <th>Salaire EUR</th>
-                <th>Implantation</th>
-                <th>Famille Emploi</th>
-            </tr>
-            {% for d in comparaison_dossiers %}
-            <tr>
-                <td>{{ d.employe }}</td>
-                <td>{{ d.poste1.type_poste.nom }} {{ d.complement1 }}</td>
-                <td>{{ d.contrat_date_fin|default:"en cours" }}</td>
-                <td>{{ d.get_salaire_display }}</td>
-                <td>{{ d.get_salaire_euro_display }}</td>
-                <td>{{ d.poste1.implantation }}</td>
-                <td>{{ d.poste1.type_poste.famille_emploi.nom }}</td>
-            </tr>
-            {% endfor %}
-        </tbody>
-    </table>
+    {% for f in dossiersComparaisonsForm.management_form %}
+        {{ f }}
+    {% endfor %}
+    
+    {% for f in dossiersComparaisonsForm.forms %}
+        <table>
+        {% for field in f %}
+            {% if field.is_hidden %}{{ field }}{% endif %}
+        {% endfor %}
+
+        <tr><td colspan=2>Rechercher (personne, poste) : {{ f.recherche }}</td></tr>
+        <tr><th>{{ f.implantation.label }}</th><td>{{ f.implantation }}</td></tr>
+        <tr><th>{{ f.poste.label }}</th><td>{{ f.poste }}</td></tr>
+        <tr><th>{{ f.personne.label }}</th><td>{{ f.personne }}</td></tr>
+        <tr><th>{{ f.montant.label }} ({{f.devise.label }})</th><td>{{ f.montant }} {{f.devise }} ({{ f.montant_euros }} EUR)</td></tr>
+        </table>
+    {% endfor %}
     </fieldset>
 
 
         </td>
       </tr>
       </table>
+      <input type="submit" name="continue" value="Sauvegarder et continuer" />
       <input type="submit" name="save" value="Sauvegarder" />
     </form>
   {% endif %}
diff --git a/project/dae/templates/dae/embauche_consulter.html b/project/dae/templates/dae/embauche_consulter.html
new file mode 100644 (file)
index 0000000..0e1c089
--- /dev/null
@@ -0,0 +1,143 @@
+{% extends 'base.html' %}
+{% load adminmedia %}
+
+{% block title %}RH - DAE - Embauche{% endblock %}
+{% block titre %}Ressources humaines{% endblock %}
+{% block sous_titre %}Demande d'autorisation d'embauche{% endblock %}
+
+{% block extrahead %}
+  <link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}css/dae.css" />
+{% endblock %}
+
+{% block main %}
+<h1 class="gauche">Demandes d'autorisation d'engagement de personnel</h1>
+<a class="droite bouton-modifier" href="{% url embauche dossier.poste.key dossier.id %}">Modifier</a>
+<div class="visualClear"></div>
+
+<h2 class="section">SECTION 1 - POSTE</h2>
+{% with dossier.poste as poste %}
+{% include 'dae/poste_resume.html' %}
+{% endwith %}
+
+<h2 class="section">SECTION 2 - PERSONNEL ENGAGÉ</h2>
+<fieldset>
+<div>
+    <div class="gauche"><h2>Personne</h2></div>
+    <div class="droite">
+        <table class="droite">
+            <tbody>
+            <tr>
+                <th>Mobilité interne</th>
+                <td colspan="3">{% if dossier.mobilite_interne %}oui{% else %}non{% endif %}
+            </tr>
+            </tbody>
+        </table>
+    </div>
+</div>
+<div class="clear"></div>
+<table id="form-employe">
+    <tbody>
+    <tr>
+        <th>Employé</th>
+        <td colspan="5">{{ dossier.employe }}</td>
+    </tr>
+    </tbody>
+</table>
+
+</fieldset>
+
+<fieldset>
+<h2>Comparaison salariale</h2>
+<span class="info">dans la région pour les employés occupant un poste similaire</span>
+<table>
+    <tbody>
+        <tr>
+            <th>Implantation</th>
+            <th>Employé</th>
+            <th>Poste</th>
+            <th>Salaire</th>
+            <th>Salaire EUR</th>
+        </tr>
+        {% for dc in dossier.comparaisons.all %}
+        <tr>
+            <td>{{ dc.implantation }}</td>
+            <td>{{ dc.personne }}</td>
+            <td>{{ dc.poste }}</td>
+            <td>{{ dc.montant }} {{ dc.devise }}</td>
+            <td>{{ dc.montant_euros }} EUR</td>
+        </tr>
+        {% endfor %}
+    </tbody>
+</table>
+</fieldset>
+
+
+  <div id="form-dossier">
+    {% comment %}Wrapper du formulaire de dossier{% endcomment %}
+    {% include "dae/embauche-dossier-consulter.html" %}
+  </div>
+
+  <fieldset>
+    <h2>Pièces jointes</h2>
+    <ul>
+    {% for pj in dossier.dossierpiece_set.all %}
+        <li><a href="{{ pj.fichier.url }}" target="_blank">{{ pj.nom }}</a></li>
+    {% endfor %}
+    </ul>
+
+  </fieldset>
+  
+  <h2 class="section">SECTION 3 - COÛT GLOBAL</h2>
+
+  <fieldset>
+    <table cellspacing="0" id="global-cost">
+      {% include 'dae/embauche-remun-consulter.html' %}
+    </table>
+  </fieldset>
+
+  <h2 class="section">SECTION 4 - JUSTIFICATION DE LA DEMANDE (OBLIGATOIRE)</h2>
+  <h3>A - Justification du poste</h3>
+  <p>{{ poste.justification }}</p>
+
+  <h3>B - Justification de l'employé</h3>
+  <p class="info">Les questions posées pour la justification apparaîtront après avoir enregistré le dossier.</p>
+  <table>
+  <tr>
+    <th>NOUVEL EMPLOYÉ</th>
+    <th>RENOUVELLEMENT, PROLONGATION, RECLASSEMENT, MOBILITÉ INTERNE</th>
+  </tr>
+  <tr>
+    <td> 
+    {% for j in dossier.justificationnouvelemploye_set.all %}
+        <h4>{{ j.question }}</h4>
+        <p>{{ j.reponse }}</p>
+    {% endfor %}
+    </td>
+    <td>
+    {% for j in dossier.justificationautreemploye_set.all %}
+        <h4>{{ j.question }}</h4>
+        <p>{{ j.reponse }}</p>
+    {% endfor %}
+    </td>
+  </tr>
+  </table>
+
+  <fieldset>
+  <h2>Validation</h2>
+  
+  <ul>
+  {% for commentaire in dossier.historique_desc %}
+      <li>{{ commentaire }}</li>
+  {% endfor %}
+  </ul>
+  
+  <form action="" method="post">
+  <table>
+  {{ validationForm }}
+  </table>
+  <input type="submit" value="valider" />
+  </form>
+  </fieldset>
+    
+{% endblock %}
+
index 239abc3..5d702e4 100644 (file)
 <table>
     <tr>
         <th>Embauche</th>
-        <th>Soumis le</th>
-        <th>Soumis par</th>
-        <th>Valid. rég.</th>
-        <th>Valid. RH</th>
-        <th>Valid. SG</th>
-        <th>Valid. Recteur</th>
-        <th>Décision finale</th>
+        <th>Région</th>
+        <th>État</th>
     </tr>
-{% for dossier, premiere_revision in embauches %}
+{% for dossier in embauches %}
     <tr>
-        <td><a href="{% url embauche dossier.poste.key dossier.id %}">{{ dossier }}</a></td>
-        <td>{{ premiere_revision.date_created|date:"Y-m-d" }}</td>
-        <td>{{ premiere_revision.user }}</td>
-        <td></td>
-        <td></td>
-        <td></td>
-        <td></td>
-        <td></td>
+        <td><a href="{% url embauche_consulter dossier.id %}">{{ dossier }}</a></td>
+        <td>{{ dossier.poste.implantation.region }}</td>
+        <td>{{ dossier.get_etat_display }}</td>
     </tr>
 {% endfor %}
 </table>
index d2c7686..39243ab 100644 (file)
@@ -294,7 +294,7 @@ Demande d'autorisation d'embauche
     </div>
     </fieldset>
 
-    {{ form.etat }}
+    <input type="submit" name="continue" value="Sauvegarder et continuer" />
     <input type="submit" name="save" value="Sauvegarder" />
 
 </form>
diff --git a/project/dae/templates/dae/poste_consulter.html b/project/dae/templates/dae/poste_consulter.html
new file mode 100644 (file)
index 0000000..6312405
--- /dev/null
@@ -0,0 +1,40 @@
+{% extends 'base.html' %}
+{% load adminmedia %}
+
+{% block title %}RH - DAE - Poste{% endblock %}
+{% block titre %}Ressources humaines{% endblock %}
+{% block sous_titre %}
+Demande d'autorisation d'embauche
+{% endblock %}
+
+{% block extrahead %}
+  <link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}css/dae.css" />
+{% endblock %}
+
+{% block main %}
+
+<h1 class="gauche">Demande d'autorisation de création de poste</h1>
+<a class="droite bouton-modifier" href="{% url poste poste.key %}">Modifier</a>
+<div class="visualClear"></div>
+
+{% include "dae/poste_resume.html" %}
+
+<fieldset>
+<h2>Validation</h2>
+
+<ul>
+{% for commentaire in poste.historique_desc %}
+    <li>{{ commentaire }}</li>
+{% endfor %}
+</ul>
+
+<form action="" method="post">
+<table>
+{{ validationForm }}
+</table>
+<input type="submit" value="valider" />
+</form>
+</fieldset>
+
+
+{% endblock %}
index 0dd934b..8edebc8 100644 (file)
@@ -1,2 +1,226 @@
-TODO vue du poste
-{{ poste }}
+<fieldset>
+<h2>{{ poste.nom }} ({{ poste.implantation.nom }})</h2>
+<table>
+    <tbody>
+    <tr>
+        <th>Implantation</th>
+        <td>{{ poste.implantation }}</td>
+    </tr>
+    <tr>
+        <th>Type poste</th>
+        <td>{{ poste.type_poste }}</td>
+    </tr>
+    <tr>
+        <th>Service</th>
+        <td>{{ poste.service }}</td>
+    </tr>
+    <tr>
+        <th>Responsable</th>
+        <td>{{ poste.responsable }}</td>
+    </tr>
+    </tbody>
+</table>
+</fieldset>
+
+<fieldset>
+<h2>Recrutement</h2>
+<table>
+    <tbody>
+    <tr>
+        <th>Statut</th>
+        <th>local</th><td>{% if poste.local %}oui{% else %}non{% endif %}</td>
+        <th>expatrié</th><td>{% if poste.expatrie %}oui{% else %}non{% endif %}</td>
+        <th>mise à disposition</th><td>{% if poste.mise_a_disposition %}oui{% else %}non{% endif %}</td>
+    </tr>
+    <tr>
+        <th>Appel</th>
+        <td colspan="6">{{ poste.appel }}</td>
+    </tr>
+    </tbody>
+</table>
+</fieldset>
+
+<fieldset>
+<h2>Durée prévue du poste </h2> 
+<span class="info">Indépendamment du titulaire du poste</span>
+<table>
+    <tbody>
+    <tr>
+        <th>Durée {% if not poste.date_fin %}indéterminée{% endif %}</th>
+        {% if poste.date_fin %}
+            <td>du {{ poste.date_debut }}</td>
+            <td>au {{ poste.date_fin }}</td>
+        {% else %}
+            <td>à partir du {{ poste.date_debut }}</td>
+        {% endif %}
+    </tr>
+    <tr>
+        <th>Régime travail</th>
+        <td colspan="4">{{ poste.regime_travail }}%</td>
+    </tr>
+    <tr>
+        <th>Nombre d'heure par semaine</th>
+        <td>{{ poste.regime_travail_nb_heure_semaine }}H</td>
+    </tr>
+
+    </tbody>
+</table>
+</fieldset>
+
+<fieldset>
+<h2>Classement du poste</h2>
+<table id="classement">
+    <tbody>
+    <tr>
+        <th></th>
+        <th>Échelon AUF</th>
+        <th>Salaire de base</th>
+        <th>Indemnité, responsabilité (le cas échéant)</th>
+        <th>Autres</th>
+        <th>TOTAL</th>
+        <th>Taux&nbsp;>&nbsp;€</th>
+        <th>Conversion EUR</th>
+    </tr>
+    <tr>
+        <th>Minimum</th>
+        <td>{{ poste.classement_min }}</td>
+        <td class="montant">{{ poste.salaire_min|floatformat:0 }} {{ poste.devise_min.code }}</td>
+        <td class="montant">{{ poste.indemn_min|floatformat:0 }} {{ poste.devise_min.code }}</td>
+        <td class="montant">{{ poste.autre_min|floatformat:0 }} {{ poste.devise_min.code }}</td>
+        <td class="montant">{{ poste.get_couts_minimum|floatformat:0 }} {{ poste.devise_min.code }}</td>
+        <td>{{ poste.get_taux_minimum }}</td>
+        <td class="montant">{{ poste.get_couts_minimum_euros|floatformat:0 }} EUR</td>
+    </tr>
+    <tr>
+        <th>Maximum</th>
+        <td>{{ poste.classement_max }}</td>
+        <td class="montant">{{ poste.salaire_max|floatformat:0 }} {{ poste.devise_max.code }}</td>
+        <td class="montant">{{ poste.indemn_max|floatformat:0 }} {{ poste.devise_max.code }}</td>
+        <td class="montant">{{ poste.autre_max|floatformat:0 }} {{ poste.devise_max.code }}</td>
+        <td class="montant">{{ poste.get_couts_maximum|floatformat:0 }} {{ poste.devise_max.code }}</td>
+        <td>{{ poste.get_taux_maximum }}</td>
+        <td class="montant">{{ poste.get_couts_maximum_euros|floatformat:0 }} EUR</td>
+    </tr>
+    </tbody>
+</table>
+
+<p class="info">N.B Conversion en EUROS au taux de change budgétaire</p>
+</fieldset>
+
+{% comment %}{% if new %}{% endcomment %}
+<fieldset>
+<h2>Éléments de comparaison</h2>
+<span class="info">Compléter uniquement lors de la création d'un poste</span>
+<table>
+    <tbody>
+    <tr>
+        <th>Devise</th>
+        <td>{{ poste.devise_comparaison }}</td>
+    </tr>
+    </tbody>
+</table>
+{% if poste.est_comparable %}
+<table id="elements-comparaison">
+    <tbody>
+    <tr>
+        <th></th>
+        <th>Université</th>
+        <th>Fonction publique</th>
+        <th>Entreprise locale</th>
+        <th>ONG</th>
+        <th>Autre</th>
+    </tr>
+    <tr>
+        <th>Minimum</th>
+        <td>
+            {% if poste.comp_universite_min %}
+            {{ poste.comp_universite_min|floatformat:0 }} {{  poste.devise_comparaison.code }}
+            ({{ poste.get_comp_universite_min_euros|floatformat:0 }} EUR)
+            {% endif %}
+        </td>
+        <td>
+            {% if poste.comp_fonctionpub_min %}
+            {{ poste.comp_fonctionpub_min|floatformat:0 }} {{  poste.devise_comparaison.code }}
+            ({{ poste.get_comp_fonctionpub_min_euros|floatformat:0 }} EUR)
+            {% endif %}
+        </td>
+        <td>
+            {% if poste.comp_locale_min %}
+            {{ poste.comp_locale_min|floatformat:0 }} {{  poste.devise_comparaison.code }}
+            ({{ poste.get_comp_locale_min_euros|floatformat:0 }} EUR)
+            {% endif %}
+        </td>
+        <td>
+            {% if poste.comp_ong_min %}
+            {{ poste.comp_ong_min|floatformat:0 }} {{  poste.devise_comparaison.code }}
+            ({{ poste.get_comp_ong_min_euros|floatformat:0 }} EUR)
+            {% endif %}
+        </td>
+        <td>
+            {% if poste.comp_autre_min %}
+            {{ poste.comp_autre_min|floatformat:0 }} {{  poste.devise_comparaison.code }}
+            ({{ poste.get_comp_autre_min_euros|floatformat:0 }} EUR)
+            {% endif %}
+        </td>
+    </tr>
+    <tr>
+        <th>Maximum</th>
+        <td>
+            {% if poste.comp_universite_max %}
+            {{ poste.comp_universite_max|floatformat:0 }} {{  poste.devise_comparaison.code }}
+            ({{ poste.get_comp_universite_max_euros|floatformat:0 }} EUR)
+            {% endif %}
+        </td>
+        <td>
+            {% if poste.comp_fonctionpub_max %}
+            {{ poste.comp_fonctionpub_max|floatformat:0 }} {{  poste.devise_comparaison.code }}
+            ({{ poste.get_comp_fonctionpub_max_euros|floatformat:0 }} EUR)
+            {% endif %}
+        </td>
+        <td>
+            {% if poste.comp_locale_max %}
+            {{ poste.comp_locale_max|floatformat:0 }} {{  poste.devise_comparaison.code }}
+            ({{ poste.get_comp_locale_max_euros|floatformat:0 }} EUR)
+            {% endif %}
+        </td>
+        <td>
+            {% if poste.comp_ong_max %}
+            {{ poste.comp_ong_max|floatformat:0 }} {{  poste.devise_comparaison.code }}
+            ({{ poste.get_comp_ong_min_euros|floatformat:0 }} EUR)
+            {% endif %}
+        </td>
+        <td>
+            {% if poste.comp_autre_max %}
+            {{ poste.comp_autre_max }} {{  poste.devise_comparaison.code }}
+            ({{ poste.get_comp_autre_max_euros|floatformat:0 }} EUR)
+            {% endif %}
+        </td>
+    </tr>
+    </tbody>
+</table>
+{% else %}
+    <p>Il n'y a pas de comparaisons disponibles</p>
+{% endif %}
+</fieldset>
+
+<fieldset>
+<h2>Pièces jointes</h2>
+<ul>
+{% for pj in poste.postepiece_set.all %}
+    <li><a href="{{ pj.fichier.url }}">{{ pj.nom }}</a></li>
+{% endfor %}
+</ul>
+</fieldset>
+
+<fieldset>
+<h2>Financement</h2>
+{% for f in poste.financements.all %}
+    <li>{{ f }}</li>
+{% endfor %}
+</fieldset>
+
+<fieldset>
+<h2>Justification de la demande</h2>
+<div>{{ poste.justification|linebreaks }}</div>
+</fieldset>
+
index be9957f..04f309b 100644 (file)
@@ -7,60 +7,20 @@
 {% block main %}
 <h1>Liste des demandes d'autorisation de création de poste</h1>
 
-<form action="" method="post">
 <table>
     <tr>
         <th>Poste</th>
-        <th>Soumis le</th>
-        <th>Soumis par</th>
-        <th>Validation bureau régional</th>
-        <th>Validation DRH</th>
-        <th>Validation secrétaire général</th>
-        <th>Validation recteur</th>
+        <th>Région</th>
+        <th>État</th>
     </tr>
-{% for poste, premiere_revision, validationForm in postes %}
+{% for poste in postes %}
     <tr>
-        <td><a href="{% url poste poste.key %}">{{ poste }}</a></td>
-        <td>{{ premiere_revision.date_created|date:"Y-m-d" }}</td>
-        <td>{{ premiere_revision.user }}</td>
-        <td>
-            {% if poste.validation_bureau_regional %}
-                <img src="/media/django/img/admin/icon-yes.gif" />
-                {{ validationForm.validation_bureau_regional.as_hidden }}
-            {% else %}
-                {{ validationForm.validation_bureau_regional }}
-            {% endif %}
-        </td>
-        <td>
-            {% if poste.validation_drh %}
-                <img src="/media/django/img/admin/icon-yes.gif" />
-                {{ validationForm.validation_drh.as_hidden }}
-            {% else %}
-                {{ validationForm.validation_drh }}
-            {% endif %}
-        </td>
-        <td>
-            {% if poste.validation_secretaire_general %}
-                <img src="/media/django/img/admin/icon-yes.gif" />
-                {{ validationForm.validation_secretaire_general.as_hidden }}
-            {% else %}
-                {{ validationForm.validation_secretaire_general }}
-            {% endif %}
-        </td>
-        <td>
-            {% if poste.validation_recteur %}
-                <img src="/media/django/img/admin/icon-yes.gif" />
-                {{ validationForm.validation_recteur.as_hidden }}
-            {% else %}
-                {{ validationForm.validation_recteur }}
-            {% endif %}
-        </td>
+        <td><a href="{% url poste_consulter poste.key %}">{{ poste }}</a></td>
+        <td>{{ poste.implantation.region }}</td>
+        <td>{{ poste.get_etat_display }}</td>
     </tr>
 
 {% endfor %}
 </table>
         
-<input type="submit" value="Étamper" />
-</form>
-
 {% endblock %}
index 0fc488c..9c049b0 100644 (file)
@@ -7,22 +7,23 @@ urlpatterns = patterns(
 
     # poste
     url(r'^postes$', 'postes_liste', name='dae_postes_liste'),
+    url(r'^poste/consulter/(?P<key>.*)$', 'poste_consulter', name='poste_consulter'),
     url(r'^poste$', 'poste', name='poste'),
     url(r'^poste/(?P<key>.*)$', 'poste', name='poste'),
 
     # embauche
     url(r'^embauches$', 'embauches_liste', name='dae_embauches_liste'),
     url(r'^embauche$', 'embauche', name='embauche'),
-    url(r'^embauche/(?P<key>.*)/(?P<dossier>.*)$', 'embauche',
-        name='embauche'),
+    url(r'^embauche/consulter/(?P<dossier_id>.*)$', 'embauche_consulter', name='embauche_consulter'),
+    url(r'^embauche/(?P<key>.*)/(?P<dossier_id>.*)$', 'embauche', name='embauche'),
     url(r'^embauche/(?P<key>.*)$', 'embauche', name='embauche'),
 
     # ajax    
     url(r'^employe$', 'employe', name='employe'),
     url(r'^employe/(?P<key>.*)$', 'employe', name='employe'),
     url(r'^dossier$', 'dossier', name='dossier'),
-    url(r'^dossier/(?P<poste_key>.*)/(?P<employe_key>.*)$', 'dossier',
-        name='dossier'),
+    url(r'^dossier/(?P<poste_key>.*)/(?P<employe_key>.*)$', 'dossier', name='dossier'),
+    url(r'^dossier_resume/(?P<dossier_id>.*)$', 'dossier_resume', name='dossier_resume'),
     url(r'^salaire$', 'salaire', name='salaire'),
     url(r'^salaire/(.*)/(.*)/(.*)$', 'salaire', name='salaire'),
     url(r'^coefficient$', 'coefficient', name='dae_coefficient'),
diff --git a/project/dae/utils.py b/project/dae/utils.py
new file mode 100644 (file)
index 0000000..a045ad7
--- /dev/null
@@ -0,0 +1,23 @@
+# -*- encoding: utf-8 -*-
+
+import datamaster_modeles.models as ref
+
+def get_employe_from_user(user):
+  """
+  Retourne un employé AUF à partir de son user Django. 
+  """
+  try:
+      employe = ref.Authentification.objects.get(courriel=user.email).id
+  except:
+      raise Exception(u"L'employé avec le courriel %s n'a pas été trouvé dans le référentiel." % user.email)
+  return employe
+
+def is_user_dans_service(user):
+    employe = get_employe_from_user(user)
+    return employe.implantation.bureau_rattachement_id == -1
+
+def is_user_dans_region(user):
+    employe = get_employe_from_user(user)
+    return employe.implantation.bureau_rattachement_id != -1
+
+
index 7b3c514..0cc893d 100644 (file)
@@ -17,14 +17,33 @@ from reversion.models import Version
 from project.dae import models as dae
 from project.rh_v1 import models as rh
 
-from project.decorators import admin_required
+from decorators import dae_groupe_requis, poste_dans_ma_region_ou_service, dossier_dans_ma_region_ou_service
 from forms import *
 
-@admin_required
+@dae_groupe_requis
 def index(request):
     return render_to_response('dae/index.html', {}, RequestContext(request))
 
-@admin_required
+@dae_groupe_requis
+@poste_dans_ma_region_ou_service
+def poste_consulter(request, key):
+    source, id = key.split('-')
+    poste = get_object_or_404(dae.Poste, pk=id)
+    
+    if request.POST:
+        validationForm = PosteWorkflowForm(request.POST, instance=poste, request=request)
+        if validationForm.is_valid():
+            validationForm.save()
+            messages.add_message(request, messages.SUCCESS, "La validation a été enregistrée.")
+            return redirect('poste_consulter', key=key)
+    else:
+        validationForm = PosteWorkflowForm(instance=poste, request=request)
+    
+    vars = {'poste' : poste, 'validationForm' : validationForm, }
+    return render_to_response('dae/poste_consulter.html', vars, RequestContext(request))
+
+@dae_groupe_requis
+@poste_dans_ma_region_ou_service
 def poste(request, key=None):
     """ Formulaire pour un poste.
 
@@ -53,24 +72,28 @@ def poste(request, key=None):
 
     if request.POST:
         data.update(dict(request.POST.items()))
-        form = PosteForm(data, instance=poste)
+        form = PosteForm(data, instance=poste, request=request)
         financementForm = FinancementForm(request.POST, instance=poste)
         piecesForm = PostePieceForm(request.POST, request.FILES, instance=poste)
-        if 'save' in data and form.is_valid() and piecesForm.is_valid() and financementForm.is_valid():
+        if form.is_valid() and piecesForm.is_valid() and financementForm.is_valid():
             poste = form.save()
             piecesForm.instance = poste
             piecesForm.save()
             financementForm.instance = poste
             financementForm.save()
             messages.add_message(request, messages.SUCCESS, "Le poste %s a été sauvegardé." % poste)
-            return redirect('poste', key='dae-%s' % poste.id)
+            if request.POST.has_key('save'):
+                return redirect('poste_consulter', key='dae-%s' % poste.id)
+            else:
+                return redirect('poste', key='dae-%s' % poste.id)
+                
         else:
             messages.add_message(request, messages.ERROR, 'Il y a des erreurs dans le formulaire.')
             
     else:
         # 'initial' évite la validation prémature lors d'une copie de poste de
         # rh_v1 vers dae.
-        form = PosteForm(initial=data, instance=poste)
+        form = PosteForm(initial=data, instance=poste, request=request)
         piecesForm = PostePieceForm(instance=poste)
         financementForm = FinancementForm(instance=poste)
 
@@ -78,43 +101,43 @@ def poste(request, key=None):
 
     return render_to_response('dae/poste.html', vars, RequestContext(request))
 
-@admin_required
+@dae_groupe_requis
 def postes_liste(request):
     """ Liste des postes. """
     vars = dict()
-    vars['postes'] = []
-
-    for p in dae.Poste.objects.all().order_by('-date_creation'):
-        versions =  Version.objects.get_for_object(p)
-        if len(versions) > 0:
-            premiere_revision = versions[0].revision
-        else:
-            premiere_revision = None
-
-        if request.POST:
-            validationForm = PosteValidationForm(request.POST, instance=p, prefix=p.id)
-            if validationForm.is_valid():
-                p = validationForm.save()
-        else:
-            validationForm = PosteValidationForm(instance=p, prefix=p.id)
-
-        vars['postes'].append((p, premiere_revision, validationForm))
-
-    if request.POST:
-        return redirect(reverse('dae_postes_liste'))
-        
-    return render_to_response('dae/postes_liste.html', vars,
-                              RequestContext(request))
+    vars['postes'] = dae.Poste.objects.ma_region_ou_service(request.user).order_by('-date_creation')
+    return render_to_response('dae/postes_liste.html', vars, RequestContext(request))
 
 def filtered_type_remun():
     # Exclusion de "Indemnité de fonction" des types de rémun utilisés
     return rh.TypeRemuneration.objects.exclude(pk=7)
 
-@admin_required
-def embauche(request, key=None, dossier=None):
+@dae_groupe_requis
+@dossier_dans_ma_region_ou_service
+def embauche_consulter(request, dossier_id):
+    dossier = get_object_or_404(dae.Dossier, pk=dossier_id)
+
+    if request.POST:
+        validationForm = DossierWorkflowForm(request.POST, instance=dossier, request=request)
+        if validationForm.is_valid():
+            validationForm.save()
+            messages.add_message(request, messages.SUCCESS, "La validation a été enregistrée.")
+            return redirect('embauche_consulter', dossier_id=dossier.id)
+    else:
+        validationForm = DossierWorkflowForm(instance=dossier, request=request)
+    
+    vars = {
+        'dossier' : dossier,
+        'validationForm' : validationForm,
+        }
+    return render_to_response('dae/embauche_consulter.html', vars, RequestContext(request))
+
+@dae_groupe_requis
+@dossier_dans_ma_region_ou_service
+def embauche(request, key=None, dossier_id=None):
     """ Formulaire d'autorisation d'embauche. """
     if not key:
-        vars = dict(step='poste', form=ChoosePosteForm())
+        vars = dict(step='poste', form=ChoosePosteForm(request=request))
     else:
         type_remun = filtered_type_remun()
         vars = dict(type_remun=type_remun)
@@ -122,7 +145,7 @@ def embauche(request, key=None, dossier=None):
         if source != 'dae':
             return Http404
         poste = get_object_or_404(dae.Poste, pk=id)
-        if not dossier:
+        if not dossier_id:
             vars['new'] = True
 
         if request.POST:
@@ -142,25 +165,26 @@ def embauche(request, key=None, dossier=None):
                 else:
                     raise Http404
 
-            employe_form = EmployeForm(request.POST, instance=employe)
+            employe_form = EmployeForm(request.POST, instance=employe, request=request)
 
-            if 'save' in request.POST:
+            if request.POST:
                 if employe_form.is_valid():
                     data = dict(request.POST.items())
                     #with warnings.catch_warnings():
                     #    warnings.simplefilter('ignore')
                     employe = employe_form.save()
                     data['employe'] = 'dae-%s' % employe.id
-                    employe_form = EmployeForm(data, instance=employe)
+                    employe_form = EmployeForm(data, instance=employe, request=request)
 
-                if not dossier:
+                if not dossier_id:
                     dossier = dae.Dossier(poste=poste, employe=employe)
                 else:
-                    dossier = get_object_or_404(dae.Dossier, pk=dossier)
+                    dossier = get_object_or_404(dae.Dossier, pk=dossier_id)
                 dossier_form = DossierForm(request.POST, instance=dossier)
                 piecesForm = DossierPieceForm(request.POST, request.FILES, instance=dossier)
                 justificationsNouveauForm = JustificationNouvelEmployeForm(request.POST, instance=dossier)
                 justificationsAutreForm = JustificationAutreEmployeForm(request.POST, instance=dossier)
+                dossiersComparaisonsForm = DossierComparaisonForm(request.POST, instance=dossier)
 
                 if dossier_form.is_valid() and piecesForm.is_valid() and justificationsNouveauForm.is_valid() and justificationsAutreForm.is_valid():
                     dossier = dossier_form.save()
@@ -170,6 +194,9 @@ def embauche(request, key=None, dossier=None):
                     justificationsNouveauForm.save()
                     justificationsAutreForm.instance = dossier
                     justificationsAutreForm.save()
+                    dossiersComparaisonsForm.instance = dossier
+                    dossiersComparaisonsForm.save()
+
                     if not dossier.remuneration_set.all():
                         # Pré-peuplement des entrées de la section "coût
                         # global", à l'exclusion de "Indemnité de fonction"
@@ -194,10 +221,13 @@ def embauche(request, key=None, dossier=None):
                                     for k, v in cg_lines[r.id].items():
                                         setattr(r, k, v)
                                         r.save()
-                    
+
                     messages.add_message(request, messages.SUCCESS, "Le dossier %s a été sauvegardé." % dossier)
-                    return redirect('embauche', key='dae-%s' % poste.id,
-                                    dossier=dossier.id)
+                    if request.POST.has_key('save'):
+                        return redirect('embauche_consulter', dossier_id=dossier.id)
+                    else:
+                        return redirect('embauche', key=dossier.poste.key, dossier_id=dossier.id)
+                        
                 else:
                     messages.add_message(request, messages.ERROR, 'Il y a des erreurs dans le formulaire.')
                     
@@ -206,67 +236,47 @@ def embauche(request, key=None, dossier=None):
                 piecesForm = DossierPieceForm(instance=dossier)
                 justificationsNouveauForm = JustificationNouvelEmployeForm(instance=dossier)
                 justificationsAutreForm = JustificationAutreEmployeForm(instance=dossier)
+                dossiersComparaisonsForm = DossierComparaisonForm(instance=dossier)
         else:
             # Initialisation d'un formulaire vide
             dossier_rh = rh.Dossier()
             poste_rh = poste.id_rh
-            if dossier:
-                dossier = get_object_or_404(dae.Dossier, pk=dossier)
+            if dossier_id:
+                dossier = get_object_or_404(dae.Dossier, pk=dossier_id)
                 employe = dossier.employe
                 data = dict(employe='dae-%s' % employe.id)
-                employe_form = EmployeForm(initial=data, instance=employe)
+                employe_form = EmployeForm(initial=data, instance=employe, request=request)
             else:
                 dossier = pre_filled_dossier(dossier_rh, 'new', poste_rh)
-                employe_form = EmployeForm()
+                employe_form = EmployeForm(request=request)
 
             dossier_form = DossierForm(instance=dossier)
             piecesForm = DossierPieceForm(instance=dossier)
             justificationsNouveauForm = JustificationNouvelEmployeForm(instance=dossier)
             justificationsAutreForm = JustificationAutreEmployeForm(instance=dossier)
+            dossiersComparaisonsForm = DossierComparaisonForm(instance=dossier)
 
-        # Chargement des données de comparaison
-        comparaison_dossiers = []
-        famille = poste.type_poste.famille_emploi
-        # postes DAE (vieux dossiers)
-        postes_region = dae.Poste.objects.filter(implantation__region=poste.implantation.region)
-        for p in postes_region:
-            dossiers = p.get_dossiers()
-            if len(dossiers) > 0 and dossiers[0].poste1.type_poste.famille_emploi == famille:
-                comparaison_dossiers.append(dossiers[0])
-        # poste RHv1 (vieux dossiers)
-        postes_region = rh.Poste.objects.filter(implantation__region=poste.implantation.region)
-        for p in postes_region:
-            dossiers = p.poste1.all().order_by('rh_v1_dossier.date_creation') # through key incohérente... (dossiers)
-            if len(dossiers) > 0 and dossiers[0].poste1.type_poste.famille_emploi == famille:
-                comparaison_dossiers.append(dossiers[0])
-        
         vars = dict(step='employe',
+                type_remun=type_remun,
                 poste=poste,
                 dossier=dossier,
                 piecesForm=piecesForm,
                 justificationsNouveauForm=justificationsNouveauForm,
                 justificationsAutreForm=justificationsAutreForm,
-                comparaison_dossiers=comparaison_dossiers,
+                dossiersComparaisonsForm=dossiersComparaisonsForm,
                 forms=dict(employe=employe_form, dossier=dossier_form, )
                 )
     
 
     return render_to_response('dae/embauche.html', vars,
                               RequestContext(request))
-@admin_required
+@dae_groupe_requis
+@dossier_dans_ma_region_ou_service
 def embauches_liste(request):
     """ Liste des embauches. """
     vars = dict()
-    vars['embauches'] = []
-    for d in dae.Dossier.objects.all().order_by('-date_creation'):
-        versions =  Version.objects.get_for_object(d)
-        if len(versions) > 0:
-            premiere_revision = versions[0].revision
-        else:
-            premiere_revision = None
-        vars['embauches'].append((d, premiere_revision))
-    return render_to_response('dae/embauches_liste.html', vars,
-                              RequestContext(request))
+    vars['embauches'] = dae.Dossier.objects.ma_region_ou_service(request.user).order_by('-date_creation')
+    return render_to_response('dae/embauches_liste.html', vars, RequestContext(request))
 
 def employe(request, key):
     """ Récupération AJAX de l'employé pour la page d'embauche. """
@@ -288,7 +298,7 @@ def employe(request, key):
             for field in ('prenom', 'nom', 'genre'):
                 setattr(employe, field, getattr(e, field))
 
-    return HttpResponse(EmployeForm(initial=data, instance=employe).as_table())
+    return HttpResponse(EmployeForm(initial=data, instance=employe, request=request).as_table())
 
 def dossier(request, poste_key, employe_key):
     """ Récupération AJAX du dossier pour la page d'embauche. """
@@ -530,3 +540,23 @@ def add_remun(request, dossier, type_remun):
 
     return render_to_response('dae/embauche-remun.html', dict(dossier=dossier),
                               RequestContext(request))
+
+def dossier_resume(request, dossier_id=None):
+    """ Appel AJAX : 
+    input : valeur_point
+    output : devise, devise_code, taux_euro
+    """
+    try:
+        dossier = rh.Dossier.objects.get(id=dossier_id)
+    except:
+        return HttpResponseGone("Ce dossier n'est pas accessible")
+
+    data = {}
+    data['personne'] = unicode(dossier.employe)
+    data['implantation'] = dossier.implantation1.id
+    data['poste'] = u"%s %s" % (dossier.poste1.type_poste.nom, dossier.complement1)
+    data['montant'] = dossier.get_salaire()
+    data['devise'] = dossier.get_dernier_salaire_remun().devise.id
+    data['montant_euros'] = dossier.get_dernier_salaire_remun().en_euros()
+
+    return HttpResponse(dumps(data))
index d6b6b63..b575914 100644 (file)
@@ -1,32 +1,88 @@
 # -*- encoding: utf-8 -*-
 
+from django.contrib.auth.models import Group
 from auf.django.workflow.models import WorkflowMixin
 
-#codes actions
-POSTE_ACTION_CREER = u'CREER'
-POSTE_ACTION_TERMINER = 'TERMINER'
+# Groupes impliqués dans le Worflow
+grp_administrateurs, created = Group.objects.get_or_create(name='Administrateurs')
+grp_gestionnaires, created = Group.objects.get_or_create(name='Gestionnaires')
+grp_directeurs_bureau, created = Group.objects.get_or_create(name='Directeurs de bureau')
+grp_drh, created  = Group.objects.get_or_create(name='DRH')
+grp_pole_financier, created  =  Group.objects.get_or_create(name='Pôle financier')
+grp_haute_direction, created  = Group.objects.get_or_create(name='Haute direction')
+grp_service_utilisateurs, created = Group.objects.get_or_create(name='Service utilisateurs')
+grp_directeurs_service, created  = Group.objects.get_or_create(name='Directeurs de service / pôle')
+grp_correspondants_rh, created = Group.objects.get_or_create(name='Correspondants RH')
+
+dae_groupes = (grp_administrateurs, grp_gestionnaires, grp_directeurs_bureau, grp_drh,
+               grp_pole_financier, grp_haute_direction, grp_service_utilisateurs,
+               grp_directeurs_service, grp_correspondants_rh, )
 
 # codes états
 POSTE_ETAT_BROUILLON = 'BROUILLON'
-POSTE_ETAT_TERMINE = 'TERMINE'
+POSTE_ETAT_DIRECTEUR_BUREAU_OU_SERVICE = 'DIRECTEUR_BUR_SRV'
+POSTE_ETAT_ADMINISTRATEUR = 'ADMINISTRATEUR'
+POSTE_ETAT_DRH_CONTROLE = 'DRH_CONTROLE'
+POSTE_ETAT_POLE_FINANCIER = 'FINANCE'
+POSTE_ETAT_HAUTE_DIRECTION = 'HAUTE_DIRECTION'
+POSTE_ETAT_DRH_FINALISATION = 'DRH_FINALISATION'
+
+#codes actions
+POSTE_ACTION_ENVOYER_BROUILLON = POSTE_ETAT_BROUILLON
+POSTE_ACTION_ENVOYER_DIRECTEUR_BUREAU_OU_SERVICE = POSTE_ETAT_DIRECTEUR_BUREAU_OU_SERVICE
+POSTE_ACTION_ENVOYER_ADMINISTRATEUR = POSTE_ETAT_ADMINISTRATEUR
+POSTE_ACTION_ENVOYER_DRH_CONTROLE = POSTE_ETAT_DRH_CONTROLE
+POSTE_ACTION_ENVOYER_POLE_FINANCIER = POSTE_ETAT_POLE_FINANCIER
+POSTE_ACTION_ENVOYER_HAUTE_DIRECTION = POSTE_ETAT_HAUTE_DIRECTION
+POSTE_ACTION_ENVOYER_DRH_FINALISATION = POSTE_ETAT_DRH_FINALISATION
 
 #libellés états
 POSTE_ETATS = {
     POSTE_ETAT_BROUILLON : u'Brouillon',
-    POSTE_ETAT_TERMINE : u'Terminé',
+    POSTE_ETAT_DIRECTEUR_BUREAU_OU_SERVICE : u'Directeur de bureau, pôle ou service',
+    POSTE_ETAT_ADMINISTRATEUR : u'Adminstrateur',
+    POSTE_ETAT_DRH_CONTROLE : u'Contrôle DRH',
+    POSTE_ETAT_POLE_FINANCIER : u'Pôle financier',
+    POSTE_ETAT_HAUTE_DIRECTION : u'Haute direction',
+    POSTE_ETAT_DRH_FINALISATION : u'Finalisation DRH',
     }
 
 # définition du worflow séquentiel
 POSTE_ACTIONS = {
-    POSTE_ACTION_CREER : {
+    POSTE_ACTION_ENVOYER_BROUILLON : {
         'nom' : u'Créer',
         'etat_initial' : None,
         'etat_final' : POSTE_ETAT_BROUILLON,
     },
-    POSTE_ACTION_TERMINER : {
-        'nom' : u'Créer',
+    POSTE_ACTION_ENVOYER_DIRECTEUR_BUREAU_OU_SERVICE : {
+        'nom' : u'Envoyer',
         'etat_initial' : POSTE_ETAT_BROUILLON,
-        'etat_final' : POSTE_ETAT_TERMINE,
+        'etat_final' : POSTE_ETAT_DIRECTEUR_BUREAU_OU_SERVICE,
+    },
+    POSTE_ACTION_ENVOYER_ADMINISTRATEUR : {
+        'nom' : u'Envoyer',
+        'etat_initial' : POSTE_ETAT_DIRECTEUR_BUREAU_OU_SERVICE,
+        'etat_final' : POSTE_ETAT_ADMINISTRATEUR,
+    },
+    POSTE_ACTION_ENVOYER_DRH_CONTROLE : {
+        'nom' : u'Envoyer',
+        'etat_initial' : (POSTE_ETAT_DIRECTEUR_BUREAU_OU_SERVICE, POSTE_ETAT_ADMINISTRATEUR, ),
+        'etat_final' : POSTE_ETAT_DRH_CONTROLE,
+    },
+    POSTE_ACTION_ENVOYER_POLE_FINANCIER : {
+        'nom' : u'Envoyer',
+        'etat_initial' : POSTE_ETAT_DRH_CONTROLE,
+        'etat_final' : POSTE_ETAT_POLE_FINANCIER,
+    },
+    POSTE_ACTION_ENVOYER_HAUTE_DIRECTION : {
+        'nom' : u'Envoyer',
+        'etat_initial' : POSTE_ETAT_POLE_FINANCIER,
+        'etat_final' : POSTE_ETAT_HAUTE_DIRECTION,
+    },
+    POSTE_ACTION_ENVOYER_DRH_FINALISATION : {
+        'nom' : u'Envoyer',
+        'etat_initial' : POSTE_ETAT_HAUTE_DIRECTION,
+        'etat_final' : POSTE_ETAT_DRH_FINALISATION,
     },
 }
 
@@ -38,8 +94,46 @@ class PosteWorkflow(WorkflowMixin):
     class Meta:
         abstract = True
 
-    def acces_creer(self, action, request):
-        return True
 
-    def acces_terminer(self, action, request):
-        return True
+    def acces_directeur_bur_srv(self, action, request):
+        for g in request.user.groups.all():
+            if g in (grp_administrateurs, grp_gestionnaires, grp_service_utilisateurs, grp_correspondants_rh, grp_drh,):
+                return True
+        return False
+
+    def acces_administrateur(self, action, request):
+        for g in request.user.groups.all():
+            if g in (grp_directeurs_service, grp_drh,):
+                return True
+        return False
+
+    def acces_drh_controle(self, action, request):
+        for g in request.user.groups.all():
+            if g in (grp_directeurs_bureau, grp_administrateurs, grp_drh,):
+                return True
+        return False
+
+    def acces_finance(self, action, request):
+        for g in request.user.groups.all():
+            if g in (grp_drh, ):
+                return True
+        return False
+
+    def acces_haute_direction(self, action, request):
+        for g in request.user.groups.all():
+            if g in (grp_pole_financier, grp_drh, ):
+                return True
+        return False
+
+    def acces_drh_finalisation(self, action, request):
+        for g in request.user.groups.all():
+            if g in (grp_haute_direction, grp_drh, ):
+                return True
+        return False
+
+
+
+class DossierWorkflow(PosteWorkflow):
+
+    class Meta:
+        abstract = True
index 4c64ef9..03430bf 100644 (file)
@@ -5,7 +5,6 @@ Décorateurs AUF
 from django.contrib.auth.decorators import user_passes_test
 from django.core.urlresolvers import reverse
 from django.http import HttpResponseRedirect
-#from helpdesk.models import Ticket, TicketCC
 from permissions import is_employe, is_admin
 
 # Décorateurs des fonctions dans views (pour tester permissions dans views)
index 6fa11ec..f7beb02 100644 (file)
@@ -12,3 +12,5 @@ th ul.errorlist {float: right;}
 .gauche { float:left; }
 .droite { float:right; text-align:right; }
 h2.section {width:100%; background-color: #D0E8F8; text-align: center; color: #5F5F5F; margin: 50px 0px 26px 0px; border-bottom: 3px solid #BBD8EC; padding: 4px;}
+.montant {text-align: right;}
+.bouton-modifier {border:1px #BBD8EC solid; font-size: 14px; font-weight: bold; margin: 12px 0; padding: 4px 8px; color: #BBD8EC;}
index e1706a9..2c1a05b 100644 (file)
@@ -1,51 +1,82 @@
 /*******************************************************************************
 *          EMBAUCHE
 *******************************************************************************/
+function proposition_comparaison(devise_id) {
+  var chargement_devise = $.getJSON("/dae/devise/code", {'devise': devise_id});
+  chargement_devise.success(function(data) {
+      var salaire = $("#id_salaire").val();
+      var montant = parseFloat(data.taux_euro) * parseFloat(salaire);
+      $("#salaire-propose-euros").html(clean_float(montant));
+  });
+  chargement_devise.error(function(data) {
+      alert(data.responseText);
+  });
+}
 
 function activateDossierDropDowns() {
     $('#id_classement, #id_devise').change(loadSalaire);
 }
 
 function loadSalaire() {
-    $.getJSON('{% url salaire %}/' + $('#implantation').val() + '/' +
-              $('#id_devise').val() + '/' + $('#id_classement').val(),
-      function(data) {
-        $('#id_salaire').val(data.salaire_devise);
-      });
+    var implantation = $('#implantation').val();
+    var devise = $('#implantation').val();
+    var classement = $('#id_classement').val();
+    if (implantation && devise && classement) {
+        $.getJSON('/dae/salaire/' + implantation + '/' + devise + '/' + classement,
+          function(data) {
+            $('#id_salaire').val(clean_float(data.salaire_devise));
+            $('#id_salaire').trigger('change');
+          });
+    }
 }
 
 function round2(n) {
     return Math.round(n * 100) / 100;
 }
 
-$('#global-cost input[id^="montant"]').live('keyup', function() {
-    var value = $(this).val(),
-        idParts = $(this).attr('id').split('-'),
-        name = idParts[0],
-        id = idParts[1];
-    if (name == 'montant') {
-        $('#montant_mois-' + id).val(round2(value / 12));
-    } else {
-        value = value * 12;
-        $('#montant-' + id).val(round2(value));
-    }
-    var taux = $('#taux_devise-' + id).val();
-    $('#montant_euro_mois-' + id).text(round2(value / taux / 12));
-    $('#montant_euro-' + id).text(round2(value / taux));
-});
+function remun_line(input) {
+  var idParts = input.attr('id').split('-'),
+      name = idParts[0],
+      id = idParts[1];
 
-activateDossierDropDowns();
+  var montant_mensuel = $('#montant_mois-' + id);
+  var montant_annuel = $('#montant-' + id);
+  
+  if (input.attr('id') == montant_mensuel.attr('id')) value = (montant_mensuel.val() * 12);
+  if (input.attr('id') == montant_annuel.attr('id')) value = (montant_annuel.val());
 
-$('#type-remun').change(function() {
-    if ($(this).val() != '') {
-        $('#global-cost').html('<tr><td>Chargement...</td></tr>')
-                         .load('{% url add_remun %}/' +
-                               $('#dossier').val() + '/' +
-                               $(this).val(), function() {
-            $('#type-remun').val('');
-        });
-    }
-});
+  montant_mensuel.val(round2(value / 12));
+  montant_annuel.val(round2(value));
+
+  var taux = $('#taux_devise-' + id).val();
+  $('#montant_euro_mois-' + id).text(clean_float(round2(value / 12 * taux)));
+  $('#montant_euro-' + id).text(clean_float(round2(value * taux)));
+}
+
+function remun_totaux() {
+    $('#global-cost input[id^="montant"]').each(function() {
+        remun_line($(this));
+    });
+
+    var total_cout = 0;
+    $("tr.cout td.cumulable").each(function() {
+        total_cout += clean_float($(this).html());
+    });
+    $("#sous-total-cout").html(total_cout);
+
+    var total_aide = 0;
+    $("tr.aide td.cumulable").each(function() {
+        total_aide += clean_float($(this).html());
+    });
+    $("#sous-total-aide").html(total_aide);
+
+    var total = total_cout + total_aide;
+    $("#remun-total").html(total);
+
+}
+
+
+activateDossierDropDowns();
 
 /* Ajout des datespickers sur les inputs loadés via AJAX.
 On s'assure qu'on est pas dans le cas initial où ils sont déjà ajoutés.
@@ -93,4 +124,52 @@ $(document).ready(function() {
     });
     contrat_mois();
 
+    /* totaux remu */
+    $('#global-cost input').change(function() {
+        remun_line($(this));
+        remun_totaux();
+    });
+
+    /* Ajouter une ligne aux couts globals */
+    $('#type-remun').change(function() {
+        if ($(this).val() != '') {
+            $('#global-cost').html('<tr><td>Chargement...</td></tr>')
+                             .load('/dae/add-remun/' +
+                                   $('#dossier').val() + '/' +
+                                   $(this).val(), function() {
+                $('#type-remun').val('');
+            });
+        }
+    });
+    remun_totaux();
+
+    /* Traitement de la recherche AJAX pour les dossiers de comparaison */
+    $(".results_on_deck").bind('added', function() {
+
+        /* récupération du choix dans la liste */
+        var input_id = $(this).attr('id').replace('_on_deck', '');
+        var prefix_dossier_connexe = $(this).attr('id').replace('recherche_on_deck', '');
+        var input = $('#'+input_id);
+        var dossier_id = input.val();
+
+        /* interrogation par AJAX pour récupérer les données du dossier */
+        var chargement_dossier = $.getJSON("/dae/dossier_resume/" + dossier_id);
+        chargement_dossier.success(function(data) {
+            $('#' + prefix_dossier_connexe + 'implantation').val(data['implantation']);
+            $('#' + prefix_dossier_connexe + 'poste').val(data['poste']);
+            $('#' + prefix_dossier_connexe + 'personne').val(data['personne']);
+            $('#' + prefix_dossier_connexe + 'montant').val(data['montant']);
+            $('#' + prefix_dossier_connexe + 'devise').val(data['devise']);
+            $('#' + prefix_dossier_connexe + 'montant_euros').val(data['montant_euros']);
+        });
+        chargement_dossier.error(function(data) {
+            alert(data.responseText);
+        });
+        
+        /* on ne veut pas afficher la personne en-dessous */
+        $(this).find('div').remove();
+        input.val('');
+
+    });
+
 });
index f1756ce..daa3b52 100644 (file)
@@ -62,6 +62,15 @@ function charger_valeurs_point(implantation_id) {
 /* Calcul des totaux dans les 2 devises, selon les champs sélectionnés. Cette fonction
 est appelée À chaque modification du formulaire de classement. */
 function recalculer_ligne(element) {
+
+    /* on laisse la possibilité de choisir le salaire manuellement,
+       la réinitialisation du salaire de base s'opère dès qu'on choisi
+       un nouveau classement. */
+    if (element.attr('id').match('id_classement*'))
+        salaire_manuel = false;
+    else
+        salaire_manuel = true;
+
     var ligne = element.parents("tr");
     var inputs = ligne.find("input, select");
     var salaire_input;
@@ -98,9 +107,11 @@ function recalculer_ligne(element) {
             valeur_point = 0;
         else
             valeur_point = clean_float(valeur_point_text.split(" ")[0]);
-
-        salaire = clean_float(valeur_point * coeff);
-        salaire_input.val(salaire);
+        
+        if (salaire_manuel == false) {
+            salaire = clean_float(valeur_point * coeff);
+            salaire_input.val(salaire);
+        }
 
         taux_euro = parseFloat(ligne.find(".taux").html())
         total = 0;
@@ -115,7 +126,7 @@ function recalculer_ligne(element) {
 
 /* recalcule tout le classement */
 function recalculer_tout() {
-    $("#classement tr *[name*=devise]").each(function() {
+    $("#classement tr *[name*=classement]").each(function() {
         recalculer_ligne($(this));
     });
 }
@@ -187,16 +198,10 @@ $(document).ready(function() {
 
     });
 
-    $('#id_classement_min, #id_classement_max').change(function(e) {
-        var classement = $(this);
-        recalculer_ligne(classement);
-    });
-
-    /* refresh des totaux à chaque changement quelconque */
-    $('#classement input, #classement select').change(function() {
+    $('#id_classement_min, #id_classement_max, #classement input, #classement select').change(function(e) {
         recalculer_ligne($(this));
     });
-    
+
     /* au chargement, on calcule tout */
     recalculer_tout();
 
index e464166..828dfe2 100644 (file)
@@ -1,10 +1,12 @@
 /* string to float */
 function clean_float(value){
-    if (isNaN(value) || value == undefined)
+    if (isNaN(value) || value == undefined || value == "") {
         output = 0;
-    else
+    }
+    else {
         output = parseFloat(value);
         output = Math.round(output*100)/100;
+    }
     return parseInt(output);
 }
 
diff --git a/project/rh/admin.py b/project/rh/admin.py
new file mode 100644 (file)
index 0000000..405b00b
--- /dev/null
@@ -0,0 +1,122 @@
+# -*- encoding: utf-8 -*-
+
+from models import *
+from django.contrib import admin
+
+class CommentaireAdmin(admin.ModelAdmin):
+    pass
+
+class PosteAdmin(admin.ModelAdmin):
+    pass
+
+class PosteFinancementAdmin(admin.ModelAdmin):
+    pass
+
+class PostePieceAdmin(admin.ModelAdmin):
+    pass
+
+class PosteCommentaireAdmin(admin.ModelAdmin):
+    pass
+
+class EmployeAdmin(admin.ModelAdmin):
+    pass
+
+class EmployePieceAdmin(admin.ModelAdmin):
+    pass
+
+class EmployeCommentaireAdmin(admin.ModelAdmin):
+    pass
+
+class AyantDroitAdmin(admin.ModelAdmin):
+    pass
+
+class AyantDroitCommentaireAdmin(admin.ModelAdmin):
+    pass
+
+class DossierAdmin(admin.ModelAdmin):
+    pass
+
+class DossierPieceAdmin(admin.ModelAdmin):
+    pass
+
+class DossierCommentaireAdmin(admin.ModelAdmin):
+    pass
+
+class RemunerationAdmin(admin.ModelAdmin):
+    pass
+
+class ContratAdmin(admin.ModelAdmin):
+    pass
+
+class EvenementAdmin(admin.ModelAdmin):
+    pass
+
+class EvenementRemunerationAdmin(admin.ModelAdmin):
+    pass
+
+class FamilleEmploiAdmin(admin.ModelAdmin):
+    pass
+
+class TypePosteAdmin(admin.ModelAdmin):
+    pass
+
+class TypeRemunerationAdmin(admin.ModelAdmin):
+    pass
+
+class TypeRevalorisationAdmin(admin.ModelAdmin):
+    pass
+
+class ServiceAdmin(admin.ModelAdmin):
+    pass
+
+class OrganismeBstgAdmin(admin.ModelAdmin):
+    pass
+
+class StatutAdmin(admin.ModelAdmin):
+    pass
+
+class ClassementAdmin(admin.Mod