Merge branch 'master' into recrutement
authorPA Parent <paparent@paparent.me>
Tue, 10 Jul 2012 17:56:10 +0000 (13:56 -0400)
committerPA Parent <paparent@paparent.me>
Tue, 10 Jul 2012 17:56:10 +0000 (13:56 -0400)
Conflicts:
project/recrutement/admin.py

60 files changed:
project/assets/js/dae-poste.js
project/dae/admin.py
project/dae/forms.py
project/dae/management/__init__.py [new file with mode: 0644]
project/dae/management/commands/__init__.py [new file with mode: 0644]
project/dae/management/commands/dae.py [new file with mode: 0644]
project/dae/migrations/0077_supprimer_objets_flagges.py [new file with mode: 0644]
project/dae/migrations/0078_auto__del_importdossier__del_importposte__del_field_contrat_supprime__.py [new file with mode: 0644]
project/dae/migrations/0079_auto__del_field_employe_supprime__del_field_employe_user_creation__del.py [new file with mode: 0644]
project/dae/models.py
project/dae/permissions.py
project/dae/templates/dae/embauche_consulter.html
project/dae/templates/dae/embauches_finalisees.html
project/dae/templates/dae/poste.html
project/dae/templates/dae/poste_consulter.html
project/dae/templatetags/dae.py
project/dae/views.py
project/dae/workflow.py
project/dashboard.py
project/decorators.py
project/menu.py
project/permissions.py [new file with mode: 0644]
project/recrutement/admin.py
project/recrutement/models.py
project/recrutement/views.py
project/rh/admin.py
project/rh/catalogues.py
project/rh/graph.py
project/rh/historique.py [new file with mode: 0644]
project/rh/management/commands/rh.py
project/rh/managers.py
project/rh/migrations/0031_supprimer_objets_flag_supprime.py [new file with mode: 0644]
project/rh/migrations/0032_auto__del_field_postecomparaison_supprime__del_field_postecomparaison_.py [new file with mode: 0644]
project/rh/migrations/0033_rebase.py [new file with mode: 0644]
project/rh/migrations/0034_auto__add_modificationtraite.py [new file with mode: 0644]
project/rh/models.py
project/rh/templates/admin/rh/dossier/change_list.html
project/rh/templates/admin/rh/employe/change_list.html
project/rh/templates/admin/rh/poste/change_list.html
project/rh/templates/rh/rapports/historique_des_modifications.html [new file with mode: 0644]
project/rh/templatetags/change_list.py
project/rh/templatetags/rapports.py
project/rh/test/__init__.py [new file with mode: 0644]
project/rh/test/common.py [new file with mode: 0644]
project/rh/test/dossier.py [new file with mode: 0644]
project/rh/test/employe.py [new file with mode: 0644]
project/rh/test/poste.py [new file with mode: 0644]
project/rh/test/rapport.py [new file with mode: 0644]
project/rh/tests.py
project/rh/urls.py
project/rh/views.py
project/settings.py
project/templates/actions.html [new file with mode: 0644]
project/templates/admin_tools/dashboard/modules/link_list.html [new file with mode: 0644]
project/templates/index.html
project/templates/menu.html
project/templates/reversion/change_form.html [new file with mode: 0644]
project/templates/reversion/revision_form.html [new file with mode: 0644]
src/auf.django.metadata/auf/django/metadata/managers.py [deleted file]
versions.cfg

index 5093641..ea7b841 100644 (file)
@@ -170,14 +170,19 @@ function setup_taux_ligne(element) {
   });
 }
 
+function poste_redirection() {
+  var id_poste = $("#id_poste").val();
+  if (id_poste)
+      window.location = '/dae/poste/' + id_poste +
+          '?type_intervention=' + $("input[name='type_intervention']:checked").val();
+}
+
 $(document).ready(function() {
 
     /* Lorsqu'on choisit un poste dans la liste on recharge la page avec le
     poste chargé dans la view (grâce à son id dans l'URL).*/
     $('#id_poste').change(function() {
-        var id_poste = $(this).val();
-        if (id_poste)
-            window.location = '/dae/poste/' + id_poste;
+        poste_redirection();
     });
 
     /* La fonctionnalité de présélection, est activé uniquement si aucune implantation n'a déjà été
@@ -194,6 +199,16 @@ $(document).ready(function() {
         charger_valeurs_point(implantation_id);
     });
 
+    $('#poste_id_shortcut').change(function() {
+      var poste_id_rh = $('#poste_id_shortcut').val();
+      var key = 'rh-'+poste_id_rh;
+      $('#id_poste').val(key);
+      if ($('#id_poste').val() == key) {
+        poste_redirection();
+      }
+
+    });
+
 
     $('#id_valeur_point_min, #id_valeur_point_max').change(function(e) {
         // pas de traitement si aucune valeur de point n'est choisie
index b8e3f5f..7f3b137 100644 (file)
@@ -3,8 +3,6 @@
 from django import forms
 from django.contrib import admin
 
-from reversion.admin import VersionAdmin
-
 from auf.django.workflow.models import WorkflowCommentaire
 
 from project.dae.models import Poste, Dossier, ProxyDossierStatut, \
@@ -24,11 +22,11 @@ class BaseAdmin(admin.ModelAdmin):
         )
 
 
-class PosteAdmin(BaseAdmin, VersionAdmin):
+class PosteAdmin(BaseAdmin):
     list_display = ('nom', 'implantation', 'etat', )
 
 
-class DossierAdmin(BaseAdmin, VersionAdmin):
+class DossierAdmin(BaseAdmin):
     list_display = ('_poste', '_implantation', 'employe', 'etat', )
     list_filter = ('etat', )
     exclude = ('etat', )
@@ -82,7 +80,7 @@ class StatutPosteForm(StatutForm):
         fields = ('etat', )
 
 
-class StatutAdmin(BaseAdmin, VersionAdmin):
+class StatutAdmin(BaseAdmin):
     action = None
 
     def has_delete_permission(self, request, obj=None):
index 6ddd45b..0de2b4b 100644 (file)
@@ -3,6 +3,7 @@
 import datetime
 
 from django import forms
+from django.forms.models import BaseInlineFormSet
 from django.contrib.admin import widgets as admin_widgets
 from django.db.models import Q, Max
 from django.forms.models import inlineformset_factory, modelformset_factory
@@ -17,8 +18,71 @@ from project.groups import \
         get_employe_from_user, is_user_dans_services_centraux
 
 from project.dae import models as dae
-from project.dae.workflow import \
-        grp_drh, POSTE_ETATS_BOUTONS, POSTE_ETAT_FINALISE
+from project.dae.workflow import grp_drh, POSTE_ETATS_BOUTONS
+
+
+class BaseInlineFormSetWithInitial(BaseInlineFormSet):
+    """
+    Cette classe permet de fournir l'option initial aux inlineformsets.
+    Elle devient désuette en django 1.4.
+    """
+    def __init__(self, data=None, files=None, instance=None,
+                 save_as_new=False, prefix=None, queryset=None, **kwargs):
+
+        self.initial_extra = kwargs.pop('initial', None)
+
+        from django.db.models.fields.related import RelatedObject
+        if instance is None:
+            self.instance = self.fk.rel.to()
+        else:
+            self.instance = instance
+        self.save_as_new = save_as_new
+        # is there a better way to get the object descriptor?
+        self.rel_name = RelatedObject(self.fk.rel.to, self.model, self.fk).get_accessor_name()
+        if queryset is None:
+            queryset = self.model._default_manager
+        qs = queryset.filter(**{self.fk.name: self.instance})
+        super(BaseInlineFormSetWithInitial, self).__init__(data, files, prefix=prefix,
+                                                queryset=qs, **kwargs)
+
+    def _construct_form(self, i, **kwargs):
+        if self.is_bound and i < self.initial_form_count():
+            # Import goes here instead of module-level because importing
+            # django.db has side effects.
+            from django.db import connections
+            pk_key = "%s-%s" % (self.add_prefix(i), self.model._meta.pk.name)
+            pk = self.data[pk_key]
+            pk_field = self.model._meta.pk
+            pk = pk_field.get_db_prep_lookup('exact', pk,
+                connection=connections[self.get_queryset().db])
+            if isinstance(pk, list):
+                pk = pk[0]
+            kwargs['instance'] = self._existing_object(pk)
+        if i < self.initial_form_count() and not kwargs.get('instance'):
+            kwargs['instance'] = self.get_queryset()[i]
+        if i >= self.initial_form_count() and self.initial_extra:
+            # Set initial values for extra forms
+            try:
+                kwargs['initial'] = self.initial_extra[i-self.initial_form_count()]
+            except IndexError:
+                pass
+
+        defaults = {'auto_id': self.auto_id, 'prefix': self.add_prefix(i)}
+        if self.is_bound:
+            defaults['data'] = self.data
+            defaults['files'] = self.files
+        if self.initial:
+            try:
+                defaults['initial'] = self.initial[i]
+            except IndexError:
+                pass
+        # Allow extra forms to be empty.
+        if i >= self.initial_form_count():
+            defaults['empty_permitted'] = True
+        defaults.update(kwargs)
+        form = self.form(**defaults)
+        self.add_fields(form, i)
+        return form
 
 
 def _implantation_choices(obj, request):
@@ -113,16 +177,30 @@ def label_poste_display(poste):
     annee = ""
     if poste.date_debut:
         annee = poste.date_debut.year
+
+    nom = poste.nom
+    
     label = u"%s %s - %s [%s]" % (
-        annee, poste.type_poste, poste.type_poste.categorie_emploi.nom,
-        poste.id
+        annee, nom, poste.type_poste.categorie_emploi.nom, poste.id
     )
     return label
 
-PostePieceForm = inlineformset_factory(dae.Poste, dae.PostePiece)
+
+PostePieceFormSet = inlineformset_factory(dae.Poste, dae.PostePiece,)
 DossierPieceForm = inlineformset_factory(dae.Dossier, dae.DossierPiece)
-FinancementForm = inlineformset_factory(
-    dae.Poste, dae.PosteFinancement, extra=2
+
+# Ce formset est utilisé dans le cas de la création de poste prépopulé avec les
+# données de RH
+FinancementFormSetInitial = inlineformset_factory(
+    dae.Poste,
+    dae.PosteFinancement,
+    formset=BaseInlineFormSetWithInitial,
+    extra=2
+)
+FinancementFormSet = inlineformset_factory(
+    dae.Poste,
+    dae.PosteFinancement,
+    extra=2
 )
 
 
@@ -150,8 +228,22 @@ class PosteComparaisonForm(forms.ModelForm):
         model = dae.PosteComparaison
         exclude = ('poste',)
 
-PosteComparaisonFormSet = modelformset_factory(
-    dae.PosteComparaison, extra=3, max_num=3, form=PosteComparaisonForm
+# Ce formset est utilisé dans le cas de la création de poste prépopulé avec les
+# données de RH
+PosteComparaisonFormSetInitial = inlineformset_factory(
+    dae.Poste,
+    dae.PosteComparaison,
+    extra=3,
+    max_num=3,
+    form=PosteComparaisonForm,
+    formset=BaseInlineFormSetWithInitial,
+)
+PosteComparaisonFormSet = inlineformset_factory(
+    dae.Poste,
+    dae.PosteComparaison,
+    extra=3,
+    max_num=3,
+    form=PosteComparaisonForm,
 )
 
 
@@ -254,6 +346,7 @@ class PosteForm(forms.ModelForm):
         request = kwargs.pop('request')
         super(PosteForm, self).__init__(*args, **kwargs)
         self.fields['poste'].choices = self._poste_choices(request)
+        
         self.fields['implantation'].choices = \
                 _implantation_choices(self, request)
 
@@ -265,23 +358,14 @@ class PosteForm(forms.ModelForm):
 
     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.
-
+        Constitué des postes de RH
         """
-        copies = dae.Poste.objects \
-                .ma_region_ou_service(request.user) \
-                .exclude(id_rh__isnull=True) \
-                .filter(etat=POSTE_ETAT_FINALISE)
-        id_copies = [p.id_rh_id for p in copies.all()]
-        rhv1 = rh.Poste.objects.ma_region_ou_service(request.user) \
-                .exclude(id__in=id_copies)
-        # Optimisation de la requête
-        rhv1 = rhv1.select_related(depth=1)
+        postes_rh = rh.Poste.objects.ma_region_ou_service(request.user).all()
+        postes_rh = postes_rh.select_related(depth=1)
 
         return [('', 'Nouveau poste')] + \
-               sorted([('rh-%s' % p.id, label_poste_display(p)) for p in rhv1],
+               sorted([('rh-%s' % p.id, label_poste_display(p)) for p in
+                   postes_rh],
                       key=lambda t: t[1])
 
     def clean(self):
@@ -300,17 +384,6 @@ class PosteForm(forms.ModelForm):
 
         return cleaned_data
 
-    def save(self, *args, **kwargs):
-        kwargs2 = kwargs.copy()
-        kwargs2['commit'] = False
-        poste = super(PosteForm, self).save(*args, **kwargs2)
-        # id_rh
-        if 'commit' not in kwargs or kwargs['commit']:
-            if poste.id is None:
-                poste.date_creation = datetime.datetime.now()
-            poste.save()
-        return poste
-
 
 class ChoosePosteForm(forms.ModelForm):
     class Meta:
@@ -362,13 +435,6 @@ class DossierForm(forms.ModelForm):
                        contrat_date_fin=admin_widgets.AdminDateWidget(),
                     )
 
-    def save(self, *args, **kwargs):
-        dossier = super(DossierForm, self).save(*args, **kwargs)
-        if dossier.id is None:
-            dossier.date_creation = datetime.datetime.now()
-        dossier.save()
-        return dossier
-
 WF_HELP_TEXT = ""
 
 
diff --git a/project/dae/management/__init__.py b/project/dae/management/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/project/dae/management/commands/__init__.py b/project/dae/management/commands/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/project/dae/management/commands/dae.py b/project/dae/management/commands/dae.py
new file mode 100644 (file)
index 0000000..43f7e2a
--- /dev/null
@@ -0,0 +1,24 @@
+# -*- encoding: utf-8 -*-
+
+import sys
+import codecs
+from django.core.management.base import BaseCommand
+from project.rh import models as rh
+from project.dae import models as dae
+
+class Command(BaseCommand):
+
+    def handle(self, *args, **options):
+
+        stdout = options.get('stdout', sys.stdout)
+        self.stdout = codecs.getwriter('utf8')(stdout)
+
+        if args[0] == "liste_poste":
+            for poste in dae.Poste.objects.filter(id_rh__isnull=False):
+                self.stdout.write(u"%s: %s %s [%s]\n" % (poste.id, poste.nom,
+                        poste.implantation, poste.etat))
+
+        if args[0] == "importer_poste":
+            poste = dae.Poste.objects.get(id=args[1])
+            poste.importer_dans_rh()
+            self.stdout.write(u"DAE:%s => RH:%s\n" % (poste.id, poste.id_rh.id))
diff --git a/project/dae/migrations/0077_supprimer_objets_flagges.py b/project/dae/migrations/0077_supprimer_objets_flagges.py
new file mode 100644 (file)
index 0000000..347f920
--- /dev/null
@@ -0,0 +1,533 @@
+# encoding: utf-8
+from south.v2 import DataMigration
+
+
+class Migration(DataMigration):
+
+    def forwards(self, orm):
+        orm.Contrat.objects.filter(supprime=True).delete()
+        orm.Dossier.objects.filter(supprime=True).delete()
+        orm.Employe.objects.filter(supprime=True).delete()
+        orm.Poste.objects.filter(supprime=True).delete()
+        orm.PosteComparaison.objects.filter(supprime=True).delete()
+        orm.Remuneration.objects.filter(supprime=True).delete()
+
+    def backwards(self, orm):
+        pass
+
+    models = {
+        'auth.group': {
+            'Meta': {'object_name': 'Group'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
+            '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', [], {'unique': 'True', 'max_length': '30'})
+        },
+        '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.contrat': {
+            'Meta': {'object_name': 'Contrat'},
+            'date_creation': ('django.db.models.fields.DateTimeField', [], {'null': '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', [], {'null': 'True', 'blank': 'True'}),
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dae_contrats'", 'db_column': "'dossier'", 'to': "orm['dae.Dossier']"}),
+            'fichier': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'type_contrat': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'type_contrat'", 'to': "orm['rh.TypeContrat']"}),
+            'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}),
+            'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"})
+        },
+        'dae.dossier': {
+            'Meta': {'object_name': 'Dossier'},
+            'classement': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'classement'", 'to': "orm['rh.Classement']"}),
+            'classement_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Classement']"}),
+            'classement_titulaire_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.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'}),
+            'dae_numerisee': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+            'date_creation': ('django.db.models.fields.DateTimeField', [], {'null': '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', [], {'null': 'True', 'blank': 'True'}),
+            'devise': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh.Devise']"}),
+            'devise_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Devise']"}),
+            'devise_titulaire_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Devise']"}),
+            'dossier_rh': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'dossiers_dae'", 'null': 'True', 'to': "orm['rh.Dossier']"}),
+            'employe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dae_dossiers'", 'db_column': "'employe'", 'to': "orm['dae.Employe']"}),
+            'employe_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.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'}),
+            'justif_nouveau_commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'justif_nouveau_salaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'justif_nouveau_statut': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'justif_nouveau_tmp_remplacement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'justif_rempl_commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'justif_rempl_evaluation': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'justif_rempl_salaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'justif_rempl_statut_employe': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'justif_rempl_type_contrat': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'organisme_bstg': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'organisme_bstg'", 'to': "orm['rh.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': "'dae_dossiers'", 'db_column': "'poste'", 'to': "orm['dae.Poste']"}),
+            'regime_travail': ('django.db.models.fields.DecimalField', [], {'default': "'100.00'", 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'default': "'35.00'", 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'remplacement': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'remplacement_de': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['dae.Dossier']"}),
+            'salaire': ('django.db.models.fields.DecimalField', [], {'default': 'None', 'null': 'True', 'max_digits': '13', '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': "'+'", 'null': 'True', 'to': "orm['rh.Statut']"}),
+            'statut_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Statut']"}),
+            'statut_residence': ('django.db.models.fields.CharField', [], {'default': "'local'", 'max_length': '10', 'null': 'True'}),
+            'statut_titulaire_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Statut']"}),
+            'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'type_contrat': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh.TypeContrat']"}),
+            'type_contrat_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.TypeContrat']"}),
+            'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}),
+            'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"})
+        },
+        'dae.dossiercomparaison': {
+            'Meta': {'object_name': 'DossierComparaison'},
+            'classement': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Classement']"}),
+            'devise': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Devise']"}),
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dae_comparaisons'", 'to': "orm['dae.Dossier']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['managedref.Implantation']"}),
+            'montant': ('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'}),
+            'statut': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Statut']"})
+        },
+        'dae.dossierpiece': {
+            'Meta': {'object_name': 'DossierPiece'},
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dae_dossierpieces'", 'db_column': "'dossier'", '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'},
+            'date_creation': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'genre': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'id_rh': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Employe']"}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'prenom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}),
+            'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"})
+        },
+        'dae.importdossier': {
+            'Meta': {'object_name': 'ImportDossier'},
+            'dae': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['dae.Dossier']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'rh': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh.Dossier']"})
+        },
+        'dae.importposte': {
+            'Meta': {'object_name': 'ImportPoste'},
+            'dae': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['dae.Poste']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'rh': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh.Poste']"})
+        },
+        'dae.poste': {
+            'Meta': {'object_name': 'Poste'},
+            'appel': ('django.db.models.fields.CharField', [], {'default': "'interne'", 'max_length': '10', 'null': 'True'}),
+            'autre_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'autre_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'charges_patronales_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'charges_patronales_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'classement_max': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'classement_max'", 'to': "orm['rh.Classement']"}),
+            'classement_min': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'classement_min'", 'to': "orm['rh.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', [], {'null': 'True', 'blank': 'True'}),
+            'date_debut': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'devise_comparaison': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'devise_comparaison'", 'to': "orm['rh.Devise']"}),
+            'devise_max': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'devise_max'", 'to': "orm['rh.Devise']"}),
+            'devise_min': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'devise_min'", 'to': "orm['rh.Devise']"}),
+            'etat': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '20', 'null': 'True', 'blank': 'True'}),
+            'expatrie': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', '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.Poste']"}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'implantation'", 'to': "orm['managedref.Implantation']"}),
+            'indemn_expat_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'indemn_expat_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '13', 'decimal_places': '2'}),
+            'indemn_fct_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'indemn_fct_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'indemn_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'indemn_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'justification': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'local': ('django.db.models.fields.NullBooleanField', [], {'default': 'True', 'null': 'True', 'blank': 'True'}),
+            'mise_a_disposition': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_feminin': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True'}),
+            'regime_travail': ('django.db.models.fields.DecimalField', [], {'default': "'100.00'", 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'default': "'35.00'", 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'responsable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'responsable'", 'to': "orm['rh.Poste']"}),
+            'salaire_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'salaire_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'service': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'service'", 'to': "orm['rh.Service']"}),
+            'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'type_intervention': ('django.db.models.fields.CharField', [], {'default': "'N'", 'max_length': '1'}),
+            'type_poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'type_poste'", 'to': "orm['rh.TypePoste']"}),
+            'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}),
+            'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"}),
+            'valeur_point_max': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'valeur_point_max'", 'to': "orm['rh.ValeurPoint']"}),
+            'valeur_point_min': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'valeur_point_min'", 'to': "orm['rh.ValeurPoint']"})
+        },
+        'dae.postecomparaison': {
+            'Meta': {'object_name': 'PosteComparaison'},
+            'classement': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Classement']"}),
+            'date_creation': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'devise': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Devise']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['managedref.Implantation']"}),
+            'montant': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dae_comparaisons_internes'", 'to': "orm['dae.Poste']"}),
+            'statut': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Statut']"}),
+            'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}),
+            'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"})
+        },
+        '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': "'dae_financements'", 'db_column': "'poste'", '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', [], {'related_name': "'dae_pieces'", 'db_column': "'poste'", 'to': "orm['dae.Poste']"})
+        },
+        'dae.remuneration': {
+            'Meta': {'object_name': 'Remuneration'},
+            'commentaire': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'date_creation': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'date_debut': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'devise': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'devise'", 'to': "orm['rh.Devise']"}),
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dae_remunerations'", 'db_column': "'dossier'", 'to': "orm['dae.Dossier']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'montant': ('django.db.models.fields.DecimalField', [], {'default': '0', 'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'type'", 'to': "orm['rh.TypeRemuneration']"}),
+            'type_revalorisation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'type_revalorisation'", 'to': "orm['rh.TypeRevalorisation']"}),
+            'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}),
+            'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"})
+        },
+        'managedref.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.AutoField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['managedref.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['managedref.Region']", 'db_column': "'region'"})
+        },
+        'managedref.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['managedref.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['managedref.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['managedref.Implantation']", 'db_column': "'bureau_rattachement'"}),
+            '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.AutoField', [], {'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['managedref.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'})
+        },
+        'managedref.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['managedref.Bureau']", 'to_field': "'code'", 'null': 'True', 'db_column': "'code_bureau'", 'blank': 'True'}),
+            'code_iso3': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '3'}),
+            'developpement': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'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['managedref.Region']", 'db_column': "'region'"})
+        },
+        'managedref.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.AutoField', [], {'primary_key': 'True'}),
+            'implantation_bureau': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'gere_region'", 'null': 'True', 'db_column': "'implantation_bureau'", 'to': "orm['managedref.Implantation']"}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'})
+        },
+        'references.implantation': {
+            'Meta': {'managed': 'False', 'object_name': 'Implantation', 'db_table': "u'ref_implantation'", '_ormbases': ['managedref.Implantation']}
+        },
+        'references.pays': {
+            'Meta': {'managed': 'False', 'object_name': 'Pays', 'db_table': "u'ref_pays'", '_ormbases': ['managedref.Pays']}
+        },
+        'rh.categorieemploi': {
+            'Meta': {'object_name': 'CategorieEmploi'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh.classement': {
+            'Meta': {'object_name': 'Classement'},
+            'coefficient': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+            'commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'degre': ('django.db.models.fields.IntegerField', [], {'default': '0', 'blank': 'True'}),
+            'echelon': ('django.db.models.fields.IntegerField', [], {'default': '0', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '10'})
+        },
+        'rh.devise': {
+            'Meta': {'object_name': 'Devise'},
+            'archive': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '10'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh.dossier': {
+            'Meta': {'object_name': 'Dossier'},
+            'classement': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'classement'", 'to': "orm['rh.Classement']"}),
+            'date_debut': ('django.db.models.fields.DateField', [], {}),
+            'date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'employe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rh_dossiers'", 'db_column': "'employe'", 'to': "orm['rh.Employe']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'organisme_bstg': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'organisme_bstg'", 'to': "orm['rh.OrganismeBstg']"}),
+            'poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rh_dossiers'", 'db_column': "'poste'", 'to': "orm['rh.Poste']"}),
+            'principal': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
+            'regime_travail': ('django.db.models.fields.DecimalField', [], {'default': "'100.00'", 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'default': "'35.00'", 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'remplacement': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'remplacement_de': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Dossier']"}),
+            'statut': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Statut']"}),
+            'statut_residence': ('django.db.models.fields.CharField', [], {'default': "'local'", 'max_length': '10', 'null': 'True'})
+        },
+        'rh.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'}),
+            'date_entree': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_naissance': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'genre': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nationalite': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'employes_nationalite'", 'db_column': "'nationalite'", 'to_field': "'code'", 'to': "orm['managedref.Pays']", 'blank': 'True', 'null': 'True'}),
+            'nb_postes': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_affichage': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'employes'", 'db_column': "'pays'", 'to_field': "'code'", 'to': "orm['managedref.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.familleprofessionnelle': {
+            'Meta': {'object_name': 'FamilleProfessionnelle'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+        },
+        'rh.organismebstg': {
+            'Meta': {'object_name': 'OrganismeBstg'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'organismes_bstg'", 'db_column': "'pays'", 'to_field': "'code'", 'to': "orm['managedref.Pays']", 'blank': 'True', 'null': 'True'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '10'})
+        },
+        'rh.poste': {
+            'Meta': {'object_name': 'Poste'},
+            'appel': ('django.db.models.fields.CharField', [], {'default': "'interne'", 'max_length': '10', 'null': 'True'}),
+            'autre_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'autre_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'classement_max': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'classement_max'", 'to': "orm['rh.Classement']"}),
+            'classement_min': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'classement_min'", 'to': "orm['rh.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_debut': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'devise_comparaison': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'devise_comparaison'", 'to': "orm['rh.Devise']"}),
+            'devise_max': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'devise_max'", 'to': "orm['rh.Devise']"}),
+            'devise_min': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'devise_min'", 'to': "orm['rh.Devise']"}),
+            'expatrie': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'implantation'", 'to': "orm['managedref.Implantation']"}),
+            'indemn_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'indemn_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'justification': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'local': ('django.db.models.fields.NullBooleanField', [], {'default': 'True', 'null': 'True', 'blank': 'True'}),
+            'mise_a_disposition': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_feminin': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True'}),
+            'regime_travail': ('django.db.models.fields.DecimalField', [], {'default': "'100.00'", 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'default': "'35.00'", 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'responsable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'responsable'", 'to': "orm['rh.Poste']"}),
+            'salaire_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'salaire_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'service': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'service'", 'to': "orm['rh.Service']"}),
+            'type_poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'type_poste'", 'to': "orm['rh.TypePoste']"}),
+            'vacant': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+            'valeur_point_max': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'valeur_point_max'", 'to': "orm['rh.ValeurPoint']"}),
+            'valeur_point_min': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'valeur_point_min'", 'to': "orm['rh.ValeurPoint']"})
+        },
+        'rh.service': {
+            'Meta': {'object_name': 'Service'},
+            'archive': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh.statut': {
+            'Meta': {'object_name': 'Statut'},
+            'code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '25'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh.typecontrat': {
+            'Meta': {'object_name': 'TypeContrat'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_long': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh.typeposte': {
+            'Meta': {'object_name': 'TypePoste'},
+            'categorie_emploi': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'categorie_emploi'", 'to': "orm['rh.CategorieEmploi']"}),
+            'famille_professionnelle': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'types_de_poste'", 'null': 'True', 'to': "orm['rh.FamilleProfessionnelle']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'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.typeremuneration': {
+            'Meta': {'object_name': 'TypeRemuneration'},
+            'archive': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'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.typerevalorisation': {
+            'Meta': {'object_name': 'TypeRevalorisation'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh.valeurpoint': {
+            'Meta': {'object_name': 'ValeurPoint'},
+            'annee': ('django.db.models.fields.IntegerField', [], {}),
+            'devise': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'devise'", 'to': "orm['rh.Devise']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rh_valeur_point'", 'db_column': "'implantation'", 'to': "orm['managedref.Implantation']"}),
+            'valeur': ('django.db.models.fields.FloatField', [], {'null': 'True'})
+        },
+        '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/0078_auto__del_importdossier__del_importposte__del_field_contrat_supprime__.py b/project/dae/migrations/0078_auto__del_importdossier__del_importposte__del_field_contrat_supprime__.py
new file mode 100644 (file)
index 0000000..cad96f7
--- /dev/null
@@ -0,0 +1,701 @@
+# 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 'ImportDossier'
+        db.delete_table('dae_importdossier')
+
+        # Deleting model 'ImportPoste'
+        db.delete_table('dae_importposte')
+
+        # Deleting field 'Contrat.supprime'
+        db.delete_column('dae_contrat', 'supprime')
+
+        # Deleting field 'Contrat.date_creation'
+        db.delete_column('dae_contrat', 'date_creation')
+
+        # Deleting field 'Contrat.user_creation'
+        db.delete_column('dae_contrat', 'user_creation')
+
+        # Deleting field 'Contrat.user_modification'
+        db.delete_column('dae_contrat', 'user_modification')
+
+        # Deleting field 'Contrat.date_modification'
+        db.delete_column('dae_contrat', 'date_modification')
+
+        # Deleting field 'PosteComparaison.supprime'
+        db.delete_column('dae_postecomparaison', 'supprime')
+
+        # Deleting field 'PosteComparaison.date_creation'
+        db.delete_column('dae_postecomparaison', 'date_creation')
+
+        # Deleting field 'PosteComparaison.user_creation'
+        db.delete_column('dae_postecomparaison', 'user_creation')
+
+        # Deleting field 'PosteComparaison.user_modification'
+        db.delete_column('dae_postecomparaison', 'user_modification')
+
+        # Deleting field 'PosteComparaison.date_modification'
+        db.delete_column('dae_postecomparaison', 'date_modification')
+
+        # Deleting field 'Dossier.supprime'
+        db.delete_column('dae_dossier', 'supprime')
+
+        # Deleting field 'Dossier.date_modification'
+        db.delete_column('dae_dossier', 'date_modification')
+
+        # Deleting field 'Dossier.user_creation'
+        db.delete_column('dae_dossier', 'user_creation')
+
+        # Deleting field 'Dossier.user_modification'
+        db.delete_column('dae_dossier', 'user_modification')
+
+        # Deleting field 'Dossier.date_creation'
+        db.delete_column('dae_dossier', 'date_creation')
+
+        # Deleting field 'Poste.supprime'
+        db.delete_column('dae_poste', 'supprime')
+
+        # Deleting field 'Poste.date_modification'
+        db.delete_column('dae_poste', 'date_modification')
+
+        # Deleting field 'Poste.user_creation'
+        db.delete_column('dae_poste', 'user_creation')
+
+        # Deleting field 'Poste.user_modification'
+        db.delete_column('dae_poste', 'user_modification')
+
+        # Deleting field 'Poste.date_creation'
+        db.delete_column('dae_poste', 'date_creation')
+
+        # Changing field 'Poste.salaire_min'
+        db.alter_column('dae_poste', 'salaire_min', self.gf('django.db.models.fields.DecimalField')(null=True, max_digits=12, decimal_places=2, blank=True))
+
+        # Changing field 'Poste.indemn_max'
+        db.alter_column('dae_poste', 'indemn_max', self.gf('django.db.models.fields.DecimalField')(null=True, max_digits=12, decimal_places=2, blank=True))
+
+        # Changing field 'Poste.autre_min'
+        db.alter_column('dae_poste', 'autre_min', self.gf('django.db.models.fields.DecimalField')(null=True, max_digits=12, decimal_places=2, blank=True))
+
+        # Changing field 'Poste.autre_max'
+        db.alter_column('dae_poste', 'autre_max', self.gf('django.db.models.fields.DecimalField')(null=True, max_digits=12, decimal_places=2, blank=True))
+
+        # Changing field 'Poste.indemn_min'
+        db.alter_column('dae_poste', 'indemn_min', self.gf('django.db.models.fields.DecimalField')(null=True, max_digits=12, decimal_places=2, blank=True))
+
+        # Changing field 'Poste.salaire_max'
+        db.alter_column('dae_poste', 'salaire_max', self.gf('django.db.models.fields.DecimalField')(null=True, max_digits=12, decimal_places=2, blank=True))
+
+        # Deleting field 'Remuneration.supprime'
+        db.delete_column('dae_remuneration', 'supprime')
+
+        # Deleting field 'Remuneration.user_creation'
+        db.delete_column('dae_remuneration', 'user_creation')
+
+        # Deleting field 'Remuneration.date_creation'
+        db.delete_column('dae_remuneration', 'date_creation')
+
+        # Deleting field 'Remuneration.date_modification'
+        db.delete_column('dae_remuneration', 'date_modification')
+
+        # Deleting field 'Remuneration.user_modification'
+        db.delete_column('dae_remuneration', 'user_modification')
+    
+    
+    def backwards(self, orm):
+        
+        # Adding model 'ImportDossier'
+        db.create_table('dae_importdossier', (
+            ('dae', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['dae.Dossier'])),
+            ('rh', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['rh.Dossier'])),
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+        ))
+        db.send_create_signal('dae', ['ImportDossier'])
+
+        # Adding model 'ImportPoste'
+        db.create_table('dae_importposte', (
+            ('dae', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['dae.Poste'])),
+            ('rh', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['rh.Poste'])),
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+        ))
+        db.send_create_signal('dae', ['ImportPoste'])
+
+        # Adding field 'Contrat.supprime'
+        db.add_column('dae_contrat', 'supprime', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True), keep_default=False)
+
+        # Adding field 'Contrat.date_creation'
+        db.add_column('dae_contrat', 'date_creation', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'Contrat.user_creation'
+        db.add_column('dae_contrat', 'user_creation', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_creation', blank=True), keep_default=False)
+
+        # Adding field 'Contrat.user_modification'
+        db.add_column('dae_contrat', 'user_modification', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_modification', blank=True), keep_default=False)
+
+        # Adding field 'Contrat.date_modification'
+        db.add_column('dae_contrat', 'date_modification', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'PosteComparaison.supprime'
+        db.add_column('dae_postecomparaison', 'supprime', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True), keep_default=False)
+
+        # Adding field 'PosteComparaison.date_creation'
+        db.add_column('dae_postecomparaison', 'date_creation', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'PosteComparaison.user_creation'
+        db.add_column('dae_postecomparaison', 'user_creation', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_creation', blank=True), keep_default=False)
+
+        # Adding field 'PosteComparaison.user_modification'
+        db.add_column('dae_postecomparaison', 'user_modification', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_modification', blank=True), keep_default=False)
+
+        # Adding field 'PosteComparaison.date_modification'
+        db.add_column('dae_postecomparaison', 'date_modification', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'Dossier.supprime'
+        db.add_column('dae_dossier', 'supprime', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True), keep_default=False)
+
+        # Adding field 'Dossier.date_modification'
+        db.add_column('dae_dossier', 'date_modification', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'Dossier.user_creation'
+        db.add_column('dae_dossier', 'user_creation', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_creation', blank=True), keep_default=False)
+
+        # Adding field 'Dossier.user_modification'
+        db.add_column('dae_dossier', 'user_modification', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_modification', blank=True), keep_default=False)
+
+        # Adding field 'Dossier.date_creation'
+        db.add_column('dae_dossier', 'date_creation', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'Poste.supprime'
+        db.add_column('dae_poste', 'supprime', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True), keep_default=False)
+
+        # Adding field 'Poste.date_modification'
+        db.add_column('dae_poste', 'date_modification', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'Poste.user_creation'
+        db.add_column('dae_poste', 'user_creation', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_creation', blank=True), keep_default=False)
+
+        # Adding field 'Poste.user_modification'
+        db.add_column('dae_poste', 'user_modification', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_modification', blank=True), keep_default=False)
+
+        # Adding field 'Poste.date_creation'
+        db.add_column('dae_poste', 'date_creation', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Changing field 'Poste.salaire_min'
+        db.alter_column('dae_poste', 'salaire_min', self.gf('django.db.models.fields.DecimalField')(null=True, max_digits=12, decimal_places=2))
+
+        # Changing field 'Poste.indemn_max'
+        db.alter_column('dae_poste', 'indemn_max', self.gf('django.db.models.fields.DecimalField')(null=True, max_digits=12, decimal_places=2))
+
+        # Changing field 'Poste.autre_min'
+        db.alter_column('dae_poste', 'autre_min', self.gf('django.db.models.fields.DecimalField')(null=True, max_digits=12, decimal_places=2))
+
+        # Changing field 'Poste.autre_max'
+        db.alter_column('dae_poste', 'autre_max', self.gf('django.db.models.fields.DecimalField')(null=True, max_digits=12, decimal_places=2))
+
+        # Changing field 'Poste.indemn_min'
+        db.alter_column('dae_poste', 'indemn_min', self.gf('django.db.models.fields.DecimalField')(null=True, max_digits=12, decimal_places=2))
+
+        # Changing field 'Poste.salaire_max'
+        db.alter_column('dae_poste', 'salaire_max', self.gf('django.db.models.fields.DecimalField')(null=True, max_digits=12, decimal_places=2))
+
+        # Adding field 'Remuneration.supprime'
+        db.add_column('dae_remuneration', 'supprime', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True), keep_default=False)
+
+        # Adding field 'Remuneration.user_creation'
+        db.add_column('dae_remuneration', 'user_creation', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_creation', blank=True), keep_default=False)
+
+        # Adding field 'Remuneration.date_creation'
+        db.add_column('dae_remuneration', 'date_creation', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'Remuneration.date_modification'
+        db.add_column('dae_remuneration', 'date_modification', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'Remuneration.user_modification'
+        db.add_column('dae_remuneration', 'user_modification', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_modification', blank=True), keep_default=False)
+    
+    
+    models = {
+        'auth.group': {
+            'Meta': {'object_name': 'Group'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
+            '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', [], {'unique': 'True', 'max_length': '30'})
+        },
+        '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.contrat': {
+            'Meta': {'object_name': 'Contrat'},
+            'date_debut': ('django.db.models.fields.DateField', [], {}),
+            'date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dae_contrats'", 'db_column': "'dossier'", 'to': "orm['dae.Dossier']"}),
+            'fichier': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'type_contrat': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'type_contrat'", 'to': "orm['rh.TypeContrat']"})
+        },
+        'dae.dossier': {
+            'Meta': {'object_name': 'Dossier'},
+            'classement': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'classement'", 'to': "orm['rh.Classement']"}),
+            'classement_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Classement']"}),
+            'classement_titulaire_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.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'}),
+            'dae_numerisee': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+            'date_debut': ('django.db.models.fields.DateField', [], {}),
+            'date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'devise': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh.Devise']"}),
+            'devise_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Devise']"}),
+            'devise_titulaire_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Devise']"}),
+            'dossier_rh': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'dossiers_dae'", 'null': 'True', 'to': "orm['rh.Dossier']"}),
+            'employe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rh_dossiers'", 'db_column': "'employe'", 'to': "orm['dae.Employe']"}),
+            'employe_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.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'}),
+            'justif_nouveau_commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'justif_nouveau_salaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'justif_nouveau_statut': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'justif_nouveau_tmp_remplacement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'justif_rempl_commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'justif_rempl_evaluation': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'justif_rempl_salaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'justif_rempl_statut_employe': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'justif_rempl_type_contrat': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'organisme_bstg': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'organisme_bstg'", 'to': "orm['rh.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': "'dae_dossiers'", 'db_column': "'poste'", 'to': "orm['dae.Poste']"}),
+            'regime_travail': ('django.db.models.fields.DecimalField', [], {'default': "'100.00'", 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'default': "'35.00'", 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'remplacement': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'remplacement_de': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['dae.Dossier']"}),
+            'salaire': ('django.db.models.fields.DecimalField', [], {'default': 'None', 'null': 'True', 'max_digits': '13', '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': "'+'", 'null': 'True', 'to': "orm['rh.Statut']"}),
+            'statut_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Statut']"}),
+            'statut_residence': ('django.db.models.fields.CharField', [], {'default': "'local'", 'max_length': '10', 'null': 'True'}),
+            'statut_titulaire_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Statut']"}),
+            'type_contrat': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh.TypeContrat']"}),
+            'type_contrat_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.TypeContrat']"})
+        },
+        'dae.dossiercomparaison': {
+            'Meta': {'object_name': 'DossierComparaison'},
+            'classement': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Classement']"}),
+            'devise': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Devise']"}),
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dae_comparaisons'", 'to': "orm['dae.Dossier']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['managedref.Implantation']"}),
+            'montant': ('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'}),
+            'statut': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Statut']"})
+        },
+        'dae.dossierpiece': {
+            'Meta': {'object_name': 'DossierPiece'},
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dae_dossierpieces'", 'db_column': "'dossier'", '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'},
+            'date_creation': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'genre': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'id_rh': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Employe']"}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'prenom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}),
+            'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"})
+        },
+        'dae.poste': {
+            'Meta': {'object_name': 'Poste'},
+            'appel': ('django.db.models.fields.CharField', [], {'default': "'interne'", 'max_length': '10', 'null': 'True'}),
+            'autre_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'autre_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'charges_patronales_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'charges_patronales_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'classement_max': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'classement_max'", 'to': "orm['rh.Classement']"}),
+            'classement_min': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'classement_min'", 'to': "orm['rh.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_debut': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'devise_comparaison': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'devise_comparaison'", 'to': "orm['rh.Devise']"}),
+            'devise_max': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'devise_max'", 'to': "orm['rh.Devise']"}),
+            'devise_min': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'devise_min'", 'to': "orm['rh.Devise']"}),
+            'etat': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '20', 'null': 'True', 'blank': 'True'}),
+            'expatrie': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'id_rh': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'postes_dae'", 'null': 'True', 'to': "orm['rh.Poste']"}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'implantation'", 'to': "orm['managedref.Implantation']"}),
+            'indemn_expat_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'indemn_expat_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '13', 'decimal_places': '2'}),
+            'indemn_fct_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'indemn_fct_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'indemn_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'indemn_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'justification': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'local': ('django.db.models.fields.NullBooleanField', [], {'default': 'True', 'null': 'True', 'blank': 'True'}),
+            'mise_a_disposition': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_feminin': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True'}),
+            'regime_travail': ('django.db.models.fields.DecimalField', [], {'default': "'100.00'", 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'default': "'35.00'", 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'responsable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'responsable'", 'to': "orm['rh.Poste']"}),
+            'salaire_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'salaire_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'service': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'service'", 'to': "orm['rh.Service']"}),
+            'type_intervention': ('django.db.models.fields.CharField', [], {'default': "'N'", 'max_length': '1'}),
+            'type_poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'type_poste'", 'to': "orm['rh.TypePoste']"}),
+            'valeur_point_max': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'valeur_point_max'", 'to': "orm['rh.ValeurPoint']"}),
+            'valeur_point_min': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'valeur_point_min'", 'to': "orm['rh.ValeurPoint']"})
+        },
+        'dae.postecomparaison': {
+            'Meta': {'object_name': 'PosteComparaison'},
+            'classement': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Classement']"}),
+            'devise': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Devise']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['managedref.Implantation']"}),
+            'montant': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dae_comparaisons_internes'", 'to': "orm['dae.Poste']"}),
+            'statut': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Statut']"})
+        },
+        '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': "'dae_financements'", 'db_column': "'poste'", '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', [], {'related_name': "'dae_pieces'", 'db_column': "'poste'", 'to': "orm['dae.Poste']"})
+        },
+        'dae.remuneration': {
+            'Meta': {'object_name': 'Remuneration'},
+            'commentaire': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'date_debut': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'devise': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'devise'", 'to': "orm['rh.Devise']"}),
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dae_remunerations'", 'db_column': "'dossier'", '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', 'blank': 'True'}),
+            'type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'type'", 'to': "orm['rh.TypeRemuneration']"}),
+            'type_revalorisation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'type_revalorisation'", 'to': "orm['rh.TypeRevalorisation']"})
+        },
+        'managedref.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.AutoField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['managedref.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['managedref.Region']", 'db_column': "'region'"})
+        },
+        'managedref.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['managedref.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['managedref.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['managedref.Implantation']", 'db_column': "'bureau_rattachement'"}),
+            '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.AutoField', [], {'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['managedref.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'})
+        },
+        'managedref.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['managedref.Bureau']", 'to_field': "'code'", 'null': 'True', 'db_column': "'code_bureau'", 'blank': 'True'}),
+            'code_iso3': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '3'}),
+            'developpement': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'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['managedref.Region']", 'db_column': "'region'"})
+        },
+        'managedref.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.AutoField', [], {'primary_key': 'True'}),
+            'implantation_bureau': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'gere_region'", 'null': 'True', 'db_column': "'implantation_bureau'", 'to': "orm['managedref.Implantation']"}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'})
+        },
+        'references.implantation': {
+            'Meta': {'managed': 'False', 'object_name': 'Implantation', 'db_table': "u'ref_implantation'", '_ormbases': ['managedref.Implantation']}
+        },
+        'references.pays': {
+            'Meta': {'managed': 'False', 'object_name': 'Pays', 'db_table': "u'ref_pays'", '_ormbases': ['managedref.Pays']}
+        },
+        'rh.categorieemploi': {
+            'Meta': {'object_name': 'CategorieEmploi'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh.classement': {
+            'Meta': {'object_name': 'Classement'},
+            'coefficient': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+            'commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'degre': ('django.db.models.fields.IntegerField', [], {'default': '0', 'blank': 'True'}),
+            'echelon': ('django.db.models.fields.IntegerField', [], {'default': '0', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '10'})
+        },
+        'rh.devise': {
+            'Meta': {'object_name': 'Devise'},
+            'archive': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '10'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh.dossier': {
+            'Meta': {'object_name': 'Dossier'},
+            'classement': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'classement'", 'to': "orm['rh.Classement']"}),
+            'date_debut': ('django.db.models.fields.DateField', [], {}),
+            'date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'employe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rh_dossiers'", 'db_column': "'employe'", 'to': "orm['rh.Employe']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'organisme_bstg': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'organisme_bstg'", 'to': "orm['rh.OrganismeBstg']"}),
+            'poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rh_dossiers'", 'db_column': "'poste'", 'to': "orm['rh.Poste']"}),
+            'principal': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
+            'regime_travail': ('django.db.models.fields.DecimalField', [], {'default': "'100.00'", 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'default': "'35.00'", 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'remplacement': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'remplacement_de': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Dossier']"}),
+            'statut': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Statut']"}),
+            'statut_residence': ('django.db.models.fields.CharField', [], {'default': "'local'", 'max_length': '10', 'null': 'True'})
+        },
+        'rh.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'}),
+            'date_entree': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_naissance': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'genre': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nationalite': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'employes_nationalite'", 'db_column': "'nationalite'", 'to_field': "'code'", 'to': "orm['managedref.Pays']", 'blank': 'True', 'null': 'True'}),
+            'nb_postes': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_affichage': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'employes'", 'db_column': "'pays'", 'to_field': "'code'", 'to': "orm['managedref.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.familleprofessionnelle': {
+            'Meta': {'object_name': 'FamilleProfessionnelle'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+        },
+        'rh.organismebstg': {
+            'Meta': {'object_name': 'OrganismeBstg'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'organismes_bstg'", 'db_column': "'pays'", 'to_field': "'code'", 'to': "orm['managedref.Pays']", 'blank': 'True', 'null': 'True'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '10'})
+        },
+        'rh.poste': {
+            'Meta': {'object_name': 'Poste'},
+            'appel': ('django.db.models.fields.CharField', [], {'default': "'interne'", 'max_length': '10', 'null': 'True'}),
+            'autre_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'autre_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'classement_max': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'classement_max'", 'to': "orm['rh.Classement']"}),
+            'classement_min': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'classement_min'", 'to': "orm['rh.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_debut': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'devise_comparaison': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'devise_comparaison'", 'to': "orm['rh.Devise']"}),
+            'devise_max': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'devise_max'", 'to': "orm['rh.Devise']"}),
+            'devise_min': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'devise_min'", 'to': "orm['rh.Devise']"}),
+            'expatrie': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'implantation'", 'to': "orm['managedref.Implantation']"}),
+            'indemn_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'indemn_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'justification': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'local': ('django.db.models.fields.NullBooleanField', [], {'default': 'True', 'null': 'True', 'blank': 'True'}),
+            'mise_a_disposition': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_feminin': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True'}),
+            'regime_travail': ('django.db.models.fields.DecimalField', [], {'default': "'100.00'", 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'default': "'35.00'", 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'responsable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'responsable'", 'to': "orm['rh.Poste']"}),
+            'salaire_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'salaire_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'service': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'service'", 'to': "orm['rh.Service']"}),
+            'type_poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'type_poste'", 'to': "orm['rh.TypePoste']"}),
+            'vacant': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+            'valeur_point_max': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'valeur_point_max'", 'to': "orm['rh.ValeurPoint']"}),
+            'valeur_point_min': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'valeur_point_min'", 'to': "orm['rh.ValeurPoint']"})
+        },
+        'rh.service': {
+            'Meta': {'object_name': 'Service'},
+            'archive': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh.statut': {
+            'Meta': {'object_name': 'Statut'},
+            'code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '25'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh.typecontrat': {
+            'Meta': {'object_name': 'TypeContrat'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_long': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh.typeposte': {
+            'Meta': {'object_name': 'TypePoste'},
+            'categorie_emploi': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'categorie_emploi'", 'to': "orm['rh.CategorieEmploi']"}),
+            'famille_professionnelle': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'types_de_poste'", 'null': 'True', 'to': "orm['rh.FamilleProfessionnelle']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'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.typeremuneration': {
+            'Meta': {'object_name': 'TypeRemuneration'},
+            'archive': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'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.typerevalorisation': {
+            'Meta': {'object_name': 'TypeRevalorisation'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh.valeurpoint': {
+            'Meta': {'object_name': 'ValeurPoint'},
+            'annee': ('django.db.models.fields.IntegerField', [], {}),
+            'devise': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'devise'", 'to': "orm['rh.Devise']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rh_valeur_point'", 'db_column': "'implantation'", 'to': "orm['managedref.Implantation']"}),
+            'valeur': ('django.db.models.fields.FloatField', [], {'null': 'True'})
+        },
+        '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/0079_auto__del_field_employe_supprime__del_field_employe_user_creation__del.py b/project/dae/migrations/0079_auto__del_field_employe_supprime__del_field_employe_user_creation__del.py
new file mode 100644 (file)
index 0000000..99cc593
--- /dev/null
@@ -0,0 +1,518 @@
+# 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 field 'Employe.supprime'
+        db.delete_column('dae_employe', 'supprime')
+
+        # Deleting field 'Employe.user_creation'
+        db.delete_column('dae_employe', 'user_creation')
+
+        # Deleting field 'Employe.user_modification'
+        db.delete_column('dae_employe', 'user_modification')
+
+        # Deleting field 'Employe.date_modification'
+        db.delete_column('dae_employe', 'date_modification')
+
+        # Deleting field 'Employe.date_creation'
+        db.delete_column('dae_employe', 'date_creation')
+    
+    
+    def backwards(self, orm):
+        
+        # Adding field 'Employe.supprime'
+        db.add_column('dae_employe', 'supprime', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True), keep_default=False)
+
+        # Adding field 'Employe.user_creation'
+        db.add_column('dae_employe', 'user_creation', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_creation', blank=True), keep_default=False)
+
+        # Adding field 'Employe.user_modification'
+        db.add_column('dae_employe', 'user_modification', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_modification', blank=True), keep_default=False)
+
+        # Adding field 'Employe.date_modification'
+        db.add_column('dae_employe', 'date_modification', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'Employe.date_creation'
+        db.add_column('dae_employe', 'date_creation', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+    
+    
+    models = {
+        'auth.group': {
+            'Meta': {'object_name': 'Group'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
+            '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', [], {'unique': 'True', 'max_length': '30'})
+        },
+        '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.contrat': {
+            'Meta': {'object_name': 'Contrat'},
+            'date_debut': ('django.db.models.fields.DateField', [], {}),
+            'date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dae_contrats'", 'db_column': "'dossier'", 'to': "orm['dae.Dossier']"}),
+            'fichier': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'type_contrat': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'type_contrat'", 'to': "orm['rh.TypeContrat']"})
+        },
+        'dae.dossier': {
+            'Meta': {'object_name': 'Dossier'},
+            'classement': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'classement'", 'to': "orm['rh.Classement']"}),
+            'classement_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Classement']"}),
+            'classement_titulaire_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.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'}),
+            'dae_numerisee': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+            'date_debut': ('django.db.models.fields.DateField', [], {}),
+            'date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'devise': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh.Devise']"}),
+            'devise_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Devise']"}),
+            'devise_titulaire_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Devise']"}),
+            'dossier_rh': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'dossiers_dae'", 'null': 'True', 'to': "orm['rh.Dossier']"}),
+            'employe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rh_dossiers'", 'db_column': "'employe'", 'to': "orm['dae.Employe']"}),
+            'employe_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.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'}),
+            'justif_nouveau_commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'justif_nouveau_salaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'justif_nouveau_statut': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'justif_nouveau_tmp_remplacement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'justif_rempl_commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'justif_rempl_evaluation': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'justif_rempl_salaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'justif_rempl_statut_employe': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'justif_rempl_type_contrat': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'organisme_bstg': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'organisme_bstg'", 'to': "orm['rh.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': "'dae_dossiers'", 'db_column': "'poste'", 'to': "orm['dae.Poste']"}),
+            'regime_travail': ('django.db.models.fields.DecimalField', [], {'default': "'100.00'", 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'default': "'35.00'", 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'remplacement': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'remplacement_de': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['dae.Dossier']"}),
+            'salaire': ('django.db.models.fields.DecimalField', [], {'default': 'None', 'null': 'True', 'max_digits': '13', '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': "'+'", 'null': 'True', 'to': "orm['rh.Statut']"}),
+            'statut_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Statut']"}),
+            'statut_residence': ('django.db.models.fields.CharField', [], {'default': "'local'", 'max_length': '10', 'null': 'True'}),
+            'statut_titulaire_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Statut']"}),
+            'type_contrat': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh.TypeContrat']"}),
+            'type_contrat_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.TypeContrat']"})
+        },
+        'dae.dossiercomparaison': {
+            'Meta': {'object_name': 'DossierComparaison'},
+            'classement': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Classement']"}),
+            'devise': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Devise']"}),
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dae_comparaisons'", 'to': "orm['dae.Dossier']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['managedref.Implantation']"}),
+            'montant': ('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'}),
+            'statut': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Statut']"})
+        },
+        'dae.dossierpiece': {
+            'Meta': {'object_name': 'DossierPiece'},
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dae_dossierpieces'", 'db_column': "'dossier'", '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'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'id_rh': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Employe']"}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'prenom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'dae.poste': {
+            'Meta': {'object_name': 'Poste'},
+            'appel': ('django.db.models.fields.CharField', [], {'default': "'interne'", 'max_length': '10', 'null': 'True'}),
+            'autre_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'autre_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'charges_patronales_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'charges_patronales_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'classement_max': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'classement_max'", 'to': "orm['rh.Classement']"}),
+            'classement_min': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'classement_min'", 'to': "orm['rh.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_debut': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'devise_comparaison': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'devise_comparaison'", 'to': "orm['rh.Devise']"}),
+            'devise_max': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'devise_max'", 'to': "orm['rh.Devise']"}),
+            'devise_min': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'devise_min'", 'to': "orm['rh.Devise']"}),
+            'etat': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '20', 'null': 'True', 'blank': 'True'}),
+            'expatrie': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'id_rh': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'postes_dae'", 'null': 'True', 'to': "orm['rh.Poste']"}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'implantation'", 'to': "orm['managedref.Implantation']"}),
+            'indemn_expat_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'indemn_expat_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '13', 'decimal_places': '2'}),
+            'indemn_fct_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'indemn_fct_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'indemn_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'indemn_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'justification': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'local': ('django.db.models.fields.NullBooleanField', [], {'default': 'True', 'null': 'True', 'blank': 'True'}),
+            'mise_a_disposition': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_feminin': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True'}),
+            'regime_travail': ('django.db.models.fields.DecimalField', [], {'default': "'100.00'", 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'default': "'35.00'", 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'responsable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'responsable'", 'to': "orm['rh.Poste']"}),
+            'salaire_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'salaire_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'service': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'service'", 'to': "orm['rh.Service']"}),
+            'type_intervention': ('django.db.models.fields.CharField', [], {'default': "'N'", 'max_length': '1'}),
+            'type_poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'type_poste'", 'to': "orm['rh.TypePoste']"}),
+            'valeur_point_max': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'valeur_point_max'", 'to': "orm['rh.ValeurPoint']"}),
+            'valeur_point_min': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'valeur_point_min'", 'to': "orm['rh.ValeurPoint']"})
+        },
+        'dae.postecomparaison': {
+            'Meta': {'object_name': 'PosteComparaison'},
+            'classement': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Classement']"}),
+            'devise': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Devise']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['managedref.Implantation']"}),
+            'montant': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dae_comparaisons_internes'", 'to': "orm['dae.Poste']"}),
+            'statut': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Statut']"})
+        },
+        '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': "'dae_financements'", 'db_column': "'poste'", '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', [], {'related_name': "'dae_pieces'", 'db_column': "'poste'", 'to': "orm['dae.Poste']"})
+        },
+        'dae.remuneration': {
+            'Meta': {'object_name': 'Remuneration'},
+            'commentaire': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'date_debut': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'devise': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'devise'", 'to': "orm['rh.Devise']"}),
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dae_remunerations'", 'db_column': "'dossier'", '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', 'blank': 'True'}),
+            'type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'type'", 'to': "orm['rh.TypeRemuneration']"}),
+            'type_revalorisation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'type_revalorisation'", 'to': "orm['rh.TypeRevalorisation']"})
+        },
+        'managedref.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.AutoField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['managedref.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['managedref.Region']", 'db_column': "'region'"})
+        },
+        'managedref.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['managedref.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['managedref.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['managedref.Implantation']", 'db_column': "'bureau_rattachement'"}),
+            '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.AutoField', [], {'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['managedref.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'})
+        },
+        'managedref.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['managedref.Bureau']", 'to_field': "'code'", 'null': 'True', 'db_column': "'code_bureau'", 'blank': 'True'}),
+            'code_iso3': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '3'}),
+            'developpement': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'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['managedref.Region']", 'db_column': "'region'"})
+        },
+        'managedref.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.AutoField', [], {'primary_key': 'True'}),
+            'implantation_bureau': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'gere_region'", 'null': 'True', 'db_column': "'implantation_bureau'", 'to': "orm['managedref.Implantation']"}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'})
+        },
+        'references.implantation': {
+            'Meta': {'managed': 'False', 'object_name': 'Implantation', 'db_table': "u'ref_implantation'", '_ormbases': ['managedref.Implantation']}
+        },
+        'references.pays': {
+            'Meta': {'managed': 'False', 'object_name': 'Pays', 'db_table': "u'ref_pays'", '_ormbases': ['managedref.Pays']}
+        },
+        'rh.categorieemploi': {
+            'Meta': {'object_name': 'CategorieEmploi'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh.classement': {
+            'Meta': {'object_name': 'Classement'},
+            'coefficient': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+            'commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'degre': ('django.db.models.fields.IntegerField', [], {'default': '0', 'blank': 'True'}),
+            'echelon': ('django.db.models.fields.IntegerField', [], {'default': '0', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '10'})
+        },
+        'rh.devise': {
+            'Meta': {'object_name': 'Devise'},
+            'archive': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '10'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh.dossier': {
+            'Meta': {'object_name': 'Dossier'},
+            'classement': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'classement'", 'to': "orm['rh.Classement']"}),
+            'date_debut': ('django.db.models.fields.DateField', [], {}),
+            'date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'employe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rh_dossiers'", 'db_column': "'employe'", 'to': "orm['rh.Employe']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'organisme_bstg': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'organisme_bstg'", 'to': "orm['rh.OrganismeBstg']"}),
+            'poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rh_dossiers'", 'db_column': "'poste'", 'to': "orm['rh.Poste']"}),
+            'principal': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
+            'regime_travail': ('django.db.models.fields.DecimalField', [], {'default': "'100.00'", 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'default': "'35.00'", 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'remplacement': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'remplacement_de': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Dossier']"}),
+            'statut': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Statut']"}),
+            'statut_residence': ('django.db.models.fields.CharField', [], {'default': "'local'", 'max_length': '10', 'null': 'True'})
+        },
+        'rh.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'}),
+            'date_entree': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_naissance': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'genre': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nationalite': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'employes_nationalite'", 'db_column': "'nationalite'", 'to_field': "'code'", 'to': "orm['managedref.Pays']", 'blank': 'True', 'null': 'True'}),
+            'nb_postes': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_affichage': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'employes'", 'db_column': "'pays'", 'to_field': "'code'", 'to': "orm['managedref.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.familleprofessionnelle': {
+            'Meta': {'object_name': 'FamilleProfessionnelle'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+        },
+        'rh.organismebstg': {
+            'Meta': {'object_name': 'OrganismeBstg'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'organismes_bstg'", 'db_column': "'pays'", 'to_field': "'code'", 'to': "orm['managedref.Pays']", 'blank': 'True', 'null': 'True'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '10'})
+        },
+        'rh.poste': {
+            'Meta': {'object_name': 'Poste'},
+            'appel': ('django.db.models.fields.CharField', [], {'default': "'interne'", 'max_length': '10', 'null': 'True'}),
+            'autre_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'autre_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'classement_max': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'classement_max'", 'to': "orm['rh.Classement']"}),
+            'classement_min': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'classement_min'", 'to': "orm['rh.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_debut': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'devise_comparaison': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'devise_comparaison'", 'to': "orm['rh.Devise']"}),
+            'devise_max': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'devise_max'", 'to': "orm['rh.Devise']"}),
+            'devise_min': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'devise_min'", 'to': "orm['rh.Devise']"}),
+            'expatrie': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'implantation'", 'to': "orm['managedref.Implantation']"}),
+            'indemn_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'indemn_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'justification': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'local': ('django.db.models.fields.NullBooleanField', [], {'default': 'True', 'null': 'True', 'blank': 'True'}),
+            'mise_a_disposition': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_feminin': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True'}),
+            'regime_travail': ('django.db.models.fields.DecimalField', [], {'default': "'100.00'", 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'default': "'35.00'", 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'responsable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'responsable'", 'to': "orm['rh.Poste']"}),
+            'salaire_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'salaire_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'service': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'service'", 'to': "orm['rh.Service']"}),
+            'type_poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'type_poste'", 'to': "orm['rh.TypePoste']"}),
+            'vacant': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+            'valeur_point_max': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'valeur_point_max'", 'to': "orm['rh.ValeurPoint']"}),
+            'valeur_point_min': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'valeur_point_min'", 'to': "orm['rh.ValeurPoint']"})
+        },
+        'rh.service': {
+            'Meta': {'object_name': 'Service'},
+            'archive': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh.statut': {
+            'Meta': {'object_name': 'Statut'},
+            'code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '25'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh.typecontrat': {
+            'Meta': {'object_name': 'TypeContrat'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_long': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh.typeposte': {
+            'Meta': {'object_name': 'TypePoste'},
+            'categorie_emploi': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'categorie_emploi'", 'to': "orm['rh.CategorieEmploi']"}),
+            'famille_professionnelle': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'types_de_poste'", 'null': 'True', 'to': "orm['rh.FamilleProfessionnelle']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'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.typeremuneration': {
+            'Meta': {'object_name': 'TypeRemuneration'},
+            'archive': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'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.typerevalorisation': {
+            'Meta': {'object_name': 'TypeRevalorisation'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh.valeurpoint': {
+            'Meta': {'object_name': 'ValeurPoint'},
+            'annee': ('django.db.models.fields.IntegerField', [], {}),
+            'devise': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'devise'", 'to': "orm['rh.Devise']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rh_valeur_point'", 'db_column': "'implantation'", 'to': "orm['managedref.Implantation']"}),
+            'valeur': ('django.db.models.fields.FloatField', [], {'null': 'True'})
+        },
+        '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 9a0021e..a87236f 100644 (file)
@@ -10,8 +10,6 @@ from django.db.models import Q
 
 import reversion
 
-from auf.django.metadata.models import AUFMetadata
-
 from project.dae.managers import PosteManager, DossierManager
 from project.dae.workflow import PosteWorkflow, DossierWorkflow
 from project.dae.workflow import \
@@ -368,9 +366,9 @@ class Poste(PosteWorkflow, rh.Poste_):
         )
         return u'%s - %s (%s)' % data
 
-# Tester l'enregistrement car les models.py sont importés au complet
-if not reversion.is_registered(Poste):
-    reversion.register(Poste)
+reversion.register(Poste, format='xml', follow=[
+    'dae_financements', 'dae_pieces', 'dae_comparaisons_internes'
+])
 
 POSTE_FINANCEMENT_CHOICES = (
     ('A', 'A - Frais de personnel'),
@@ -384,12 +382,16 @@ class PosteFinancement(rh.PosteFinancement_):
         Poste, db_column='poste', related_name='dae_financements'
     )
 
+reversion.register(PosteFinancement, format='xml')
+
 
 class PostePiece(rh.PostePiece_):
     poste = models.ForeignKey(
         Poste, db_column='poste', related_name='dae_pieces'
     )
 
+reversion.register(PostePiece, format='xml')
+
 
 class PosteComparaison(rh.PosteComparaison_):
     poste = models.ForeignKey(
@@ -404,6 +406,8 @@ class PosteComparaison(rh.PosteComparaison_):
         null=True, blank=True
     )
 
+reversion.register(PosteComparaison, format='xml')
+
 ### EMPLOYÉ/PERSONNE
 
 # TODO : migration pour m -> M, f -> F
@@ -414,7 +418,7 @@ GENRE_CHOICES = (
 )
 
 
-class Employe(AUFMetadata):
+class Employe(models.Model):
 
     # Modèle existant
     id_rh = models.ForeignKey(rh.Employe, null=True, related_name='+',
@@ -445,6 +449,8 @@ class Employe(AUFMetadata):
         self.save()
         return employe_rh
 
+reversion.register(Employe, format='xml')
+
 
 ### DOSSIER
 
@@ -744,10 +750,10 @@ class Dossier(DossierWorkflow, rh.Dossier_):
                              DOSSIER_ETAT_DRH_FINALISATION,
                              DOSSIER_ETAT_FINALISE)
 
-
-# Tester l'enregistrement car les models.py sont importés au complet
-if not reversion.is_registered(Dossier):
-    reversion.register(Dossier)
+reversion.register(Dossier, format='xml', follow=[
+    'dae_dossierpieces', 'dae_comparaisons', 'dae_remunerations',
+    'dae_contrats'
+])
 
 
 class DossierPiece(rh.DossierPiece_):
@@ -759,6 +765,8 @@ class DossierPiece(rh.DossierPiece_):
         Dossier, db_column='dossier', related_name='dae_dossierpieces'
     )
 
+reversion.register(DossierPiece, format='xml')
+
 
 class DossierComparaison(rh.DossierComparaison_):
     """
@@ -776,6 +784,8 @@ class DossierComparaison(rh.DossierComparaison_):
         null=True, blank=True
     )
 
+reversion.register(DossierComparaison, format='xml')
+
 
 ### RÉMUNÉRATION
 
@@ -784,6 +794,8 @@ class Remuneration(rh.Remuneration_):
         Dossier, db_column='dossier', related_name='dae_remunerations'
     )
 
+reversion.register(Remuneration, format='xml')
+
 
 ### CONTRATS
 
@@ -792,6 +804,8 @@ class Contrat(rh.Contrat_):
         Dossier, db_column='dossier', related_name='dae_contrats'
     )
 
+reversion.register(Contrat, format='xml')
+
 
 class ProxyDossierStatut(Dossier):
     class Meta:
@@ -805,5 +819,3 @@ class ProxyPosteStatut(Poste):
         proxy = True
         verbose_name = "Statut du poste"
         verbose_name_plural = "Statut des postes"
-
-
index 4d8b00f..5215b86 100644 (file)
@@ -1,8 +1,8 @@
 from auf.django.permissions import allow
 
+from project.dae import models as dae
 from project.dae.decorators import user_in_dae_groupes
 from project.dae.groups import grp_drh, grp_drh2, grp_haute_direction
-import project.dae.models as dae
 
 
 def user_in_group(*groups):
@@ -11,8 +11,19 @@ def user_in_group(*groups):
         return any(g in user_groups for g in groups)
     return test
 
-allow('modifier_dae_numerisee', dae.Dossier, user_in_group(grp_drh, grp_drh2, grp_haute_direction))
 
-allow('consulter', dae.Dossier,
-      lambda user, obj: (user_in_dae_groupes(user) or
-                         dae.Dossier.objects.ma_region_ou_service(user).filter(id=obj.id).exists()))
+allow(
+    'modifier_dae_numerisee',
+    dae.Dossier,
+    user_in_group(grp_drh, grp_drh2, grp_haute_direction)
+)
+
+allow(
+    'consulter',
+    dae.Dossier,
+    lambda user, obj: (
+        user_in_dae_groupes(user) or
+        dae.Dossier.objects.ma_region_ou_service(user)
+        .filter(id=obj.id).exists()
+    )
+)
index 2dc4e2f..10b2b16 100644 (file)
@@ -16,7 +16,7 @@
 {% if dossier|est_editable:request.user %}
 <a class="droite bouton-action" href="{% url embauche dossier.poste.key dossier.id %}">Modifier</a>
 {% endif %}
-{% if perms.rh.change_dossier and not dossier.dossier_rh %}
+{% if importer and not dossier.dossier_rh %}
 <a class="droite bouton-action" href="{% url embauche_importer dossier.id %}">Importer</a>
 {% endif %}
 <div class="visualClear"></div>
index 9ed6f0b..90bf4c7 100644 (file)
@@ -37,7 +37,9 @@
         {% sort_header "personne" "Personne" %}
         {% sort_header "debut_contrat" "Début du contrat" %}
         {% sort_header "fin_contrat" "Fin du contrat" %}
+        {% if request.user.is_superuser %}
         <th></th>
+        {% endif %}
       </tr>
     </thead>
     <tbody>
         <td><input type="checkbox" name="ids" value="{{ dossier.id }}"></td>
         <td>{{ dossier.poste.implantation|region_ou_service }}</td>
         <td>{{ dossier.poste.implantation }}</td>
-        <td><a href="{% url embauche_consulter dossier.id %}">{{ dossier.poste.nom }}</a></td>
+        <td><a href="{% url poste_consulter dossier.poste.key %}">{{ dossier.poste.nom }}</a></td>
         <td><a href="{% url embauche_consulter dossier.id %}">{{ dossier.employe }}</a></td>
         <td>{{ dossier.contrat_date_debut|date:"d-m-Y" }}</td>
         <td>{{ dossier.contrat_date_fin|date:"d-m-Y" }}</td>
+        {% if request.user.is_superuser %}
         <td>
-          {% if not dossier.dossier_rh %}
-            <a href="{% url embauche_importer dossier.id %}">Importer</a></td>
-          {% endif %}
+            {% if not dossier.dossier_rh %}
+              <a href="{% url embauche_importer dossier.id %}">Importer</a></td>
+            {% endif %}
         </td>
+        {% endif %}
       </tr>
       {% endfor %}
     </tbody>
index 1bf7167..1fa8c24 100644 (file)
@@ -1,5 +1,5 @@
 {% extends 'base.html' %}
-{% load adminmedia %}
+{% load adminmedia dae %}
 
 {% block title %}RH - DAE - Poste{% endblock %}
 {% block titre %}Ressources humaines{% endblock %}
@@ -60,7 +60,14 @@ Demande d'autorisation d'engagement
         </tr>
         <tr>
             <th>{{ form.poste.label_tag }} :<br />{{ form.poste.errors }}</th>
-            <td>{{ form.poste }} <span class="info">Au changement de ce menu, la page va être rechargée.</span></td>
+            <td>
+                <div>{{ form.poste }} <span class="info">Au changement de ce
+                        menu, la page va être rechargée.</span></div>
+                {% if request.user|test_membre_drh %}
+                <div><input id='poste_id_shortcut' type='text' size="5"/>&nbsp;<span
+                        class="info">OU sélection rapide avec id du poste dans RH </div>
+                {% endif %}
+            </td>
         </tr>
         <tr>
             <th>{{ form.nom.label_tag }} :<br />{{ form.nom.errors }}</th>
@@ -320,6 +327,10 @@ Demande d'autorisation d'engagement
     <fieldset>
     <h2>Pièces jointes</h2>
     <p class="info">Compléter uniquement lors de la création d'un poste</p>
+    <ul>{% for piece in poste_rh.rh_pieces.all %}
+        <li>Ce <a target="_blank" href="{{ piece.fichier.url }}">{{ piece.nom }}</a> RH sera automatiquement
+    ajouté.</li>
+    {% endfor %}</ul>
     {% include "dae/pieces.html" %}
     </fieldset>
 
index f698560..189f0e3 100644 (file)
@@ -17,7 +17,7 @@
 {% if poste|est_editable:request.user %}
 <a class="droite bouton-action" href="{% url poste poste.key %}">Modifier</a>
 {% endif %}
-{% if not poste.id_rh and perms.rh.change_poste and perms.rh.add_poste %}
+{% if not poste.id_rh and importer %}
 <a class="droite bouton-action" href="{% url poste_importer poste.id %}">Importer</a>
 {% endif %}
 <div class="visualClear"></div>
index 917be61..fe3027e 100644 (file)
@@ -4,7 +4,8 @@ import os
 
 from django import template
 
-from project.groups import grp_correspondants_rh, grp_administrateurs, grp_drh
+from project.groups import grp_correspondants_rh, grp_administrateurs, \
+                        grp_drh, grp_drh2
 
 from project.dae.workflow import ETATS_EDITABLE
 
@@ -13,7 +14,11 @@ register = template.Library()
 
 @register.filter
 def test_membre_drh(user):
-    return grp_drh in user.groups.all()
+    grps = user.groups.all()
+    if grp_drh in grps or grp_drh2 in grps:
+        return True
+    else:
+        return False
 
 @register.filter
 def peut_ajouter(user):
index e5e456c..cd8cb26 100644 (file)
@@ -1,21 +1,18 @@
 # -*- encoding: utf-8 -*-
 
-import datetime
-from datetime import date
-from simplejson import dumps
+from datetime import date, datetime
 
+from auf.django.permissions.decorators import get_object
 from django.contrib import messages
-from django.contrib.auth.decorators import login_required
+from django.contrib.auth.decorators import login_required, user_passes_test
 from django.contrib.contenttypes.models import ContentType
 from django.core.exceptions import MultipleObjectsReturned
 from django.core.paginator import Paginator, InvalidPage
 from django.db.models import Q
 from django.http import Http404, HttpResponse, HttpResponseGone
 from django.shortcuts import redirect, render, get_object_or_404
-
 from sendfile import sendfile
-
-from auf.django.permissions.decorators import get_object
+from simplejson import dumps
 
 from project.dae import models as dae
 from project.dae.decorators import \
@@ -26,9 +23,11 @@ from project.dae.decorators import \
         employe_dans_ma_region_ou_service, \
         dossier_est_modifiable, \
         poste_est_modifiable, get_contrat
+from project.dae.forms import FinancementFormSet, FinancementFormSetInitial
+from project.dae.forms import PosteComparaisonFormSet, PosteComparaisonFormSetInitial
 from project.dae.forms import \
-        PosteWorkflowForm, PosteForm, FinancementForm, PostePieceForm, \
-        PosteComparaisonFormSet, DossierWorkflowForm, ChoosePosteForm, \
+        PosteWorkflowForm, PosteForm, PostePieceFormSet, \
+        DossierWorkflowForm, ChoosePosteForm, \
         EmployeForm, DossierForm, DossierPieceForm, \
         DossierComparaisonFormSet, RemunForm, ContratForm, DAENumeriseeForm, \
         label_poste_display, DAEFinaliseesSearchForm
@@ -36,10 +35,13 @@ from project.dae.mail import send_drh_finalisation_mail
 from project.dae.workflow import \
         DOSSIER_ETAT_FINALISE, DOSSIER_ETAT_REGION_FINALISATION, \
         DOSSIER_ETAT_DRH_FINALISATION, POSTE_ETAT_FINALISE
-from project.decorators import redirect_interdiction
+from project.decorators import \
+        redirect_interdiction, drh_or_admin_required, in_drh_or_admin
 from project.rh import models as rh
 
 
+# Helpers
+
 def devises():
     liste = []
     for d in rh.Devise.objects.all():
@@ -73,7 +75,6 @@ def poste_consulter(request, key):
             request.POST, instance=poste, request=request
         )
         if validationForm.is_valid():
-            validationForm.save()
             messages.add_message(
                 request, messages.SUCCESS, "La validation a été enregistrée."
             )
@@ -83,15 +84,16 @@ def poste_consulter(request, key):
 
     comparaisons_internes = \
             poste.dae_comparaisons_internes.ma_region_ou_service(request.user)
-    vars = {
+    return render(request, 'dae/poste_consulter.html', {
         'poste': poste,
         'validationForm': validationForm,
-        'comparaisons_internes': comparaisons_internes
-    }
+        'comparaisons_internes': comparaisons_internes,
+        'importer': in_drh_or_admin(request.user)
+    })
 
-    return render(request, 'dae/poste_consulter.html', vars)
 
 
+@drh_or_admin_required
 def poste_importer(request, id):
     poste_dae = get_object_or_404(dae.Poste, id=id)
     if request.method == 'POST':
@@ -117,46 +119,74 @@ def poste(request, key=None):
     il est automatiquement copié dans dae.
 
     """
+
+    def _dupliquer_poste(poste_dae, poste_rh):
+        """
+        Recopie les fields d'un poste RH dans un poste DAE
+        avec ceux-ci précédemment crées
+        """
+        exclus = ('id', 'supprime', 'date_creation',
+                'user_creation', 'date_modification',
+                'user_modification', )
+        fields = [f for f in poste_rh._meta.fields if f.name not in exclus]
+        for field in fields:
+            setattr(poste_dae, field.name, getattr(poste_rh, field.name))
+        return poste_dae
+
     poste, data, vars = None, dict(), dict()
 
-    if key:
-        # Poste existant
+    # Sans key, c'est un nouveau poste
+    if key is None:
+        new = True
+    else:
+        new = False
+
+    # Type intervention
+    if 'type_intervention' in request.GET:
+        data['type_intervention'] = request.GET['type_intervention']
+
+    # Poste existant
+    poste_rh = None
+    if not new:
         source, id = key.split('-')
 
         if source == 'dae':
             poste = get_object_or_404(dae.Poste, pk=id)
+            data['poste'] = key
         elif source == 'rh':
-            p = get_object_or_404(rh.Poste, pk=id)
+            poste_rh = get_object_or_404(rh.Poste, pk=id)
+            poste = dae.Poste(id_rh=poste_rh)
             # Initialisation avec les valeurs du poste de rh_v1
-            poste = dae.Poste(id_rh=p, nom=p.type_poste.nom)
-            for field in ('implantation', 'type_poste', ):
-                setattr(poste, field, getattr(p, field))
-        if poste.id_rh_id:
+            poste = _dupliquer_poste(poste, poste_rh)
             data['poste'] = 'rh-' + str(poste.id_rh_id)
-        else:
-            data['poste'] = key
+
+    # prépopuler pour la modification de poste
+    if poste_rh is not None:
+        FinancementForm = FinancementFormSetInitial
+        PosteComparaisonForm = PosteComparaisonFormSetInitial
+
+        qs_financements = poste_rh.rh_financements.all()
+        qs_comparaisons = poste_rh.rh_comparaisons_internes.all()
+        financements = [{'type': f.type, 'pourcentage': f.pourcentage,
+            'commentaire': f.commentaire} for f in qs_financements]
+        comparaisons = [{'implantation': c.implantation, 'nom': c.nom,
+            'montant': c.montant, 'devise': c.devise} for c in qs_comparaisons]
+    # formulaires normaux, avec modifications des objects FK
     else:
-        # Nouveau poste
-        vars['new'] = True
+        FinancementForm = FinancementFormSet
+        PosteComparaisonForm = PosteComparaisonFormSet
+        financements = []
+        comparaisons = []
+
 
     if request.POST:
         data.update(dict(request.POST.items()))
         form = PosteForm(data, instance=poste, request=request)
-        financementForm = FinancementForm(request.POST, instance=poste)
-        piecesForm = PostePieceForm(
-            request.POST, request.FILES, instance=poste
-        )
-        if isinstance(poste, dae.Poste):
-            comparaisons_formset = PosteComparaisonFormSet(
-                request.POST,
-                queryset=poste.dae_comparaisons_internes.ma_region_ou_service(
-                    request.user
-                )
-            )
-        else:
-            comparaisons_formset = PosteComparaisonFormSet(
+        financementForm = FinancementForm(request.POST, instance=poste, )
+        piecesForm = PostePieceFormSet(request.POST, request.FILES, instance=poste, )
+        comparaisons_formset = PosteComparaisonForm(
                 request.POST,
-                queryset=dae.PosteComparaison.objects.none()
+                instance=poste,
             )
         if form.is_valid() and piecesForm.is_valid() and \
            financementForm.is_valid() and comparaisons_formset.is_valid():
@@ -172,6 +202,11 @@ def poste(request, key=None):
                 comparaison.poste = poste
                 comparaison.save()
 
+            # dans le cas d'une modification de poste de RH, on recopie les PJ
+            if poste_rh is not None:
+                for piece in poste_rh.rh_pieces.all():
+                    dae.PostePiece(poste=poste, nom=piece.nom,
+                            fichier=piece.fichier).save()
             messages.add_message(
                 request, messages.SUCCESS,
                 "Le poste %s a été sauvegardé." % poste
@@ -191,23 +226,24 @@ def poste(request, key=None):
         # 'initial' évite la validation prémature lors d'une copie de poste de
         # rh_v1 vers dae.
         form = PosteForm(initial=data, instance=poste, request=request)
-        piecesForm = PostePieceForm(instance=poste)
-        financementForm = FinancementForm(instance=poste)
-        if isinstance(poste, dae.Poste):
-            comparaisons_formset = PosteComparaisonFormSet(
-                queryset=poste.dae_comparaisons_internes.ma_region_ou_service(
-                    request.user
-                )
+        piecesForm = PostePieceFormSet(instance=poste)
+
+        if poste_rh is not None:
+            financementForm = FinancementForm(initial=financements, instance=poste)
+            comparaisons_formset = PosteComparaisonForm(
+                initial=comparaisons,
+                instance=poste,
             )
+        # cas de la création d'un nouveau poste
         else:
-            comparaisons_formset = PosteComparaisonFormSet(
-                queryset=dae.PosteComparaison.objects.none()
-            )
+            financementForm = FinancementForm(instance=poste)
+            comparaisons_formset = PosteComparaisonForm(instance=poste)
 
     vars.update(dict(
         form=form, poste=poste, poste_key=key, piecesForm=piecesForm,
         financementForm=financementForm,
-        comparaisons_formset=comparaisons_formset
+        comparaisons_formset=comparaisons_formset,
+        poste_rh=poste_rh,
     ))
 
     return render(request, 'dae/poste.html', vars)
@@ -223,16 +259,15 @@ def postes_liste(request):
         content_type.id
     )}
     postes_a_traiter = dae.Poste.objects.mes_choses_a_faire(request.user) \
-            .extra(select=extra_select).order_by('-date_creation')
+            .extra(select=extra_select).order_by('-id')
     postes_en_cours = dae.Poste.objects.ma_region_ou_service(request.user) \
             .extra(select=extra_select) \
             .filter(~Q(etat=POSTE_ETAT_FINALISE)) \
-            .order_by('-date_creation')
-    c = {
+            .order_by('-id')
+    return render(request, 'dae/postes_liste.html', {
         'postes_a_traiter': postes_a_traiter,
         'postes_en_cours': postes_en_cours,
-    }
-    return render(request, 'dae/postes_liste.html', c)
+    })
 
 
 @login_required
@@ -282,15 +317,15 @@ def embauche_consulter(request, dossier_id):
                 request.user
             )
     comparaisons = dossier.dae_comparaisons.ma_region_ou_service(request.user)
-    vars = {
+    return render(request, 'dae/embauche_consulter.html', {
         'dossier': dossier,
         'validationForm': validationForm,
         'comparaisons_internes': comparaisons_internes,
-        'comparaisons': comparaisons
-    }
-    return render(request, 'dae/embauche_consulter.html', vars)
-
+        'comparaisons': comparaisons,
+        'importer': in_drh_or_admin(request.user)
+    })
 
+@user_passes_test(lambda u: u.is_superuser)
 @dae_groupe_requis
 @dossier_dans_ma_region_ou_service
 def embauche_importer(request, dossier_id=None):
@@ -462,11 +497,11 @@ def embauches_liste(request):
     )}
     embauches_a_traiter = dae.Dossier.objects \
             .mes_choses_a_faire(request.user) \
-            .extra(select=extra_select).order_by('-date_creation')
+            .extra(select=extra_select).order_by('-id')
     embauches_en_cours = dae.Dossier.objects \
             .ma_region_ou_service(request.user) \
             .extra(select=extra_select) \
-            .order_by('-date_creation') \
+            .order_by('-id') \
             .exclude(etat=DOSSIER_ETAT_FINALISE)
     c = {
         'embauches_a_traiter': embauches_a_traiter,
@@ -547,11 +582,11 @@ def embauches_finalisees(request):
     except InvalidPage:
         page = paginator.page(1)
 
-    c = {
+    return render(request, 'dae/embauches_finalisees.html', {
         'embauches': page,
         'search_form': search_form,
-    }
-    return render(request, 'dae/embauches_finalisees.html', c)
+        'importer': in_drh_or_admin(request.user)
+    })
 
 
 def employe(request, key):
@@ -846,26 +881,20 @@ def liste_postes(request):
     params = getattr(request, method, [])
     data = []
 
-    # Voir le code de _poste_choices dans forms.py
-    copies = dae.Poste.objects.exclude(id_rh__isnull=True) \
-            .filter(etat=POSTE_ETAT_FINALISE)
-    rh_postes_actifs = rh.Poste.objects.all()
-
     if 'implantation_id' in params \
        and params.get('implantation_id') is not u"":
         implantation_id = params.get('implantation_id')
-        copies = copies.filter(implantation__id=implantation_id)
-        rh_postes_actifs = rh_postes_actifs.filter(
-            implantation__id=implantation_id
-        )
+        q = Q(implantation__id=implantation_id)
+    else:
+        q = Q()
 
-    id_copies = [p.id_rh_id for p in copies.all()]
-    rhv1 = rh_postes_actifs.exclude(id__in=id_copies)
-    rhv1 = rhv1.select_related(depth=1)
+    postes_rh = rh.Poste.objects.ma_region_ou_service(request.user).filter(q)
+    postes_rh = postes_rh.select_related(depth=1)
 
     data = [('', 'Nouveau poste')] + \
-            sorted([('rh-%s' % p.id, label_poste_display(p)) for p in rhv1],
-                   key=lambda t: t[1])
+           sorted([('rh-%s' % p.id, label_poste_display(p)) for p in
+               postes_rh],
+                  key=lambda t: t[1])
     return HttpResponse(dumps(data))
 
 
@@ -998,7 +1027,7 @@ def liste_valeurs_point(request):
     method = request.method
     params = getattr(request, method, [])
     data = []
-    annee_courante = datetime.datetime.now().year
+    annee_courante = datetime.now().year
     if 'implantation_id' in params \
        and params.get('implantation_id') is not u"":
         implantation_id = params.get('implantation_id')
index bb3fb44..a893c75 100644 (file)
@@ -9,6 +9,18 @@ from project.groups import \
 from project.groups import \
         is_user_dans_services_centraux, is_user_dans_region
 
+dae_groupes = (
+    grp_correspondants_rh,
+    grp_administrateurs,
+    grp_directeurs_bureau,
+    grp_drh,
+    grp_drh2,
+    grp_accior,
+    grp_abf,
+    grp_haute_direction,
+    grp_service_utilisateurs,
+)
+
 # codes états
 POSTE_ETAT_BROUILLON = 'BROUILLON'
 POSTE_ETAT_ADMINISTRATEUR = 'ADMINISTRATEUR'
@@ -123,14 +135,14 @@ POSTE_ACTIONS = {
         'etat_initial': (POSTE_ETAT_DEMANDE_MODIF,),
         'etat_final': POSTE_ETAT_DRH_CONTROLE,
     },
-    POSTE_ACTION_ENVOYER_ACCIOR: {
-        'nom': u'Envoyer',
-        'etat_initial': (POSTE_ETAT_DRH_2,),
-        'etat_final': POSTE_ETAT_ACCIOR,
-    },
+    #POSTE_ACTION_ENVOYER_ACCIOR: {
+    #    'nom': u'Envoyer',
+    #    'etat_initial': (POSTE_ETAT_DRH_2,),
+    #    'etat_final': POSTE_ETAT_ACCIOR,
+    #},
     POSTE_ACTION_ENVOYER_ABF: {
         'nom': u'Envoyer',
-        'etat_initial': (POSTE_ETAT_ACCIOR,),
+        'etat_initial': (POSTE_ETAT_ACCIOR, POSTE_ETAT_DRH_2),
         'etat_final': POSTE_ETAT_ABF,
     },
     POSTE_ACTION_ENVOYER_HAUTE_DIRECTION: {
index 22b476d..3f7217e 100644 (file)
@@ -12,14 +12,18 @@ And to activate the app index dashboard::
     ADMIN_TOOLS_APP_INDEX_DASHBOARD = 'SIGMA.dashboard.CustomAppIndexDashboard'
 """
 
-from admin_tools.dashboard import modules, Dashboard, AppIndexDashboard
+from django.core.urlresolvers import reverse
 from django.utils.translation import ugettext_lazy as _
+from admin_tools.dashboard import modules, Dashboard, AppIndexDashboard
+from project.decorators import in_drh_or_admin
+from project.rh.historique import get_active_revisions
 
 class CustomIndexDashboard(Dashboard):
     """
     Custom index dashboard for SGRH.
     """
     def init_with_context(self, context):
+        request = context['request']
 
         # append an app list module for "Applications"
         self.children.append(modules.Group(
@@ -59,6 +63,36 @@ class CustomIndexDashboard(Dashboard):
             ]
         ))
 
+        if in_drh_or_admin(request.user):
+            revisions = get_active_revisions()[:10]
+            children = []
+            for rev in revisions:
+                date = rev['short_date_created']
+                user = u"<span style='font-weight: bold;'>%s</span>" % rev['user']
+                if rev['type'] is None or rev['objet'] is None:
+                    titre = u"""<span style='color:black;'>[%s] %s</span>
+                    commentaire : %s """ % (date, user, rev['comment'])
+                    children.append({
+                        'title': titre,
+                        'url': reverse('rhr_historique_des_modifications'),
+                        'external': False,
+                        })
+                else:
+                    type = u"<span style='font-decoration: underligne;'>%s</span>" % rev['type']
+                    titre = u"""<span style='color:black;'>[%s] %s a modifié
+                        un(e) %s :</span> %s""" % (date, user, type, rev['objet'], )
+                    children.append({
+                        'title': titre,
+                        'url': rev['history_url'],
+                        'external': False,
+                        })
+            self.children.append(modules.LinkList(
+                title='10 dernières modifications',
+                children=children,)
+            )
+
+
+
         # append an app list module for "Configuration"
         self.children.append(modules.AppList(
             _('Configuration'),
index 8b56060..00b8c59 100644 (file)
@@ -9,7 +9,7 @@ from django.contrib.auth import REDIRECT_FIELD_NAME
 from django.db.models import Q
 from django.utils.http import urlquote
 
-from project.groups import grp_drh, grp_drh2, grp_correspondants_rh
+from project import groups
 from project.groups import get_employe_from_user
 
 
@@ -31,10 +31,10 @@ def in_drh_or_admin(user):
     """
     Teste si un user Django fait parti du groupe DRH, DRH2 ou s'il est admin
     """
-    groups = user.groups.all()
+    user_groups = user.groups.all()
     if user.is_superuser or \
-            grp_drh in groups or \
-            grp_drh2 in groups:
+            groups.grp_drh in user_groups or \
+            groups.grp_drh2 in user_groups:
         return True
     else:
         return False
@@ -62,9 +62,12 @@ def region_protected(model):
             if request.user.is_superuser:
                 return func(request, id)
             user_groups = request.user.groups.all()
-            if grp_drh in user_groups:
+            if groups.grp_drh in user_groups or \
+               groups.grp_drh2 in user_groups:
                 return func(request, id)
-            if grp_correspondants_rh in user_groups:
+            if groups.grp_correspondants_rh in user_groups or \
+               groups.grp_administrateurs in user_groups or \
+               groups.grp_directeurs_bureau in user_groups:
                 employe = get_employe_from_user(request.user)
                 q = Q(**{
                     model.prefix_implantation: employe.implantation.region
@@ -75,3 +78,18 @@ def region_protected(model):
             return redirect_interdiction(request)
         return wrapped
     return wrapper
+    
+def in_one_of_group(groups):
+    """
+    Test si le user appartient au moins 1 des ces groupes
+    """
+    def wrapper(fn):
+        def wrapped(request, *args, **kwargs):
+            user_groups = request.user.groups.all()
+            for g in user_groups:
+                if g in groups:
+                    return fn(request, *args, **kwargs)
+            msg = u"Votre compte ne permet pas d'accéder à cette partie de l'application."
+            return redirect_interdiction(request, msg)
+        return wrapped
+    return wrapper
index 2b83d25..4ec08dd 100644 (file)
@@ -14,6 +14,8 @@ from django.utils.translation import ugettext_lazy as _
 from admin_tools.menu import items, Menu
 
 from project.decorators import in_drh_or_admin
+from project import groups
+
 
 
 class CustomMenu(Menu):
@@ -46,7 +48,11 @@ class CustomMenu(Menu):
                         kwargs={'app_label': 'dae'})),
                     ]
 
-        if in_drh_or_admin(request.user):
+        user_groups = request.user.groups.all()
+        if in_drh_or_admin(request.user) or\
+           groups.grp_correspondants_rh in user_groups or\
+           groups.grp_administrateurs in user_groups or\
+           groups.grp_directeurs_bureau in user_groups:
             self.children += [
                 items.MenuItem('Rapports',
                     children=[
@@ -71,6 +77,8 @@ class CustomMenu(Menu):
                         #     reverse('rhr_postes_hierarchie')),
                         items.MenuItem('Rapport de masse salariale',
                             reverse('rhr_masse_salariale')),
+                        items.MenuItem('Rapport des modifications',
+                            reverse('rhr_historique_des_modifications')),
                         ]),
 
                 items.MenuItem('Organigrammes',
diff --git a/project/permissions.py b/project/permissions.py
new file mode 100644 (file)
index 0000000..0aaf7fb
--- /dev/null
@@ -0,0 +1,48 @@
+# -*- encoding: utf-8 -*
+
+from project import groups
+from project.groups import get_employe_from_user
+from project.decorators import in_drh_or_admin
+
+from rh import models as rh
+
+def user_gere_obj_de_sa_region(user):
+    user_groups = user.groups.all()
+    if groups.grp_correspondants_rh in user_groups or \
+            groups.grp_administrateurs in user_groups or \
+            groups.grp_directeurs_bureau in user_groups:
+        return True
+    return False
+
+def user_can_add_obj(user):
+    if user_gere_obj_de_sa_region(user) or \
+            in_drh_or_admin(user):
+        return True
+    return False
+
+def user_can_change_obj(user, obj):
+    if in_drh_or_admin(user) or (
+            user_gere_obj_de_sa_region(user) and \
+            obj_in_region_user(user, obj)):
+        return True
+    return False
+    
+def user_can_delete_obj(user, obj):
+    return in_drh_or_admin(user)
+    
+# helpers
+def obj_in_region_user(user, obj):
+    region_user = get_region_user(user)
+    if isinstance(obj, rh.Employe):
+        return True
+    if isinstance(obj, rh.Dossier):
+        return True
+    if isinstance(obj, rh.Poste):
+        return obj.implantation.region == region_user
+    return False
+    
+def get_region_user(user):
+    # gère actuellement qu'une seule région par user
+    employe = get_employe_from_user(user)
+    region_user = employe.implantation.region
+    return region_user
index d28f61b..d6de8a5 100644 (file)
@@ -2,6 +2,8 @@
 
 import textwrap
 
+from auf.django.emploi.models import OffreEmploi, Candidat, CandidatPiece
+from auf.django.references.models import Region, Bureau
 from django.conf import settings
 from django.contrib import admin
 from django.core.urlresolvers import reverse
@@ -21,7 +23,6 @@ from auf.django.export.admin import ExportAdmin
 
 from project.groups import get_employe_from_user as get_emp
 from project.rh import models as rh
-
 from project.recrutement.forms import OffreEmploiForm
 from project.recrutement.groups import \
         grp_drh, grp_drh2, \
@@ -33,7 +34,6 @@ from project.recrutement.models import \
         Evaluateur, CandidatEvaluation, \
         ProxyOffreEmploi, ProxyCandidat, MesCandidatEvaluation, \
         CourrielTemplate
-        
 
 ### CONSTANTES
 IMPLANTATIONS_CENTRALES = [15, 19]
@@ -62,7 +62,7 @@ class OrderedChangeList(admin.views.main.ChangeList):
         return qs
 
 
-class OffreEmploiAdmin(BaseAdmin, VersionAdmin):
+class OffreEmploiAdminMixin(BaseAdmin):
     date_hierarchy = 'date_creation'
     list_display = (
         'nom', 'date_limite', 'region',  'statut', 'est_affiche',
@@ -93,7 +93,7 @@ class OffreEmploiAdmin(BaseAdmin, VersionAdmin):
 
     ### Actions à afficher
     def get_actions(self, request):
-        actions = super(OffreEmploiAdmin, self).get_actions(request)
+        actions = super(OffreEmploiAdminMixin, self).get_actions(request)
         del actions['delete_selected']
         return actions
 
@@ -118,7 +118,7 @@ class OffreEmploiAdmin(BaseAdmin, VersionAdmin):
 
     ### Formulaire
     def get_form(self, request, obj=None, **kwargs):
-        form = super(OffreEmploiAdmin, self).get_form(request, obj, **kwargs)
+        form = super(OffreEmploiAdminMixin, self).get_form(request, obj, **kwargs)
         employe = get_emp(request.user)
         user_groupes = request.user.groups.all()
 
@@ -235,10 +235,14 @@ class OffreEmploiAdmin(BaseAdmin, VersionAdmin):
             employe = get_emp(request.user)
             kwargs["queryset"] = Implantation.objects.filter(region=employe.implantation.region)
             return db_field.formfield(**kwargs)
-        return super(OffreEmploiAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs)
+        return super(OffreEmploiAdminMixin, self).formfield_for_foreignkey(db_field, request, **kwargs)
+
 
+class OffreEmploiAdmin(VersionAdmin, OffreEmploiAdminMixin):
+    pass
 
-class ProxyOffreEmploiAdmin(OffreEmploiAdmin):
+
+class ProxyOffreEmploiAdmin(OffreEmploiAdminMixin):
     list_display = (
         'nom', 'date_limite', 'region', 'statut', 'est_affiche'
     )
@@ -325,7 +329,8 @@ class CandidatEvaluationInline(admin.TabularInline):
             return self.readonly_fields + ('evaluateur', 'note', 'commentaire')
         return self.readonly_fields
 
-class CandidatAdmin(BaseAdmin, VersionAdmin, ExportAdmin):
+
+class CandidatAdminMixin(BaseAdmin, ExportAdmin):
     change_list_template = 'admin/recrutement/candidat/change_list.html'
     search_fields = ('nom', 'prenom')
     exclude = ('actif', )
@@ -388,7 +393,7 @@ class CandidatAdmin(BaseAdmin, VersionAdmin, ExportAdmin):
 
     ### Actions à afficher
     def get_actions(self, request):
-        actions = super(CandidatAdmin, self).get_actions(request)
+        actions = super(CandidatAdminMixin, self).get_actions(request)
         del actions['delete_selected']
         return actions
 
@@ -523,7 +528,7 @@ class CandidatAdmin(BaseAdmin, VersionAdmin, ExportAdmin):
             employe = get_emp(request.user)
             kwargs["queryset"] = OffreEmploi.objects.filter(region=employe.implantation.region)
             return db_field.formfield(**kwargs)
-        return super(CandidatAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs)
+        return super(CandidatAdminMixin, self).formfield_for_foreignkey(db_field, request, **kwargs)
 
     def get_changelist(self, request, **kwargs):
         return OrderedChangeList
@@ -560,7 +565,11 @@ class CandidatAdmin(BaseAdmin, VersionAdmin, ExportAdmin):
         return qs.none()
 
 
-class ProxyCandidatAdmin(CandidatAdmin):
+class CandidatAdmin(VersionAdmin, CandidatAdminMixin):
+    pass
+
+
+class ProxyCandidatAdmin(CandidatAdminMixin):
     list_editable = ()
     readonly_fields = (
         'statut', 'offre_emploi', 'prenom', 'nom', 'genre', 'nationalite',
index dc01130..360e376 100644 (file)
@@ -1,19 +1,17 @@
 # -=- encoding: utf-8 -=-
 
+from auf.django.emploi import models as emploi
 from django.contrib.auth.models import User
 from django.db import models
 from django.db.models.signals import pre_save, pre_delete
 from django.dispatch import receiver
-
-from tinymce import models as tinymce_models
 from south.modelsinspector import add_introspection_rules
-add_introspection_rules([], ["^tinymce.models.HTMLField"])
-
-from auf.django.emploi import models as emploi
+from tinymce import models as tinymce_models
 
 from project.recrutement.groups import  grp_evaluateurs
 
 ### CONSTANTES
+
 #NOTES
 NOTE_MIN = 1
 NOTE_RANGE = 1
@@ -29,22 +27,12 @@ HELP_TEXT_TAGS_ACCEPTES = "Pour le texte, les variables disponibles sont : \
                             automatiquement remplacés par les informations de \
                             chaque candidat."
 
-
-# Abstracts
-class Metadata(models.Model):
-    """
-    Méta-données AUF.
-    Metadata.actif = flag remplaçant la suppression.
-    actif == False : objet réputé supprimé.
-    """
-    actif = models.BooleanField(default=True)
-    date_creation = models.DateField(auto_now_add=True, )
-
-    class Meta:
-        abstract = True
+# Pour South
+add_introspection_rules([], ["^tinymce.models.HTMLField"])
 
 
 class Candidat(emploi.Candidat):
+
     class Meta:
         proxy = True
 
@@ -61,6 +49,7 @@ class Candidat(emploi.Candidat):
 
 
 class OffreEmploiManager(models.Manager):
+
     def get_query_set(self):
         fkeys = ('region',)
         return super(OffreEmploiManager, self).get_query_set().\
@@ -68,27 +57,29 @@ class OffreEmploiManager(models.Manager):
 
 
 class ProxyOffreEmploi(emploi.OffreEmploi):
+
     class Meta:
         proxy = True
-        verbose_name = u"Offre d'emploi (visualisation)"
-        verbose_name_plural = u"Offres d'emploi (visualisation)"
+        verbose_name = u"offre d'emploi (visualisation)"
+        verbose_name_plural = u"offres d'emploi (visualisation)"
 
     def __unicode__(self):
         return '%s [%s] - View' % (self.nom, self.id)
 
 
 class ProxyCandidat(emploi.Candidat):
+
     class Meta:
         proxy = True
-        verbose_name = u"Candidat (visualisation)"
-        verbose_name_plural = u"Candidats (visualisation)"
+        verbose_name = u"candidat (visualisation)"
+        verbose_name_plural = u"candidats (visualisation)"
 
     def __unicode__(self):
         return '%s %s [%s]' % (self.prenom, self.nom, self.id)
 
 
 class Evaluateur(models.Model):
-    user = models.ForeignKey(User, unique=True, verbose_name=u"Évaluateur")
+    user = models.ForeignKey(User, unique=True, verbose_name=u"évaluateur")
 
     class Meta:
         verbose_name = u"évaluateur"
@@ -118,7 +109,7 @@ class CandidatEvaluation(models.Model):
     candidat = models.ForeignKey(emploi.Candidat, db_column='candidat',
                 related_name='evaluations',)
     evaluateur = models.ForeignKey(Evaluateur, db_column='evaluateur',
-                    related_name='+', verbose_name=u'Évaluateur')
+                    related_name='+', verbose_name=u'évaluateur')
     note = models.IntegerField(choices=NOTES, blank=True, null=True)
     commentaire = models.TextField(null=True, blank=True, default='Aucun')
     date = models.DateField(auto_now_add=True,)
@@ -140,8 +131,8 @@ class MesCandidatEvaluation(CandidatEvaluation):
 
     class Meta:
         proxy = True
-        verbose_name = u"Mon candidat à évaluer"
-        verbose_name_plural = u"Mes candidats à évaluer"
+        verbose_name = u"mon candidat à évaluer"
+        verbose_name_plural = u"mes candidats à évaluer"
 
 
 #### TEMPLATE COURRIEL
@@ -161,15 +152,15 @@ class CourrielTemplate(models.Model):
 
     class Meta:
         ordering = ('nom_modele',)
-        verbose_name = "Modèle de courriel"
-        verbose_name_plural = "Modèles de courriel"
+        verbose_name = u"modèle de courriel"
+        verbose_name_plural = u"modèles de courriel"
 
 
 class CandidatCourriel(models.Model):
-    candidats = models.ManyToManyField(Candidat, verbose_name=u"Candidats")
+    candidats = models.ManyToManyField(Candidat, verbose_name=u"candidats")
     template = models.ForeignKey(
         CourrielTemplate, db_column='template', related_name='+',
-        verbose_name=u"Modèle de courriel"
+        verbose_name=u"modèle de courriel"
     )
     sujet = models.CharField(
         max_length=255, blank=True, help_text=HELP_TEXT_TAGS_ACCEPTES
index 080a940..87e5699 100644 (file)
@@ -1,5 +1,6 @@
 # -*- encoding: utf-8 -*-
 
+from auf.django.emploi import models as emploi
 from django.contrib import messages
 from django.core.mail import EmailMultiAlternatives
 from django.core.urlresolvers import reverse
@@ -8,10 +9,7 @@ from django.shortcuts import render, redirect
 from django.template import Context, Template
 from django.views.static import serve
 
-from auf.django.emploi import models as emploi
-
 from project.decorators import redirect_interdiction
-
 from project.recrutement import forms
 from project.recrutement import models
 from project.recrutement.groups import recrutement_groupes
@@ -37,8 +35,7 @@ def mediaserve(request, path, document_root=None, show_indexes=False):
 
 
 def index(request):
-    c = {}
-    return render(request, 'recrutement/index.html', c)
+    return render(request, 'recrutement/index.html')
 
 
 def selectionner_template(request):
@@ -57,10 +54,9 @@ def selectionner_template(request):
     else:
         form = forms.CandidatCourrielTemplateForm()
 
-    c = {
-        'form': form,
-    }
-    return render(request, "recrutement/selectionner_template.html", c)
+    return render(request, "recrutement/selectionner_template.html", {
+        'form': form
+    })
 
 
 def envoyer_courriel_candidats(request):
@@ -96,10 +92,9 @@ def envoyer_courriel_candidats(request):
                 'plain_text': template.plain_text
             }
         )
-    c = {
-        'form': form,
-    }
-    return render(request, "recrutement/envoyer_courriel_candidats.html", c)
+    return render(request, "recrutement/envoyer_courriel_candidats.html", {
+        'form': form
+    })
 
 
 def affecter_evaluateurs_offre_emploi(request):
@@ -116,10 +111,9 @@ def affecter_evaluateurs_offre_emploi(request):
             return redirect("admin:emploi_offreemploi_changelist")
     else:
         form = forms.EvaluateurForm(offres_emploi=offres_emploi)
-    c = {
-        'form': form,
-    }
-    return render(request, "recrutement/affecter_evaluateurs.html", c)
+    return render(request, "recrutement/affecter_evaluateurs.html", {
+        'form': form
+    })
 
 
 def send_templated_email(candidat, template):
@@ -151,7 +145,6 @@ def send_templated_email(candidat, template):
 def candidat_pdf(request):
     candidat_id = request.GET.get('id')
     candidat = models.Candidat.objects.get(id=candidat_id)
-    c = {
-        'candidat': candidat,
-    }
-    return render(request, "recrutement/candidat_pdf.html", c)
+    return render(request, "recrutement/candidat_pdf.html", {
+        'candidat': candidat
+    })
index f815ade..eed84ba 100644 (file)
@@ -2,24 +2,32 @@
 
 import datetime
 
+import reversion
+from ajax_select import make_ajax_form
+from auf.django.references import models as ref
+from django import forms
 from django.core.urlresolvers import reverse
 from django.contrib import admin
+from django.contrib.contenttypes.models import ContentType
 from django.conf import settings
 from django.db.models import Q, Count
 from django.template.defaultfilters import date
 from django.utils.formats import date_format
 
-from ajax_select import make_ajax_form
-
-from auf.django.metadata.admin import \
-        AUFMetadataAdminMixin, AUFMetadataInlineAdminMixin, \
-        AUF_METADATA_READONLY_FIELDS
-import auf.django.references.models as ref
-
+from project import groups
 from project.decorators import in_drh_or_admin
 from project.groups import grp_correspondants_rh
 from project.groups import get_employe_from_user
 from project.rh import models as rh
+from project.permissions import get_region_user,  \
+        user_gere_obj_de_sa_region, \
+        user_can_add_obj, \
+        user_can_change_obj, \
+        user_can_delete_obj
+
+import project.rh.models as rh
+from project.rh.forms import \
+        ContratForm, AyantDroitForm, EmployeAdminForm, AjaxSelect, DossierForm
 from project.rh.change_list import ChangeList
 from project.rh.forms import ContratForm, AyantDroitForm, EmployeAdminForm, \
           AjaxSelect, DossierForm, ResponsableInlineForm
@@ -37,15 +45,16 @@ class BaseAdmin(admin.ModelAdmin):
             'jquery-autocomplete/jquery.autocomplete.min.js',
         )
 
+# Admin pour reversion
 
-class ArchiveMixin(object):
+class ArchivableAdmin(admin.ModelAdmin):
     """
-    Archive Mixin pour gérer le queryset et le display
-    NON COMPRIS : list_filter, et list_display, field à setter dans la classe.
+    Admin pour les modèles archivables
     """
+    list_filter = ('archive', )
 
     def queryset(self, request):
-        return self.model._base_manager
+        return self.model.avec_archives.all()
 
     def _archive(self, obj):
         if obj.archive:
@@ -59,6 +68,7 @@ class ArchiveMixin(object):
 class RegionProxy(ref.Region):
     """ Proxy utilisé pour les organigrammes par région """
     class Meta:
+        managed = False
         proxy = True
         verbose_name = u"Organigramme par région"
         verbose_name_plural = u"Organigramme par région"
@@ -67,15 +77,17 @@ class RegionProxy(ref.Region):
 class ImplantationProxy(ref.Implantation):
     """ Proxy utilisé pour les organigrammes par implantation """
     class Meta:
+        managed = False
         proxy = True
         verbose_name = u"Organigramme par implantations"
         verbose_name_plural = u"Organigramme par implantations"
 
 
 class ServiceProxy(rh.Service):
-    """ Proxy utilisé pour les organigrammes opar service """
+    """ Proxy utilisé pour les organigrammes par service """
 
     class Meta:
+        managed = False
         proxy = True
         verbose_name = u"Organigramme par services"
         verbose_name_plural = u"Organigramme par services"
@@ -84,6 +96,7 @@ class ServiceProxy(rh.Service):
 class EmployeProxy(rh.Employe):
     """ Proxy utilisé pour les organigrammes des employés """
     class Meta:
+        managed = False
         proxy = True
         verbose_name = u"Organigramme des employés"
         verbose_name_plural = u"Organigramme des employés"
@@ -123,50 +136,89 @@ class ProtectRegionMixin(object):
     def queryset(self, request):
         qs = super(ProtectRegionMixin, self).queryset(request)
 
-        user_groups = request.user.groups.all()
         if in_drh_or_admin(request.user):
             return qs
 
-        if grp_correspondants_rh in user_groups:
-            employe = get_employe_from_user(request.user)
+        if user_gere_obj_de_sa_region(request.user):
+            region_user = get_region_user(request.user)
             q = Q(**{self.model.prefix_implantation: \
-                    employe.implantation.region})
+                    region_user})
             qs = qs.filter(q).distinct()
             return qs
         return qs.none()
 
     def has_add_permission(self, request):
-        if not in_drh_or_admin(request.user):
-            return False
-        else:
-            return True
+        return user_can_add_obj(request.user)
 
     def has_change_permission(self, request, obj=None):
-        user_groups = request.user.groups.all()
+        return user_can_change_obj(request.user, obj) if obj else True
 
-        # Lock pour autoriser uniquement les DRH à utiliser RH
-        if not in_drh_or_admin(request.user):
-            return False
+    def has_delete_permission(self, request, obj=None):
+        return user_can_delete_obj(request.user, obj) if obj else True
 
-        if len(user_groups) == 0 and not request.user.is_superuser:
-            return False
 
-        if obj is None:
-            return True
-        ids = [o.id for o in self.queryset(request)]
-        return obj.id in ids
+class DerniereModificationAdmin(admin.ModelAdmin):
+
+    def queryset(self, request):
+        qs = super(DerniereModificationAdmin, self).queryset(request)
+        ct = ContentType.objects.get_for_model(self.model)
+        db_table = self.model._meta.db_table
+        pk = self.model._meta.pk.column
+        return qs.extra(select={
+            'date_modification':
+            "SELECT action_time FROM django_admin_log "
+            "WHERE content_type_id = %d AND object_id = %s.%s "
+            "ORDER BY action_time DESC "
+            "LIMIT 1" % (ct.id, db_table, pk),
+            'user_modification':
+            "SELECT u.username "
+            "FROM auth_user u "
+            "INNER JOIN django_admin_log l ON l.user_id = u.id "
+            "WHERE l.content_type_id = %d AND object_id = %s.%s "
+            "ORDER BY action_time DESC "
+            "LIMIT 1" % (ct.id, db_table, pk),
+        })
+
+    def derniere_modification(self, obj):
+        text = ''
+        if obj.date_modification:
+            text += obj.date_modification.strftime('%d-%m-%Y %H:%M')
+        if obj.user_modification:
+            text += ' par ' + obj.user_modification
+        return text
+    derniere_modification.short_description = u'dernière modification'
+    derniere_modification.admin_order_field = 'date_modification'
 
 
 # Inlines
 
+class CommentaireInlineForm(forms.ModelForm):
+
+    def save(self, commit=True):
+
+        # Hack: reversion.VersionAdmin ne sauvegarde pas les champs qui ne
+        # sont pas explicitement dans le formulaire. Il plante cependant
+        # leur valeur dans `self.initial`. Ceci est un peu fragile. Si
+        # c'est possible, il serait plus approprié que Reversion se rende
+        # compte qu'il manque des champs.
+        instance = super(CommentaireInlineForm, self).save(commit=False)
+        if instance.owner_id is None and 'owner' in self.initial:
+            instance.owner_id = self.initial['owner']
+        if instance.date_creation is None and 'date_creation' in self.initial:
+            instance.date_creation = self.initial['date_creation']
+        if commit:
+            instance.save()
+            self.save_m2m()
+        return instance
+
+
 class ReadOnlyInlineMixin(object):
 
     def get_readonly_fields(self, request, obj=None):
-        return [f.name for f in self.model._meta.fields \
-                if f.name not in AUF_METADATA_READONLY_FIELDS]
+        return [f.name for f in self.model._meta.fields]
 
 
-class AyantDroitInline(AUFMetadataInlineAdminMixin, admin.StackedInline):
+class AyantDroitInline(admin.StackedInline):
     model = rh.AyantDroit
     form = AyantDroitForm
     extra = 0
@@ -183,14 +235,14 @@ class AyantDroitInline(AUFMetadataInlineAdminMixin, admin.StackedInline):
     )
 
 
-class AyantDroitCommentaireInline(AUFMetadataInlineAdminMixin, \
-        admin.TabularInline):
-    readonly_fields = ('owner', )
+class AyantDroitCommentaireInline(admin.TabularInline):
+    readonly_fields = ('owner',)
     model = rh.AyantDroitCommentaire
     extra = 1
+    form = CommentaireInlineForm
 
 
-class ContratInline(AUFMetadataInlineAdminMixin, admin.TabularInline):
+class ContratInline(admin.TabularInline):
     form = ContratForm
     model = rh.Contrat
     extra = 1
@@ -198,7 +250,6 @@ class ContratInline(AUFMetadataInlineAdminMixin, admin.TabularInline):
 
 class DossierROInline(ReadOnlyInlineMixin, LinkedInline):
     template = "admin/rh/dossier/linked.html"
-    exclude = AUF_METADATA_READONLY_FIELDS
     model = rh.Dossier
     extra = 0
     can_delete = False
@@ -213,11 +264,11 @@ class DossierROInline(ReadOnlyInlineMixin, LinkedInline):
         return False
 
 
-class DossierCommentaireInline(AUFMetadataInlineAdminMixin, \
-        admin.TabularInline):
-    readonly_fields = ('owner', )
+class DossierCommentaireInline(admin.TabularInline):
+    readonly_fields = ('owner',)
     model = rh.DossierCommentaire
     extra = 1
+    form = CommentaireInlineForm
 
 
 class DossierPieceInline(admin.TabularInline):
@@ -229,11 +280,11 @@ class EmployeInline(admin.TabularInline):
     model = rh.Employe
 
 
-class EmployeCommentaireInline(AUFMetadataInlineAdminMixin, \
-        admin.TabularInline):
-    readonly_fields = ('owner', )
+class EmployeCommentaireInline(admin.TabularInline):
+    readonly_fields = ('owner',)
     model = rh.EmployeCommentaire
     extra = 1
+    form = CommentaireInlineForm
 
 
 class EmployePieceInline(admin.TabularInline):
@@ -241,10 +292,11 @@ class EmployePieceInline(admin.TabularInline):
     extra = 4
 
 
-class PosteCommentaireInline(AUFMetadataInlineAdminMixin, admin.TabularInline):
-    readonly_fields = ('owner', )
+class PosteCommentaireInline(admin.TabularInline):
+    readonly_fields = ('owner',)
     model = rh.PosteCommentaire
     extra = 1
+    form = CommentaireInlineForm
 
 
 class PosteFinancementInline(admin.TabularInline):
@@ -255,7 +307,7 @@ class PostePieceInline(admin.TabularInline):
     model = rh.PostePiece
 
 
-class RemunerationInline(AUFMetadataInlineAdminMixin, admin.TabularInline):
+class RemunerationInline(admin.TabularInline):
     model = rh.Remuneration
     extra = 1
 
@@ -264,56 +316,43 @@ class RemunerationROInline(ReadOnlyInlineMixin, RemunerationInline):
     pass
 
 
-class TypePosteInline(AUFMetadataInlineAdminMixin, admin.TabularInline):
+class TypePosteInline(admin.TabularInline):
     model = rh.TypePoste
 
 
-class PosteComparaisonInline(AUFMetadataInlineAdminMixin, admin.TabularInline):
+class PosteComparaisonInline(admin.TabularInline):
     model = rh.PosteComparaison
 
 
-class ClassementAdmin(AUFMetadataAdminMixin, BaseAdmin):
-    list_display = ('_classement', '_date_modification', 'user_modification', )
-    fieldsets = AUFMetadataAdminMixin.fieldsets + (
-        (None, {
-            'fields': ('type', 'echelon', 'degre', 'coefficient',)}),
+class ClassementAdmin(reversion.VersionAdmin, DerniereModificationAdmin,
+                      BaseAdmin):
+    ignore_duplicate_revisions = True
+    list_display = ('_classement', 'derniere_modification')
+    fieldsets = (
+        (None, {'fields': ('type', 'echelon', 'degre', 'coefficient',)}),
     )
 
     def _classement(self, obj):
         return unicode(obj)
     _classement.short_description = u"Classement"
 
-    def _date_modification(self, obj):
-        return date(obj.date_modification) \
-                if obj.date_modification is not None else "(aucune)"
-    _date_modification.short_description = u'date modification'
-    _date_modification.admin_order_field = 'date_modification'
-
 
-class DeviseAdmin(AUFMetadataAdminMixin, BaseAdmin, ArchiveMixin):
+class DeviseAdmin(reversion.VersionAdmin, ArchivableAdmin,
+                  DerniereModificationAdmin, BaseAdmin):
+    ignore_duplicate_revisions = True
     list_display = (
-            'code',
-            'nom',
-            '_archive',
-            '_date_modification',
-            'user_modification',
-            )
+        'code', 'nom', '_archive', 'derniere_modification',
+    )
     list_filter = ('archive', )
-    fieldsets = AUFMetadataAdminMixin.fieldsets + (
-        (None, {
-            'fields': ('code', 'nom', 'archive', ),
-        }),
+    fieldsets = (
+        (None, {'fields': ('code', 'nom', 'archive', )}),
     )
 
-    def _date_modification(self, obj):
-        return date(obj.date_modification) \
-                if obj.date_modification is not None else "(aucune)"
-    _date_modification.short_description = u'date modification'
-    _date_modification.admin_order_field = 'date_modification'
-
 
-class DossierAdmin(DateRangeMixin, AUFMetadataAdminMixin,
-                   ProtectRegionMixin, BaseAdmin, AjaxSelect):
+class DossierAdmin(DateRangeMixin, ProtectRegionMixin, reversion.VersionAdmin,
+                   AjaxSelect, DerniereModificationAdmin, BaseAdmin):
+    change_list_template = "admin/rh/dossier/change_list.html"
+    ignore_duplicate_revisions = True
     alphabet_filter = 'employe__nom'
     search_fields = (
         'id',
@@ -335,7 +374,7 @@ class DossierAdmin(DateRangeMixin, AUFMetadataAdminMixin,
         '_implantation',
         '_date_debut',
         '_date_fin',
-        '_date_modification',
+        'derniere_modification',
         '_dae',
     )
     list_display_links = ('_nom',)
@@ -351,7 +390,7 @@ class DossierAdmin(DateRangeMixin, AUFMetadataAdminMixin,
                RemunerationInline,
                DossierCommentaireInline,
               )
-    fieldsets = AUFMetadataAdminMixin.fieldsets + (
+    fieldsets = (
         (None, {
             'fields': (
                 'employe',
@@ -418,7 +457,6 @@ class DossierAdmin(DateRangeMixin, AUFMetadataAdminMixin,
         employe = obj.employe
         view_link = reverse('employe_apercu', args=(employe.id,))
         edit_link = reverse('admin:rh_employe_change', args=(employe.id,))
-
         style = ""
         view = u"""<a href="%s"
                       title="Aperçu l'employé"
@@ -501,8 +539,8 @@ class DossierAdmin(DateRangeMixin, AUFMetadataAdminMixin,
             instance.save()
 
 
-class EmployeAdmin(DateRangeMixin, AUFMetadataAdminMixin,
-                   ProtectRegionMixin, BaseAdmin):
+class EmployeAdminBase(DateRangeMixin, ProtectRegionMixin,
+                       DerniereModificationAdmin, BaseAdmin):
     prefixe_recherche_temporelle = "rh_dossiers__"
     alphabet_filter = 'nom'
     DEFAULT_ALPHABET = u'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
@@ -514,37 +552,33 @@ class EmployeAdmin(DateRangeMixin, AUFMetadataAdminMixin,
     ordering = ('nom', )
     form = EmployeAdminForm
     list_display = (
-            '_id',
-            '_apercu',
-            '_nom',
-            '_dossiers_postes',
-            '_region',
-            '_implantation',
-            'date_entree',
-            '_date_modification',
-            )
+        '_id', '_apercu', '_nom', '_dossiers_postes',
+        #'_region',
+        #'_implantation',
+        'date_entree',
+        'derniere_modification'
+    )
     list_display_links = ('_nom',)
     list_filter = (
-            'rh_dossiers__poste__implantation__region',
-            'rh_dossiers__poste__implantation',
-            'nb_postes',
-            )
-    inlines = (AyantDroitInline,
-               DossierROInline,
-               EmployePieceInline,
-               EmployeCommentaireInline)
-    fieldsets = AUFMetadataAdminMixin.fieldsets + (
+        'rh_dossiers__poste__implantation__region',
+        'rh_dossiers__poste__implantation', 'nb_postes'
+    )
+    inlines = (
+        AyantDroitInline, DossierROInline, EmployePieceInline,
+        EmployeCommentaireInline
+    )
+    fieldsets = (
         ('Identification', {
             'fields': (
                 ('nom', 'prenom'),
                 ('nom_affichage', 'genre'),
                 'nationalite',
                 'date_naissance',
-                )}
-            ),
+            )
+        }),
         ('Informations personnelles', {
-            'fields': ('situation_famille', 'date_entree', )}
-            ),
+            'fields': ('situation_famille', 'date_entree', )
+        }),
         ('Coordonnées personnelles', {
             'fields': (
                 ('tel_domicile', 'tel_cellulaire'),
@@ -552,9 +586,9 @@ class EmployeAdmin(DateRangeMixin, AUFMetadataAdminMixin,
                 ('code_postal', 'province'),
                 'pays',
                 'courriel_perso'
-                )}
-            ),
-        )
+            )
+        }),
+    )
 
     def _id(self, obj):
         return obj.id
@@ -649,7 +683,7 @@ class EmployeAdmin(DateRangeMixin, AUFMetadataAdminMixin,
     _date_modification.admin_order_field = 'date_modification'
 
     def queryset(self, request):
-        qs = super(EmployeAdmin, self).queryset(request)
+        qs = super(EmployeAdminBase, self).queryset(request)
         return qs.select_related(depth=1).order_by('nom')
 
     def save_formset(self, request, form, formset, change):
@@ -661,7 +695,12 @@ class EmployeAdmin(DateRangeMixin, AUFMetadataAdminMixin,
             instance.save()
 
 
-class EmployeProxyAdmin(EmployeAdmin):
+class EmployeAdmin(reversion.VersionAdmin, EmployeAdminBase):
+    change_list_template = "admin/rh/employe/change_list.html"
+    ignore_duplicate_revisions = True
+
+
+class EmployeProxyAdmin(EmployeAdminBase):
     list_display = ('_id', '_apercu', '_nom', '_organigramme')
     list_per_page = 500
     actions = None
@@ -670,9 +709,27 @@ class EmployeProxyAdmin(EmployeAdmin):
         super(EmployeProxyAdmin, self).__init__(*args, **kwargs)
         self.list_display_links = (None, )
 
+    def queryset(self, request):
+        qs = super(ProtectRegionMixin, self).queryset(request)
+
+        if in_drh_or_admin(request.user) or \
+            user_gere_obj_de_sa_region(request.user):
+            return qs
+
+        return qs.none()
+
     def has_add_permission(self, obj):
         return False
 
+    def has_change_permission(self, request, obj=None):
+        user_groups = request.user.groups.all()
+        if groups.grp_correspondants_rh in user_groups or \
+           groups.grp_administrateurs in user_groups or \
+           groups.grp_directeurs_bureau in user_groups or \
+           in_drh_or_admin(request.user):
+            return True
+        return False
+
     def _organigramme(self, obj):
         l = []
         for d in rh.Dossier.objects.filter(
@@ -703,43 +760,32 @@ class EmployeProxyAdmin(EmployeAdmin):
     _organigramme.short_description = "Organigramme"
 
 
-class CategorieEmploiAdmin(AUFMetadataAdminMixin, BaseAdmin):
-    list_display = ('nom', '_date_modification', 'user_modification', )
+class CategorieEmploiAdmin(reversion.VersionAdmin,
+                           DerniereModificationAdmin, BaseAdmin):
+    ignore_duplicate_revisions = True
+    list_display = ('nom', 'derniere_modification')
     inlines = (TypePosteInline,)
-    fieldsets = AUFMetadataAdminMixin.fieldsets + (
-        (None, {'fields': ('nom', )}),)
-
-    def _date_modification(self, obj):
-        return date(obj.date_modification) \
-                if obj.date_modification is not None else "(aucune)"
-    _date_modification.short_description = u'date modification'
-    _date_modification.admin_order_field = 'date_modification'
+    fieldsets = (
+        (None, {'fields': ('nom', )}),
+    )
 
 
-class OrganismeBstgAdmin(AUFMetadataAdminMixin, BaseAdmin):
+class OrganismeBstgAdmin(reversion.VersionAdmin, DerniereModificationAdmin,
+                         BaseAdmin):
+    ignore_duplicate_revisions = True
     search_fields = ('nom',)
-    list_display = (
-            'nom',
-            'type',
-            'pays',
-            '_date_modification',
-            'user_modification',
-            )
+    list_display = ('nom', 'type', 'pays', 'derniere_modification')
     list_filter = ('type', )
     inlines = (DossierROInline,)
-    fieldsets = AUFMetadataAdminMixin.fieldsets + (
+    fieldsets = (
         (None, {'fields': ('nom', 'type', 'pays',)}),
-        )
-
-    def _date_modification(self, obj):
-        return date(obj.date_modification) \
-                if obj.date_modification is not None else "(aucune)"
-    _date_modification.short_description = u'date modification'
-    _date_modification.admin_order_field = 'date_modification'
+    )
 
 
-class PosteAdmin(DateRangeMixin, AUFMetadataAdminMixin,
-                 ProtectRegionMixin, BaseAdmin, AjaxSelect):
+class PosteAdmin(DateRangeMixin, ProtectRegionMixin, reversion.VersionAdmin,
+                 AjaxSelect, DerniereModificationAdmin, BaseAdmin):
+    change_list_template = "admin/rh/poste/change_list.html"
+    ignore_duplicate_revisions = True
     form = make_ajax_form(rh.Poste, {
         'implantation': 'implantations',
         'type_poste': 'typepostes',
@@ -749,29 +795,20 @@ class PosteAdmin(DateRangeMixin, AUFMetadataAdminMixin,
     })
     alphabet_filter = 'nom'
     search_fields = (
-            'id',
-            'nom',
-            'implantation__nom',
-            'implantation__region__code',
-            'implantation__region__nom',
-            'rh_dossiers__employe__id',
-            'rh_dossiers__employe__nom',
-            'rh_dossiers__employe__prenom',
-            )
+        'id',
+        'nom',
+        'implantation__nom',
+        'implantation__region__code',
+        'implantation__region__nom',
+        'rh_dossiers__employe__id',
+        'rh_dossiers__employe__nom',
+        'rh_dossiers__employe__prenom',
+    )
     list_display = (
-        '_id',
-        '_apercu',
-        '_nom',
-        '_occupe_par',
-        '_region',
-        '_implantation',
-        '_service',
-        '_responsable',
-        '_date_debut',
-        '_date_fin',
-        '_date_modification',
-        '_dae',
-        )
+        '_id', '_apercu', '_nom', '_occupe_par', 'implantation', '_service',
+        '_responsable', 'date_debut', 'date_fin', 'derniere_modification',
+        '_dae'
+    )
     list_filter = (
         'implantation__region',
         'implantation',
@@ -780,9 +817,9 @@ class PosteAdmin(DateRangeMixin, AUFMetadataAdminMixin,
         'type_poste__categorie_emploi',
         'type_poste__famille_professionnelle',
         'vacant',
-        )
+    )
     list_display_links = ('_nom',)
-    fieldsets = AUFMetadataAdminMixin.fieldsets + (
+    fieldsets = (
         (None, {'fields': (
                 ('nom', 'nom_feminin'),
                 'implantation',
@@ -906,10 +943,7 @@ class PosteAdmin(DateRangeMixin, AUFMetadataAdminMixin,
     _implantation.admin_order_field = 'implantation'
 
     def _service(self, obj):
-        if obj.service.supprime:
-            return """<span style="color:red">%s</span>""" % obj.service
-        else:
-            return obj.service
+        return obj.service
     _service.short_description = 'Service'
     _service.allow_tags = True
 
@@ -962,11 +996,6 @@ class PosteAdmin(DateRangeMixin, AUFMetadataAdminMixin,
     _date_fin.short_description = u'Fin'
     _date_fin.admin_order_field = 'date_fin'
 
-    def _date_modification(self, obj):
-        return date(obj.date_modification)
-    _date_modification.short_description = u'date modification'
-    _date_modification.admin_order_field = 'date_modification'
-
     def _dae(self, poste):
         apercu_link = ""
         postes_dae = poste.postes_dae.all()
@@ -1015,6 +1044,7 @@ class ResponsableImplantationAdmin(BaseAdmin):
             'responsable__employe__prenom',
             )
     ordering = ('nom',)
+    inlines = (ResponsableInline, )
 
     def _region(self, obj):
         return obj.region.code
@@ -1055,28 +1085,19 @@ class ResponsableImplantationAdmin(BaseAdmin):
         return False
 
 
-class ServiceAdmin(AUFMetadataAdminMixin, BaseAdmin, ArchiveMixin):
-    list_display = (
-            'nom',
-            '_archive',
-            '_date_modification',
-            'user_modification',
-            )
+class ServiceAdminBase(ArchivableAdmin, DerniereModificationAdmin, BaseAdmin):
+    list_display = ('nom', '_archive', 'derniere_modification')
     list_filter = ('archive', )
-    fieldsets = AUFMetadataAdminMixin.fieldsets + (
-        (None, {
-            'fields': ('nom', 'archive', ),
-        }),
-        )
+    fieldsets = (
+        (None, {'fields': ('nom', 'archive')}),
+    )
 
-    def _date_modification(self, obj):
-        return date(obj.date_modification) \
-                if obj.date_modification is not None else "(aucune)"
-    _date_modification.short_description = u'date modification'
-    _date_modification.admin_order_field = 'date_modification'
+
+class ServiceAdmin(reversion.VersionAdmin, ServiceAdminBase):
+    ignore_duplicate_revisions = True
 
 
-class ServiceProxyAdmin(ServiceAdmin):
+class ServiceProxyAdmin(ServiceAdminBase):
     list_display = ('nom', '_organigramme', '_archive', )
     actions = None
 
@@ -1093,7 +1114,13 @@ class ServiceProxyAdmin(ServiceAdmin):
         return False
 
     def has_change_permission(self, request, obj=None):
-        return in_drh_or_admin(request.user)
+        user_groups = request.user.groups.all()
+        if groups.grp_correspondants_rh in user_groups or \
+           groups.grp_administrateurs in user_groups or \
+           groups.grp_directeurs_bureau in user_groups or \
+           in_drh_or_admin(request.user):
+            return True
+        return False
 
     def _organigramme(self, obj):
         return """<a href="%s"><strong>Organigramme</strong></a>""" % \
@@ -1102,146 +1129,93 @@ class ServiceProxyAdmin(ServiceAdmin):
     _organigramme.short_description = "Organigramme"
 
 
-class StatutAdmin(AUFMetadataAdminMixin, BaseAdmin):
-    list_display = ('code', 'nom', '_date_modification', 'user_modification', )
-    fieldsets = AUFMetadataAdminMixin.fieldsets + (
+class StatutAdmin(reversion.VersionAdmin, DerniereModificationAdmin,
+                  BaseAdmin):
+    ignore_duplicate_revisions = True
+    list_display = ('code', 'nom', 'derniere_modification')
+    fieldsets = (
         (None, {
             'fields': ('code', 'nom', ),
         }),
-        )
-
-    def _date_modification(self, obj):
-        return date(obj.date_modification) \
-                if obj.date_modification is not None else "(aucune)"
-    _date_modification.short_description = u'date modification'
-    _date_modification.admin_order_field = 'date_modification'
+    )
 
 
-class TauxChangeAdmin(BaseAdmin):
-    list_display = (
-            'taux',
-            'devise',
-            'annee',
-            '_date_modification',
-            'user_modification',
-            )
-    list_filter = ('devise', )
-    fieldsets = AUFMetadataAdminMixin.fieldsets + (
+class TauxChangeAdmin(reversion.VersionAdmin, DerniereModificationAdmin,
+                      BaseAdmin):
+    ignore_duplicate_revisions = True
+    list_display = ('taux', 'devise', 'annee', 'derniere_modification')
+    list_filter = ('devise',)
+    fieldsets = (
         (None, {
             'fields': ('taux', 'devise', 'annee', ),
         }),
-        )
-
-    def _date_modification(self, obj):
-        return date(obj.date_modification) \
-                if obj.date_modification is not None else "(aucune)"
-    _date_modification.short_description = u'date modification'
-    _date_modification.admin_order_field = 'date_modification'
+    )
 
 
-class TypeContratAdmin(BaseAdmin):
-    list_display = (
-            'nom',
-            'nom_long',
-            '_date_modification',
-            'user_modification',
-            )
-    fieldsets = AUFMetadataAdminMixin.fieldsets + (
+class TypeContratAdmin(reversion.VersionAdmin, DerniereModificationAdmin,
+                       BaseAdmin):
+    ignore_duplicate_revisions = True
+    list_display = ('nom', 'nom_long', 'derniere_modification')
+    fieldsets = (
         (None, {
             'fields': ('nom', 'nom_long', ),
         }),
-        )
-
-    def _date_modification(self, obj):
-        return date(obj.date_modification) \
-                if obj.date_modification is not None else "(aucune)"
-    _date_modification.short_description = u'date modification'
-    _date_modification.admin_order_field = 'date_modification'
+    )
 
 
-class TypePosteAdmin(AUFMetadataAdminMixin, BaseAdmin):
+class TypePosteAdmin(reversion.VersionAdmin, DerniereModificationAdmin,
+                     BaseAdmin):
+    ignore_duplicate_revisions = True
     search_fields = ('nom', 'nom_feminin', )
-    list_display = (
-            'nom',
-            'categorie_emploi',
-            '_date_modification',
-            'user_modification',
-            )
+    list_display = ('nom', 'categorie_emploi', 'derniere_modification')
     list_filter = ('categorie_emploi', 'famille_professionnelle')
-    fieldsets = AUFMetadataAdminMixin.fieldsets + (
+    fieldsets = (
         (None, {
             'fields': (
-                'nom',
-                'nom_feminin',
-                'is_responsable',
-                'categorie_emploi',
+                'nom', 'nom_feminin', 'is_responsable', 'categorie_emploi',
                 'famille_professionnelle',
-                )}
-            ),
-        )
-
-    def _date_modification(self, obj):
-        return date(obj.date_modification) \
-                if obj.date_modification is not None else "(aucune)"
-    _date_modification.short_description = u'date modification'
-    _date_modification.admin_order_field = 'date_modification'
+            )
+        }),
+    )
 
 
-class TypeRemunerationAdmin(AUFMetadataAdminMixin, BaseAdmin,
-                            ArchiveMixin):
+class TypeRemunerationAdmin(reversion.VersionAdmin, ArchivableAdmin,
+                            DerniereModificationAdmin, BaseAdmin):
+    ignore_duplicate_revisions = True
     list_display = (
-            'nom',
-            'type_paiement',
-            'nature_remuneration',
-            '_archive',
-            '_date_modification',
-            'user_modification',)
+        'nom', 'type_paiement', 'nature_remuneration', '_archive',
+        'derniere_modification'
+    )
     list_filter = ('archive', )
-    fieldsets = AUFMetadataAdminMixin.fieldsets + (
-        (None, {'fields': ('nom', 'type_paiement', 'nature_remuneration',
-        'archive')}),
-        )
-
-    def _date_modification(self, obj):
-        return date(obj.date_modification) \
-                if obj.date_modification is not None else "(aucune)"
-    _date_modification.short_description = u'date modification'
-    _date_modification.admin_order_field = 'date_modification'
-
+    fieldsets = (
+        (None, {
+            'fields': (
+                'nom', 'type_paiement', 'nature_remuneration', 'archive'
+            )
+        }),
+    )
 
-class TypeRevalorisationAdmin(AUFMetadataAdminMixin, BaseAdmin):
-    list_display = ('nom', '_date_modification', 'user_modification', )
-    fieldsets = AUFMetadataAdminMixin.fieldsets + (
-        (None, {'fields': ('nom', )}),
-        )
 
-    def _date_modification(self, obj):
-        return date(obj.date_modification) \
-                if obj.date_modification is not None else "(aucune)"
-    _date_modification.short_description = u'date modification'
-    _date_modification.admin_order_field = 'date_modification'
+class TypeRevalorisationAdmin(reversion.VersionAdmin,
+                              DerniereModificationAdmin, BaseAdmin):
+    ignore_duplicate_revisions = True
+    list_display = ('nom', 'derniere_modification')
+    fieldsets = (
+        (None, {'fields': ('nom',)}),
+    )
 
 
-class ValeurPointAdmin(AUFMetadataAdminMixin, BaseAdmin):
+class ValeurPointAdmin(reversion.VersionAdmin, DerniereModificationAdmin,
+                       BaseAdmin):
+    ignore_duplicate_revisions = True
     list_display = (
-            '_devise_code',
-            '_devise_nom',
-            'annee',
-            'implantation',
-            'valeur',
-            '_date_modification',
-            'user_modification',
-            )
+        '_devise_code', '_devise_nom', 'annee', 'implantation',
+        'valeur', 'derniere_modification'
+    )
     list_filter = ('annee', 'devise', 'implantation__region', )
-    fieldsets = AUFMetadataAdminMixin.fieldsets + (
-        (None, {'fields': ('valeur', 'devise', 'implantation', 'annee', )}),
-        )
-
-    def _date_modification(self, obj):
-        return date(obj.date_modification) \
-                if obj.date_modification is not None else "(aucune)"
-    _date_modification.short_description = u'date modification'
-    _date_modification.admin_order_field = 'date_modification'
+    fieldsets = (
+        (None, {'fields': ('valeur', 'devise', 'implantation', 'annee')}),
+    )
 
     def _devise_code(self, obj):
         return obj.devise.code
@@ -1264,7 +1238,13 @@ class ImplantationProxyAdmin(BaseAdmin):
         return False
 
     def has_change_permission(self, request, obj=None):
-        return in_drh_or_admin(request.user)
+        user_groups = request.user.groups.all()
+        if groups.grp_correspondants_rh in user_groups or \
+           groups.grp_administrateurs in user_groups or \
+           groups.grp_directeurs_bureau in user_groups or \
+           in_drh_or_admin(request.user):
+            return True
+        return False
 
     def _organigramme(self, obj):
         return '<a href="%s"><strong>Organigramme</strong></a>' % (
@@ -1286,7 +1266,13 @@ class RegionProxyAdmin(BaseAdmin):
         return False
 
     def has_change_permission(self, request, obj=None):
-        return in_drh_or_admin(request.user)
+        user_groups = request.user.groups.all()
+        if groups.grp_correspondants_rh in user_groups or \
+           groups.grp_administrateurs in user_groups or \
+           groups.grp_directeurs_bureau in user_groups or \
+           in_drh_or_admin(request.user):
+            return True
+        return False
 
     def _organigramme(self, obj):
         return """<a href="%s"><strong>Organigramme</strong></a>""" % (
index 4dc5d26..c039911 100644 (file)
@@ -4,6 +4,8 @@ from django.db.models import Q
 
 from auf.django.references import models as ref
 
+from project.groups import get_employe_from_user
+from project.permissions import user_gere_obj_de_sa_region
 from project.rh import models as rh
 
 
@@ -33,6 +35,11 @@ class Implantation(object):
             Q(nom__icontains=q) | Q(nom_court__icontains=q) |
             Q(nom_long__icontains=q) | Q(region__nom__icontains=q)
         )
+        if user_gere_obj_de_sa_region(request.user):
+            employe = get_employe_from_user(request.user)
+            implantations = implantations.filter(
+                region=employe.implantation.region
+            )
         return implantations
 
     def format_result(self, implantation):
@@ -77,12 +84,12 @@ class TypePoste(object):
 class Poste(object):
 
     def get_query(self, q, request):
-        postes = rh.Poste.objects.filter(
+        postes = rh.Poste.objects.ma_region_ou_service(request.user).filter(
             Q(nom__icontains=q) | Q(type_poste__nom__icontains=q) |
             Q(rh_dossiers__employe__nom__icontains=q) |
             Q(rh_dossiers__employe__prenom__icontains=q)
-        ).distinct()
-        return postes
+        )
+        return postes.distinct()
 
     def format_result(self, poste):
         return unicode(poste)
index 0226bae..2a72d6d 100644 (file)
@@ -6,17 +6,23 @@ from django.db.models import Q
 from django.core.urlresolvers import reverse
 import pygraphviz as pgv
 
+from project.permissions import user_can_change_obj
 from project.rh import models as rh
 
 
-def bind_poste_to_graph(graph, postes_by_id):
+def bind_poste_to_graph(user, graph, postes_by_id):
     for n in graph.nodes():
+        # poste = node
+        poste = postes_by_id[int(n)]
+        
+        # dossiers actifs pour ce poste
         dossiers = rh.Dossier.objects.select_related('employe').filter(
                 (Q(date_fin__gt=date.today()) | Q(date_fin=None)) &
                 (Q(date_debut__lt=date.today()) | Q(date_debut=None)) &
                 Q(poste__id=n)
-        ).exclude(supprime=True).all()
+        ).all()
 
+        # affichage
         if dossiers:
             employes = "\\n".join(
                         ["[%s] %s %s" %
@@ -28,18 +34,19 @@ def bind_poste_to_graph(graph, postes_by_id):
                 d.poste.nom, employes, d.poste.implantation
             )
         else:
-            poste = postes_by_id[int(n)]
             label = u"%s\\n---\\n%s" % (poste.nom, poste.implantation)
             n.attr['fillcolor'] = 'azure4'
             n.attr['style'] = 'filled'
 
         n.attr['label'] = label.encode('ascii', 'xmlcharrefreplace')
-        n.attr['href'] = reverse("admin:rh_poste_change", args=(n,))
+        # lien seulement si user peut editer poste
+        if user_can_change_obj(user, poste):
+            n.attr['href'] = reverse("admin:rh_poste_change", args=(n,))
 
     return graph
 
 
-def organigramme_postes_cluster(cluster_filter, titre=u"Organigramme",
+def organigramme_postes_cluster(user, cluster_filter, titre=u"Organigramme",
                                 cluster_titre=u"Cluster 1"):
     """
     Crée un organigramme des postes avec un cluster défini par le keyword
@@ -61,7 +68,7 @@ def organigramme_postes_cluster(cluster_filter, titre=u"Organigramme",
         Q(date_fin__gt=date.today()) | Q(date_fin=None),
         Q(date_debut__lt=date.today()) | Q(date_debut=None),
         **cluster_filter
-    ).exclude(supprime=True, responsable=None)
+    ).exclude(responsable=None)
 
     nom = titre.encode('ascii', 'xmlcharrefreplace')
     graph = pgv.AGraph(directed=True, name=nom)
@@ -91,7 +98,7 @@ def organigramme_postes_cluster(cluster_filter, titre=u"Organigramme",
                         poste_remontant.responsable_id, poste_remontant.id
                     )
 
-    bind_poste_to_graph(graph, postes_by_id)
+    bind_poste_to_graph(user, graph, postes_by_id)
 
     graph.layout(prog='dot')
 
diff --git a/project/rh/historique.py b/project/rh/historique.py
new file mode 100644 (file)
index 0000000..729de41
--- /dev/null
@@ -0,0 +1,76 @@
+# -*- coding: utf-8 -*-
+
+from django.core.urlresolvers import reverse
+from django import forms
+from django.db import models
+from reversion.models import Revision
+
+class ModificationTraite(models.Model):
+    """
+    Classe utilisée pour marquer les révisions de reversion traitée par
+    les DRH.
+    """
+    revision = models.ForeignKey('reversion.Revision')
+    
+
+def format_revisions(qs):
+    results = []
+    for rev in qs:
+
+        # Dans une révision, on loop dans les versions associées, pour trouver
+        # un modèle qui dispose d'une admin (à priori, le parent) dans le cas 
+        # des objets composés
+        change_url = None
+        history_url = None
+        type = None
+        objet = None
+            
+        for v in rev.version_set.all():
+
+            try:
+                klass = v.content_type.model_class()
+                id = int(v.object_id)
+                objet = klass.objects.get(id=id)
+                change_url = reverse('admin:rh_%s_change' % v.content_type.model,
+                        args=(id, ))
+                history_url = reverse('admin:rh_%s_history' % v.content_type.model,
+                        args=(id, ))
+                type = klass._meta.verbose_name
+                break
+            except:
+                continue
+
+        results.append({
+            'id': rev.id,
+            'date_created': rev.date_created.strftime("%d-%m-%Y %H:%M:%S"),
+            'short_date_created': rev.date_created.strftime("%d-%m-%Y"),
+            'user': rev.user,
+            'comment': rev.comment,
+            'change_url': change_url,
+            'history_url': history_url,
+            'type': type,
+            'objet': objet,
+
+            })
+    return results
+
+def get_active_revisions():
+    ids_revisions_traitees = [m.revision.id for m in
+            ModificationTraite.objects.all()]
+    return format_revisions(
+            Revision.objects.
+                exclude(user__isnull=True).
+                exclude(id__in=ids_revisions_traitees).
+                order_by('-date_created'))
+
+
+class TodoForm(forms.Form):
+    items = forms.MultipleChoiceField("Les items traités",
+            widget=forms.CheckboxSelectMultiple)
+
+    def __init__(self, *args, **kwargs):
+        self.revisions = kwargs.pop('revisions')
+        super(TodoForm, self).__init__(*args, **kwargs)
+        self.fields['items'].choices = [(r['id'], r['id']) for r in self.revisions]
+
+
index c4e47ed..55bc6d2 100644 (file)
@@ -65,10 +65,25 @@ def check_employes():
                         print "* %s: %s" % (f, m)
                 print ""
 
+def doc_permissions():
+    from project.rh import tests
+    test_classes = [klass for k, klass in tests.__dict__.items() if
+                    k.endswith('Test')]
+    for klass in test_classes:
+        print klass.__name__
+        print "="*len(klass.__name__)
+        methods = [m for m in klass.__dict__ if m.startswith('test_')]
+        for m in methods:
+            fct = getattr(klass, m)
+            info = "* %s : %s" % (m, fct.__doc__.strip())
+            print info
+        print ""
 
 class Command(BaseCommand):
 
     def handle(self, *args, **options):
+        if args[0] == "doc_permissions":
+            doc_permissions()
 
         if args[0] == "check_data":
             check_employes()
index 1459184..3f6b3ed 100644 (file)
@@ -6,8 +6,6 @@ from django.db import models
 from django.db.models import Q
 from django.db.models.query import QuerySet
 
-from auf.django.metadata.managers import NoDeleteManager, NoDeleteQuerySet
-
 from project.groups import get_employe_from_user
 from project.groups import \
         grp_drh, grp_drh2, grp_accior, grp_abf, grp_haute_direction, \
@@ -98,17 +96,16 @@ class ActifsQuerySet(QuerySet):
         return self._actifs('date_debut', 'date_fin', *args, **kwargs)
 
 
-class PosteQuerySet(NoDeleteQuerySet, ActifsQuerySet):
+class PosteQuerySet(ActifsQuerySet):
     pass
 
 
-class PosteManager(SecurityManager, NoDeleteManager):
+class PosteManager(SecurityManager):
     prefixe_service = "service"
     prefixe_implantation = "implantation__region"
 
     def get_query_set(self):
-        return PosteQuerySet(self.model).filter(supprime=False) \
-                .select_related('type_poste')
+        return PosteQuerySet(self.model).select_related('type_poste')
 
     def actifs(self, *args, **kwargs):
         return self.get_query_set().actifs(*args, **kwargs)
@@ -117,24 +114,23 @@ class PosteManager(SecurityManager, NoDeleteManager):
         return super(PosteManager, self).ma_region_ou_service(user)
 
 
-class DossierQuerySet(NoDeleteQuerySet, ActifsQuerySet):
+class DossierQuerySet(ActifsQuerySet):
     pass
 
 
-class DossierManager(SecurityManager, NoDeleteManager):
+class DossierManager(SecurityManager):
     prefixe_service = "poste__service"
     prefixe_implantation = "poste__implantation__region"
 
     def get_query_set(self):
         return DossierQuerySet(self.model) \
-                .filter(supprime=False) \
                 .select_related('poste', 'employe')
 
     def actifs(self, *args, **kwargs):
         return self.get_query_set().actifs(*args, **kwargs)
 
 
-class RemunerationQuerySet(NoDeleteQuerySet, ActifsQuerySet):
+class RemunerationQuerySet(ActifsQuerySet):
 
     def actifs(self, *args, **kwargs):
         return self \
@@ -144,16 +140,16 @@ class RemunerationQuerySet(NoDeleteQuerySet, ActifsQuerySet):
                 )
 
 
-class RemunerationManager(NoDeleteManager):
+class RemunerationManager(models.Manager):
 
     def get_query_set(self):
-        return RemunerationQuerySet(self.model).filter(supprime=False)
+        return RemunerationQuerySet(self.model)
 
     def actifs(self, *args, **kwargs):
         return self.get_query_set().actifs(*args, **kwargs)
 
 
-class EmployeQuerySet(NoDeleteQuerySet, ActifsQuerySet):
+class EmployeQuerySet(ActifsQuerySet):
 
     def actifs(self, date_min=None, date_max=None, annee=None):
         return self \
@@ -161,10 +157,10 @@ class EmployeQuerySet(NoDeleteQuerySet, ActifsQuerySet):
                 .distinct()
 
 
-class EmployeManager(NoDeleteManager):
+class EmployeManager(models.Manager):
+
     def get_query_set(self):
-        return EmployeQuerySet(self.model) \
-                .filter(supprime=False)
+        return EmployeQuerySet(self.model)
 
     def actifs(self, *args, **kwargs):
         return self.get_query_set().actifs(*args, **kwargs)
@@ -180,13 +176,13 @@ class DossierComparaisonManager(SecurityManager):
     prefixe_implantation = "implantation__region"
 
 
-class DeviseManager(NoDeleteManager):
+class DeviseManager(models.Manager):
     pass
 
 
-class ServiceManager(NoDeleteManager):
+class ServiceManager(models.Manager):
     pass
 
 
-class TypeRemunerationManager(NoDeleteManager):
+class TypeRemunerationManager(models.Manager):
     pass
diff --git a/project/rh/migrations/0031_supprimer_objets_flag_supprime.py b/project/rh/migrations/0031_supprimer_objets_flag_supprime.py
new file mode 100644 (file)
index 0000000..d26c569
--- /dev/null
@@ -0,0 +1,569 @@
+# encoding: utf-8
+import datetime
+from south.db import db
+from south.v2 import DataMigration
+from django.db import models
+
+class Migration(DataMigration):
+    
+    def forwards(self, orm):
+        # Supprimer les objets flaggés
+        orm.PosteComparaison.objects.filter(supprime=True).delete()
+        orm.Contrat.objects.filter(supprime=True).delete()
+        orm.PosteCommentaire.objects.filter(supprime=True).delete()
+        orm.Classement.objects.filter(supprime=True).delete()
+        orm.TypeRevalorisation.objects.filter(supprime=True).delete()
+        orm.TypeRemuneration.objects.filter(supprime=True).delete()
+        orm.TypePoste.objects.filter(supprime=True).delete()
+        orm.CategorieEmploi.objects.filter(supprime=True).delete()
+        orm.Poste.objects.filter(supprime=True).delete()
+        orm.Employe.objects.filter(supprime=True).delete()
+        orm.ValeurPoint.objects.filter(supprime=True).delete()
+        orm.DossierCommentaire.objects.filter(supprime=True).delete()
+        orm.Service.objects.filter(supprime=True).delete()
+        orm.AyantDroit.objects.filter(supprime=True).delete()
+        orm.Dossier.objects.filter(supprime=True).delete()
+        orm.TypeContrat.objects.filter(supprime=True).delete()
+        orm.AyantDroitCommentaire.objects.filter(supprime=True).delete()
+        orm.TauxChange.objects.filter(supprime=True).delete()
+        orm.OrganismeBstg.objects.filter(supprime=True).delete()
+        orm.Remuneration.objects.filter(supprime=True).delete()
+        orm.EmployeCommentaire.objects.filter(supprime=True).delete()
+        orm.Devise.objects.filter(supprime=True).delete()
+        orm.Statut.objects.filter(supprime=True).delete()
+    
+    def backwards(self, orm):
+        pass
+    
+    models = {
+        'auth.group': {
+            'Meta': {'object_name': 'Group'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
+            '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', [], {'unique': 'True', 'max_length': '30'})
+        },
+        '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'})
+        },
+        'managedref.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.AutoField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['managedref.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['managedref.Region']", 'db_column': "'region'"})
+        },
+        'managedref.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['managedref.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['managedref.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['managedref.Implantation']", 'db_column': "'bureau_rattachement'"}),
+            '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.AutoField', [], {'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['managedref.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'})
+        },
+        'managedref.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['managedref.Bureau']", 'to_field': "'code'", 'null': 'True', 'db_column': "'code_bureau'", 'blank': 'True'}),
+            'code_iso3': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '3'}),
+            'developpement': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'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['managedref.Region']", 'db_column': "'region'"})
+        },
+        'managedref.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.AutoField', [], {'primary_key': 'True'}),
+            'implantation_bureau': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'gere_region'", 'null': 'True', 'db_column': "'implantation_bureau'", 'to': "orm['managedref.Implantation']"}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'})
+        },
+        'references.implantation': {
+            'Meta': {'managed': 'False', 'object_name': 'Implantation', 'db_table': "u'ref_implantation'", '_ormbases': ['managedref.Implantation']}
+        },
+        'references.pays': {
+            'Meta': {'managed': 'False', 'object_name': 'Pays', 'db_table': "u'ref_pays'", '_ormbases': ['managedref.Pays']}
+        },
+        'rh.ayantdroit': {
+            'Meta': {'object_name': 'AyantDroit'},
+            'date_creation': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'date_naissance': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'employe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'ayantdroits'", 'db_column': "'employe'", 'to': "orm['rh.Employe']"}),
+            'genre': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'lien_parente': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+            'nationalite': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'ayantdroits_nationalite'", 'db_column': "'nationalite'", 'to_field': "'code'", 'to': "orm['managedref.Pays']", 'blank': 'True', 'null': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_affichage': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'prenom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}),
+            'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"})
+        },
+        'rh.ayantdroitcommentaire': {
+            'Meta': {'object_name': 'AyantDroitCommentaire'},
+            'ayant_droit': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'commentaires'", 'db_column': "'ayant_droit'", 'to': "orm['rh.AyantDroit']"}),
+            'date_creation': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'owner': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'owner'", 'to': "orm['auth.User']"}),
+            'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'texte': ('django.db.models.fields.TextField', [], {}),
+            'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}),
+            'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"})
+        },
+        'rh.categorieemploi': {
+            'Meta': {'object_name': 'CategorieEmploi'},
+            'date_creation': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}),
+            'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"})
+        },
+        'rh.classement': {
+            'Meta': {'object_name': 'Classement'},
+            'coefficient': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+            'commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'date_creation': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'degre': ('django.db.models.fields.IntegerField', [], {'default': '0', 'blank': 'True'}),
+            'echelon': ('django.db.models.fields.IntegerField', [], {'default': '0', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
+            'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}),
+            'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"})
+        },
+        'rh.contrat': {
+            'Meta': {'object_name': 'Contrat'},
+            'date_creation': ('django.db.models.fields.DateTimeField', [], {'null': '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', [], {'null': 'True', 'blank': 'True'}),
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rh_contrats'", 'db_column': "'dossier'", 'to': "orm['rh.Dossier']"}),
+            'fichier': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'type_contrat': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'type_contrat'", 'to': "orm['rh.TypeContrat']"}),
+            'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}),
+            'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"})
+        },
+        'rh.devise': {
+            'Meta': {'object_name': 'Devise'},
+            'archive': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '10'}),
+            'date_creation': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}),
+            'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"})
+        },
+        'rh.dossier': {
+            'Meta': {'object_name': 'Dossier'},
+            'classement': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'classement'", 'to': "orm['rh.Classement']"}),
+            'date_creation': ('django.db.models.fields.DateTimeField', [], {'null': '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', [], {'null': 'True', 'blank': 'True'}),
+            'employe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rh_dossiers'", 'db_column': "'employe'", 'to': "orm['rh.Employe']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'organisme_bstg': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'organisme_bstg'", 'to': "orm['rh.OrganismeBstg']"}),
+            'poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rh_dossiers'", 'db_column': "'poste'", 'to': "orm['rh.Poste']"}),
+            'principal': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
+            'regime_travail': ('django.db.models.fields.DecimalField', [], {'default': "'100.00'", 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'default': "'35.00'", 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'remplacement': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'remplacement_de': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Dossier']"}),
+            'statut': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Statut']"}),
+            'statut_residence': ('django.db.models.fields.CharField', [], {'default': "'local'", 'max_length': '10', 'null': 'True'}),
+            'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}),
+            'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"})
+        },
+        'rh.dossiercommentaire': {
+            'Meta': {'object_name': 'DossierCommentaire'},
+            'date_creation': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'commentaires'", 'db_column': "'dossier'", 'to': "orm['rh.Dossier']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'owner': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'owner'", 'to': "orm['auth.User']"}),
+            'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'texte': ('django.db.models.fields.TextField', [], {}),
+            'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}),
+            'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"})
+        },
+        'rh.dossiercomparaison': {
+            'Meta': {'object_name': 'DossierComparaison'},
+            'devise': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Devise']"}),
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rh_comparaisons'", 'to': "orm['rh.Dossier']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['managedref.Implantation']"}),
+            'montant': ('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'})
+        },
+        'rh.dossierpiece': {
+            'Meta': {'object_name': 'DossierPiece'},
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rh_dossierpieces'", 'db_column': "'dossier'", 'to': "orm['rh.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'})
+        },
+        'rh.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'}),
+            'date_creation': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'date_entree': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'date_naissance': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'genre': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nationalite': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'employes_nationalite'", 'db_column': "'nationalite'", 'to_field': "'code'", 'to': "orm['managedref.Pays']", 'blank': 'True', 'null': 'True'}),
+            'nb_postes': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_affichage': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'employes'", 'db_column': "'pays'", 'to_field': "'code'", 'to': "orm['managedref.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'}),
+            'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', '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'}),
+            'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}),
+            'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"}),
+            'ville': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
+        },
+        'rh.employecommentaire': {
+            'Meta': {'object_name': 'EmployeCommentaire'},
+            'date_creation': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'employe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'commentaires'", 'db_column': "'employe'", 'to': "orm['rh.Employe']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'owner': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'owner'", 'to': "orm['auth.User']"}),
+            'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'texte': ('django.db.models.fields.TextField', [], {}),
+            'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}),
+            'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"})
+        },
+        'rh.employepiece': {
+            'Meta': {'object_name': 'EmployePiece'},
+            'employe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'pieces'", 'db_column': "'employe'", 'to': "orm['rh.Employe']"}),
+            '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'})
+        },
+        'rh.familleprofessionnelle': {
+            'Meta': {'object_name': 'FamilleProfessionnelle'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+        },
+        'rh.organismebstg': {
+            'Meta': {'object_name': 'OrganismeBstg'},
+            'date_creation': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'organismes_bstg'", 'db_column': "'pays'", 'to_field': "'code'", 'to': "orm['managedref.Pays']", 'blank': 'True', 'null': 'True'}),
+            'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
+            'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}),
+            'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"})
+        },
+        'rh.poste': {
+            'Meta': {'object_name': 'Poste'},
+            'appel': ('django.db.models.fields.CharField', [], {'default': "'interne'", 'max_length': '10', 'null': 'True'}),
+            'autre_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'autre_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'classement_max': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'classement_max'", 'to': "orm['rh.Classement']"}),
+            'classement_min': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'classement_min'", 'to': "orm['rh.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', [], {'null': 'True', 'blank': 'True'}),
+            'date_debut': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'devise_comparaison': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'devise_comparaison'", 'to': "orm['rh.Devise']"}),
+            'devise_max': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'devise_max'", 'to': "orm['rh.Devise']"}),
+            'devise_min': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'devise_min'", 'to': "orm['rh.Devise']"}),
+            'expatrie': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'implantation'", 'to': "orm['managedref.Implantation']"}),
+            'indemn_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'indemn_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'justification': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'local': ('django.db.models.fields.NullBooleanField', [], {'default': 'True', 'null': 'True', 'blank': 'True'}),
+            'mise_a_disposition': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_feminin': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True'}),
+            'regime_travail': ('django.db.models.fields.DecimalField', [], {'default': "'100.00'", 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'default': "'35.00'", 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'responsable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'responsable'", 'to': "orm['rh.Poste']"}),
+            'salaire_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'salaire_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'service': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'service'", 'to': "orm['rh.Service']"}),
+            'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'type_poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'type_poste'", 'to': "orm['rh.TypePoste']"}),
+            'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}),
+            'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"}),
+            'vacant': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+            'valeur_point_max': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'valeur_point_max'", 'to': "orm['rh.ValeurPoint']"}),
+            'valeur_point_min': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'valeur_point_min'", 'to': "orm['rh.ValeurPoint']"})
+        },
+        'rh.postecommentaire': {
+            'Meta': {'object_name': 'PosteCommentaire'},
+            'date_creation': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'owner': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'owner'", 'to': "orm['auth.User']"}),
+            'poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'commentaires'", 'db_column': "'poste'", 'to': "orm['rh.Poste']"}),
+            'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'texte': ('django.db.models.fields.TextField', [], {}),
+            'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}),
+            'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"})
+        },
+        'rh.postecomparaison': {
+            'Meta': {'object_name': 'PosteComparaison'},
+            'date_creation': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'devise': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Devise']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['managedref.Implantation']"}),
+            'montant': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rh_comparaisons_internes'", 'to': "orm['rh.Poste']"}),
+            'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}),
+            'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"})
+        },
+        'rh.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': "'rh_financements'", 'db_column': "'poste'", 'to': "orm['rh.Poste']"}),
+            'pourcentage': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '1'})
+        },
+        'rh.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', [], {'related_name': "'rh_pieces'", 'db_column': "'poste'", 'to': "orm['rh.Poste']"})
+        },
+        'rh.remuneration': {
+            'Meta': {'object_name': 'Remuneration'},
+            'commentaire': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'date_creation': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'date_debut': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'devise': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'devise'", 'to': "orm['rh.Devise']"}),
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rh_remunerations'", 'db_column': "'dossier'", 'to': "orm['rh.Dossier']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'montant': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'type'", 'to': "orm['rh.TypeRemuneration']"}),
+            'type_revalorisation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'type_revalorisation'", 'to': "orm['rh.TypeRevalorisation']"}),
+            'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}),
+            'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"})
+        },
+        'rh.responsableimplantation': {
+            'Meta': {'object_name': 'ResponsableImplantation'},
+            'employe': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'employe'", 'to': "orm['rh.Employe']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'responsable'", 'unique': 'True', 'db_column': "'implantation'", 'to': "orm['managedref.Implantation']"})
+        },
+        'rh.responsableimplantationproxy': {
+            'Meta': {'object_name': 'ResponsableImplantationProxy', 'db_table': "u'ref_implantation'", '_ormbases': ['references.Implantation']}
+        },
+        'rh.service': {
+            'Meta': {'object_name': 'Service'},
+            'archive': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'date_creation': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}),
+            'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"})
+        },
+        'rh.statut': {
+            'Meta': {'object_name': 'Statut'},
+            'code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '25'}),
+            'date_creation': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}),
+            'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"})
+        },
+        'rh.tauxchange': {
+            'Meta': {'object_name': 'TauxChange'},
+            'annee': ('django.db.models.fields.IntegerField', [], {}),
+            'date_creation': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'devise': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['rh.Devise']", 'db_column': "'devise'"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'taux': ('django.db.models.fields.FloatField', [], {}),
+            'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}),
+            'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"})
+        },
+        'rh.typecontrat': {
+            'Meta': {'object_name': 'TypeContrat'},
+            'date_creation': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_long': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}),
+            'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"})
+        },
+        'rh.typeposte': {
+            'Meta': {'object_name': 'TypePoste'},
+            'categorie_emploi': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'categorie_emploi'", 'to': "orm['rh.CategorieEmploi']"}),
+            'date_creation': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'famille_professionnelle': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'types_de_poste'", 'null': 'True', 'to': "orm['rh.FamilleProfessionnelle']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'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'}),
+            'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}),
+            'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"})
+        },
+        'rh.typeremuneration': {
+            'Meta': {'object_name': 'TypeRemuneration'},
+            'archive': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'date_creation': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nature_remuneration': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'type_paiement': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
+            'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}),
+            'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"})
+        },
+        'rh.typerevalorisation': {
+            'Meta': {'object_name': 'TypeRevalorisation'},
+            'date_creation': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}),
+            'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"})
+        },
+        'rh.valeurpoint': {
+            'Meta': {'object_name': 'ValeurPoint'},
+            'annee': ('django.db.models.fields.IntegerField', [], {}),
+            'date_creation': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}),
+            'devise': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'devise'", 'to': "orm['rh.Devise']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rh_valeur_point'", 'db_column': "'implantation'", 'to': "orm['managedref.Implantation']"}),
+            'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}),
+            'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"}),
+            'valeur': ('django.db.models.fields.FloatField', [], {'null': 'True'})
+        }
+    }
+    
+    complete_apps = ['rh']
diff --git a/project/rh/migrations/0032_auto__del_field_postecomparaison_supprime__del_field_postecomparaison_.py b/project/rh/migrations/0032_auto__del_field_postecomparaison_supprime__del_field_postecomparaison_.py
new file mode 100644 (file)
index 0000000..d5b74f2
--- /dev/null
@@ -0,0 +1,1125 @@
+# 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 field 'PosteComparaison.supprime'
+        db.delete_column('rh_postecomparaison', 'supprime')
+
+        # Deleting field 'PosteComparaison.date_creation'
+        db.delete_column('rh_postecomparaison', 'date_creation')
+
+        # Deleting field 'PosteComparaison.user_creation'
+        db.delete_column('rh_postecomparaison', 'user_creation')
+
+        # Deleting field 'PosteComparaison.user_modification'
+        db.delete_column('rh_postecomparaison', 'user_modification')
+
+        # Deleting field 'PosteComparaison.date_modification'
+        db.delete_column('rh_postecomparaison', 'date_modification')
+
+        # Deleting field 'Contrat.supprime'
+        db.delete_column('rh_contrat', 'supprime')
+
+        # Deleting field 'Contrat.date_creation'
+        db.delete_column('rh_contrat', 'date_creation')
+
+        # Deleting field 'Contrat.user_creation'
+        db.delete_column('rh_contrat', 'user_creation')
+
+        # Deleting field 'Contrat.user_modification'
+        db.delete_column('rh_contrat', 'user_modification')
+
+        # Deleting field 'Contrat.date_modification'
+        db.delete_column('rh_contrat', 'date_modification')
+
+        # Deleting field 'PosteCommentaire.supprime'
+        db.delete_column('rh_postecommentaire', 'supprime')
+
+        # Deleting field 'PosteCommentaire.user_creation'
+        db.delete_column('rh_postecommentaire', 'user_creation')
+
+        # Deleting field 'PosteCommentaire.user_modification'
+        db.delete_column('rh_postecommentaire', 'user_modification')
+
+        # Deleting field 'PosteCommentaire.date_modification'
+        db.delete_column('rh_postecommentaire', 'date_modification')
+
+        # Changing field 'PosteCommentaire.date_creation'
+        db.alter_column('rh_postecommentaire', 'date_creation', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True, null=True))
+
+        # Deleting field 'Classement.date_creation'
+        db.delete_column('rh_classement', 'date_creation')
+
+        # Deleting field 'Classement.supprime'
+        db.delete_column('rh_classement', 'supprime')
+
+        # Deleting field 'Classement.user_creation'
+        db.delete_column('rh_classement', 'user_creation')
+
+        # Deleting field 'Classement.user_modification'
+        db.delete_column('rh_classement', 'user_modification')
+
+        # Deleting field 'Classement.date_modification'
+        db.delete_column('rh_classement', 'date_modification')
+
+        # Deleting field 'TypeRevalorisation.supprime'
+        db.delete_column('rh_typerevalorisation', 'supprime')
+
+        # Deleting field 'TypeRevalorisation.user_creation'
+        db.delete_column('rh_typerevalorisation', 'user_creation')
+
+        # Deleting field 'TypeRevalorisation.user_modification'
+        db.delete_column('rh_typerevalorisation', 'user_modification')
+
+        # Deleting field 'TypeRevalorisation.date_modification'
+        db.delete_column('rh_typerevalorisation', 'date_modification')
+
+        # Deleting field 'TypeRevalorisation.date_creation'
+        db.delete_column('rh_typerevalorisation', 'date_creation')
+
+        # Deleting field 'TypeRemuneration.supprime'
+        db.delete_column('rh_typeremuneration', 'supprime')
+
+        # Deleting field 'TypeRemuneration.date_creation'
+        db.delete_column('rh_typeremuneration', 'date_creation')
+
+        # Deleting field 'TypeRemuneration.user_creation'
+        db.delete_column('rh_typeremuneration', 'user_creation')
+
+        # Deleting field 'TypeRemuneration.user_modification'
+        db.delete_column('rh_typeremuneration', 'user_modification')
+
+        # Deleting field 'TypeRemuneration.date_modification'
+        db.delete_column('rh_typeremuneration', 'date_modification')
+
+        # Deleting field 'TypePoste.supprime'
+        db.delete_column('rh_typeposte', 'supprime')
+
+        # Deleting field 'TypePoste.user_creation'
+        db.delete_column('rh_typeposte', 'user_creation')
+
+        # Deleting field 'TypePoste.user_modification'
+        db.delete_column('rh_typeposte', 'user_modification')
+
+        # Deleting field 'TypePoste.date_modification'
+        db.delete_column('rh_typeposte', 'date_modification')
+
+        # Deleting field 'TypePoste.date_creation'
+        db.delete_column('rh_typeposte', 'date_creation')
+
+        # Deleting field 'CategorieEmploi.supprime'
+        db.delete_column('rh_categorieemploi', 'supprime')
+
+        # Deleting field 'CategorieEmploi.user_creation'
+        db.delete_column('rh_categorieemploi', 'user_creation')
+
+        # Deleting field 'CategorieEmploi.user_modification'
+        db.delete_column('rh_categorieemploi', 'user_modification')
+
+        # Deleting field 'CategorieEmploi.date_modification'
+        db.delete_column('rh_categorieemploi', 'date_modification')
+
+        # Deleting field 'CategorieEmploi.date_creation'
+        db.delete_column('rh_categorieemploi', 'date_creation')
+
+        # Deleting field 'Poste.supprime'
+        db.delete_column('rh_poste', 'supprime')
+
+        # Deleting field 'Poste.date_modification'
+        db.delete_column('rh_poste', 'date_modification')
+
+        # Deleting field 'Poste.user_creation'
+        db.delete_column('rh_poste', 'user_creation')
+
+        # Deleting field 'Poste.user_modification'
+        db.delete_column('rh_poste', 'user_modification')
+
+        # Deleting field 'Poste.date_creation'
+        db.delete_column('rh_poste', 'date_creation')
+
+        # Deleting field 'Employe.supprime'
+        db.delete_column('rh_employe', 'supprime')
+
+        # Deleting field 'Employe.date_modification'
+        db.delete_column('rh_employe', 'date_modification')
+
+        # Deleting field 'Employe.user_creation'
+        db.delete_column('rh_employe', 'user_creation')
+
+        # Deleting field 'Employe.user_modification'
+        db.delete_column('rh_employe', 'user_modification')
+
+        # Deleting field 'Employe.date_creation'
+        db.delete_column('rh_employe', 'date_creation')
+
+        # Deleting field 'ValeurPoint.supprime'
+        db.delete_column('rh_valeurpoint', 'supprime')
+
+        # Deleting field 'ValeurPoint.date_creation'
+        db.delete_column('rh_valeurpoint', 'date_creation')
+
+        # Deleting field 'ValeurPoint.user_creation'
+        db.delete_column('rh_valeurpoint', 'user_creation')
+
+        # Deleting field 'ValeurPoint.date_modification'
+        db.delete_column('rh_valeurpoint', 'date_modification')
+
+        # Deleting field 'ValeurPoint.user_modification'
+        db.delete_column('rh_valeurpoint', 'user_modification')
+
+        # Deleting field 'DossierCommentaire.supprime'
+        db.delete_column('rh_dossiercommentaire', 'supprime')
+
+        # Deleting field 'DossierCommentaire.user_creation'
+        db.delete_column('rh_dossiercommentaire', 'user_creation')
+
+        # Deleting field 'DossierCommentaire.user_modification'
+        db.delete_column('rh_dossiercommentaire', 'user_modification')
+
+        # Deleting field 'DossierCommentaire.date_modification'
+        db.delete_column('rh_dossiercommentaire', 'date_modification')
+
+        # Changing field 'DossierCommentaire.date_creation'
+        db.alter_column('rh_dossiercommentaire', 'date_creation', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True, null=True))
+
+        # Deleting field 'Service.date_creation'
+        db.delete_column('rh_service', 'date_creation')
+
+        # Deleting field 'Service.supprime'
+        db.delete_column('rh_service', 'supprime')
+
+        # Deleting field 'Service.user_creation'
+        db.delete_column('rh_service', 'user_creation')
+
+        # Deleting field 'Service.user_modification'
+        db.delete_column('rh_service', 'user_modification')
+
+        # Deleting field 'Service.date_modification'
+        db.delete_column('rh_service', 'date_modification')
+
+        # Deleting field 'AyantDroit.supprime'
+        db.delete_column('rh_ayantdroit', 'supprime')
+
+        # Deleting field 'AyantDroit.user_creation'
+        db.delete_column('rh_ayantdroit', 'user_creation')
+
+        # Deleting field 'AyantDroit.user_modification'
+        db.delete_column('rh_ayantdroit', 'user_modification')
+
+        # Deleting field 'AyantDroit.date_modification'
+        db.delete_column('rh_ayantdroit', 'date_modification')
+
+        # Deleting field 'AyantDroit.date_creation'
+        db.delete_column('rh_ayantdroit', 'date_creation')
+
+        # Deleting field 'Dossier.date_creation'
+        db.delete_column('rh_dossier', 'date_creation')
+
+        # Deleting field 'Dossier.supprime'
+        db.delete_column('rh_dossier', 'supprime')
+
+        # Deleting field 'Dossier.user_creation'
+        db.delete_column('rh_dossier', 'user_creation')
+
+        # Deleting field 'Dossier.date_modification'
+        db.delete_column('rh_dossier', 'date_modification')
+
+        # Deleting field 'Dossier.user_modification'
+        db.delete_column('rh_dossier', 'user_modification')
+
+        # Deleting field 'TypeContrat.supprime'
+        db.delete_column('rh_typecontrat', 'supprime')
+
+        # Deleting field 'TypeContrat.user_creation'
+        db.delete_column('rh_typecontrat', 'user_creation')
+
+        # Deleting field 'TypeContrat.user_modification'
+        db.delete_column('rh_typecontrat', 'user_modification')
+
+        # Deleting field 'TypeContrat.date_modification'
+        db.delete_column('rh_typecontrat', 'date_modification')
+
+        # Deleting field 'TypeContrat.date_creation'
+        db.delete_column('rh_typecontrat', 'date_creation')
+
+        # Deleting field 'AyantDroitCommentaire.supprime'
+        db.delete_column('rh_ayantdroitcommentaire', 'supprime')
+
+        # Deleting field 'AyantDroitCommentaire.user_creation'
+        db.delete_column('rh_ayantdroitcommentaire', 'user_creation')
+
+        # Deleting field 'AyantDroitCommentaire.user_modification'
+        db.delete_column('rh_ayantdroitcommentaire', 'user_modification')
+
+        # Deleting field 'AyantDroitCommentaire.date_modification'
+        db.delete_column('rh_ayantdroitcommentaire', 'date_modification')
+
+        # Changing field 'AyantDroitCommentaire.date_creation'
+        db.alter_column('rh_ayantdroitcommentaire', 'date_creation', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True, null=True))
+
+        # Deleting field 'TauxChange.supprime'
+        db.delete_column('rh_tauxchange', 'supprime')
+
+        # Deleting field 'TauxChange.date_creation'
+        db.delete_column('rh_tauxchange', 'date_creation')
+
+        # Deleting field 'TauxChange.user_creation'
+        db.delete_column('rh_tauxchange', 'user_creation')
+
+        # Deleting field 'TauxChange.date_modification'
+        db.delete_column('rh_tauxchange', 'date_modification')
+
+        # Deleting field 'TauxChange.user_modification'
+        db.delete_column('rh_tauxchange', 'user_modification')
+
+        # Deleting field 'OrganismeBstg.supprime'
+        db.delete_column('rh_organismebstg', 'supprime')
+
+        # Deleting field 'OrganismeBstg.user_creation'
+        db.delete_column('rh_organismebstg', 'user_creation')
+
+        # Deleting field 'OrganismeBstg.user_modification'
+        db.delete_column('rh_organismebstg', 'user_modification')
+
+        # Deleting field 'OrganismeBstg.date_modification'
+        db.delete_column('rh_organismebstg', 'date_modification')
+
+        # Deleting field 'OrganismeBstg.date_creation'
+        db.delete_column('rh_organismebstg', 'date_creation')
+
+        # Deleting field 'Remuneration.supprime'
+        db.delete_column('rh_remuneration', 'supprime')
+
+        # Deleting field 'Remuneration.user_creation'
+        db.delete_column('rh_remuneration', 'user_creation')
+
+        # Deleting field 'Remuneration.date_creation'
+        db.delete_column('rh_remuneration', 'date_creation')
+
+        # Deleting field 'Remuneration.date_modification'
+        db.delete_column('rh_remuneration', 'date_modification')
+
+        # Deleting field 'Remuneration.user_modification'
+        db.delete_column('rh_remuneration', 'user_modification')
+
+        # Deleting field 'EmployeCommentaire.supprime'
+        db.delete_column('rh_employecommentaire', 'supprime')
+
+        # Deleting field 'EmployeCommentaire.user_creation'
+        db.delete_column('rh_employecommentaire', 'user_creation')
+
+        # Deleting field 'EmployeCommentaire.user_modification'
+        db.delete_column('rh_employecommentaire', 'user_modification')
+
+        # Deleting field 'EmployeCommentaire.date_modification'
+        db.delete_column('rh_employecommentaire', 'date_modification')
+
+        # Changing field 'EmployeCommentaire.date_creation'
+        db.alter_column('rh_employecommentaire', 'date_creation', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True, null=True))
+
+        # Deleting field 'Devise.date_creation'
+        db.delete_column('rh_devise', 'date_creation')
+
+        # Deleting field 'Devise.supprime'
+        db.delete_column('rh_devise', 'supprime')
+
+        # Deleting field 'Devise.user_creation'
+        db.delete_column('rh_devise', 'user_creation')
+
+        # Deleting field 'Devise.user_modification'
+        db.delete_column('rh_devise', 'user_modification')
+
+        # Deleting field 'Devise.date_modification'
+        db.delete_column('rh_devise', 'date_modification')
+
+        # Deleting field 'Statut.supprime'
+        db.delete_column('rh_statut', 'supprime')
+
+        # Deleting field 'Statut.user_creation'
+        db.delete_column('rh_statut', 'user_creation')
+
+        # Deleting field 'Statut.user_modification'
+        db.delete_column('rh_statut', 'user_modification')
+
+        # Deleting field 'Statut.date_modification'
+        db.delete_column('rh_statut', 'date_modification')
+
+        # Deleting field 'Statut.date_creation'
+        db.delete_column('rh_statut', 'date_creation')
+    
+    
+    def backwards(self, orm):
+        
+        # Adding field 'PosteComparaison.supprime'
+        db.add_column('rh_postecomparaison', 'supprime', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True), keep_default=False)
+
+        # Adding field 'PosteComparaison.date_creation'
+        db.add_column('rh_postecomparaison', 'date_creation', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'PosteComparaison.user_creation'
+        db.add_column('rh_postecomparaison', 'user_creation', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_creation', blank=True), keep_default=False)
+
+        # Adding field 'PosteComparaison.user_modification'
+        db.add_column('rh_postecomparaison', 'user_modification', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_modification', blank=True), keep_default=False)
+
+        # Adding field 'PosteComparaison.date_modification'
+        db.add_column('rh_postecomparaison', 'date_modification', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'Contrat.supprime'
+        db.add_column('rh_contrat', 'supprime', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True), keep_default=False)
+
+        # Adding field 'Contrat.date_creation'
+        db.add_column('rh_contrat', 'date_creation', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'Contrat.user_creation'
+        db.add_column('rh_contrat', 'user_creation', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_creation', blank=True), keep_default=False)
+
+        # Adding field 'Contrat.user_modification'
+        db.add_column('rh_contrat', 'user_modification', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_modification', blank=True), keep_default=False)
+
+        # Adding field 'Contrat.date_modification'
+        db.add_column('rh_contrat', 'date_modification', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'PosteCommentaire.supprime'
+        db.add_column('rh_postecommentaire', 'supprime', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True), keep_default=False)
+
+        # Adding field 'PosteCommentaire.user_creation'
+        db.add_column('rh_postecommentaire', 'user_creation', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_creation', blank=True), keep_default=False)
+
+        # Adding field 'PosteCommentaire.user_modification'
+        db.add_column('rh_postecommentaire', 'user_modification', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_modification', blank=True), keep_default=False)
+
+        # Adding field 'PosteCommentaire.date_modification'
+        db.add_column('rh_postecommentaire', 'date_modification', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Changing field 'PosteCommentaire.date_creation'
+        db.alter_column('rh_postecommentaire', 'date_creation', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True))
+
+        # Adding field 'Classement.date_creation'
+        db.add_column('rh_classement', 'date_creation', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'Classement.supprime'
+        db.add_column('rh_classement', 'supprime', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True), keep_default=False)
+
+        # Adding field 'Classement.user_creation'
+        db.add_column('rh_classement', 'user_creation', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_creation', blank=True), keep_default=False)
+
+        # Adding field 'Classement.user_modification'
+        db.add_column('rh_classement', 'user_modification', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_modification', blank=True), keep_default=False)
+
+        # Adding field 'Classement.date_modification'
+        db.add_column('rh_classement', 'date_modification', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'TypeRevalorisation.supprime'
+        db.add_column('rh_typerevalorisation', 'supprime', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True), keep_default=False)
+
+        # Adding field 'TypeRevalorisation.user_creation'
+        db.add_column('rh_typerevalorisation', 'user_creation', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_creation', blank=True), keep_default=False)
+
+        # Adding field 'TypeRevalorisation.user_modification'
+        db.add_column('rh_typerevalorisation', 'user_modification', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_modification', blank=True), keep_default=False)
+
+        # Adding field 'TypeRevalorisation.date_modification'
+        db.add_column('rh_typerevalorisation', 'date_modification', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'TypeRevalorisation.date_creation'
+        db.add_column('rh_typerevalorisation', 'date_creation', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'TypeRemuneration.supprime'
+        db.add_column('rh_typeremuneration', 'supprime', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True), keep_default=False)
+
+        # Adding field 'TypeRemuneration.date_creation'
+        db.add_column('rh_typeremuneration', 'date_creation', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'TypeRemuneration.user_creation'
+        db.add_column('rh_typeremuneration', 'user_creation', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_creation', blank=True), keep_default=False)
+
+        # Adding field 'TypeRemuneration.user_modification'
+        db.add_column('rh_typeremuneration', 'user_modification', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_modification', blank=True), keep_default=False)
+
+        # Adding field 'TypeRemuneration.date_modification'
+        db.add_column('rh_typeremuneration', 'date_modification', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'TypePoste.supprime'
+        db.add_column('rh_typeposte', 'supprime', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True), keep_default=False)
+
+        # Adding field 'TypePoste.user_creation'
+        db.add_column('rh_typeposte', 'user_creation', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_creation', blank=True), keep_default=False)
+
+        # Adding field 'TypePoste.user_modification'
+        db.add_column('rh_typeposte', 'user_modification', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_modification', blank=True), keep_default=False)
+
+        # Adding field 'TypePoste.date_modification'
+        db.add_column('rh_typeposte', 'date_modification', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'TypePoste.date_creation'
+        db.add_column('rh_typeposte', 'date_creation', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'CategorieEmploi.supprime'
+        db.add_column('rh_categorieemploi', 'supprime', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True), keep_default=False)
+
+        # Adding field 'CategorieEmploi.user_creation'
+        db.add_column('rh_categorieemploi', 'user_creation', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_creation', blank=True), keep_default=False)
+
+        # Adding field 'CategorieEmploi.user_modification'
+        db.add_column('rh_categorieemploi', 'user_modification', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_modification', blank=True), keep_default=False)
+
+        # Adding field 'CategorieEmploi.date_modification'
+        db.add_column('rh_categorieemploi', 'date_modification', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'CategorieEmploi.date_creation'
+        db.add_column('rh_categorieemploi', 'date_creation', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'Poste.supprime'
+        db.add_column('rh_poste', 'supprime', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True), keep_default=False)
+
+        # Adding field 'Poste.date_modification'
+        db.add_column('rh_poste', 'date_modification', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'Poste.user_creation'
+        db.add_column('rh_poste', 'user_creation', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_creation', blank=True), keep_default=False)
+
+        # Adding field 'Poste.user_modification'
+        db.add_column('rh_poste', 'user_modification', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_modification', blank=True), keep_default=False)
+
+        # Adding field 'Poste.date_creation'
+        db.add_column('rh_poste', 'date_creation', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'Employe.supprime'
+        db.add_column('rh_employe', 'supprime', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True), keep_default=False)
+
+        # Adding field 'Employe.date_modification'
+        db.add_column('rh_employe', 'date_modification', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'Employe.user_creation'
+        db.add_column('rh_employe', 'user_creation', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_creation', blank=True), keep_default=False)
+
+        # Adding field 'Employe.user_modification'
+        db.add_column('rh_employe', 'user_modification', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_modification', blank=True), keep_default=False)
+
+        # Adding field 'Employe.date_creation'
+        db.add_column('rh_employe', 'date_creation', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'ValeurPoint.supprime'
+        db.add_column('rh_valeurpoint', 'supprime', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True), keep_default=False)
+
+        # Adding field 'ValeurPoint.date_creation'
+        db.add_column('rh_valeurpoint', 'date_creation', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'ValeurPoint.user_creation'
+        db.add_column('rh_valeurpoint', 'user_creation', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_creation', blank=True), keep_default=False)
+
+        # Adding field 'ValeurPoint.date_modification'
+        db.add_column('rh_valeurpoint', 'date_modification', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'ValeurPoint.user_modification'
+        db.add_column('rh_valeurpoint', 'user_modification', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_modification', blank=True), keep_default=False)
+
+        # Adding field 'DossierCommentaire.supprime'
+        db.add_column('rh_dossiercommentaire', 'supprime', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True), keep_default=False)
+
+        # Adding field 'DossierCommentaire.user_creation'
+        db.add_column('rh_dossiercommentaire', 'user_creation', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_creation', blank=True), keep_default=False)
+
+        # Adding field 'DossierCommentaire.user_modification'
+        db.add_column('rh_dossiercommentaire', 'user_modification', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_modification', blank=True), keep_default=False)
+
+        # Adding field 'DossierCommentaire.date_modification'
+        db.add_column('rh_dossiercommentaire', 'date_modification', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Changing field 'DossierCommentaire.date_creation'
+        db.alter_column('rh_dossiercommentaire', 'date_creation', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True))
+
+        # Adding field 'Service.date_creation'
+        db.add_column('rh_service', 'date_creation', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'Service.supprime'
+        db.add_column('rh_service', 'supprime', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True), keep_default=False)
+
+        # Adding field 'Service.user_creation'
+        db.add_column('rh_service', 'user_creation', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_creation', blank=True), keep_default=False)
+
+        # Adding field 'Service.user_modification'
+        db.add_column('rh_service', 'user_modification', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_modification', blank=True), keep_default=False)
+
+        # Adding field 'Service.date_modification'
+        db.add_column('rh_service', 'date_modification', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'AyantDroit.supprime'
+        db.add_column('rh_ayantdroit', 'supprime', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True), keep_default=False)
+
+        # Adding field 'AyantDroit.user_creation'
+        db.add_column('rh_ayantdroit', 'user_creation', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_creation', blank=True), keep_default=False)
+
+        # Adding field 'AyantDroit.user_modification'
+        db.add_column('rh_ayantdroit', 'user_modification', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_modification', blank=True), keep_default=False)
+
+        # Adding field 'AyantDroit.date_modification'
+        db.add_column('rh_ayantdroit', 'date_modification', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'AyantDroit.date_creation'
+        db.add_column('rh_ayantdroit', 'date_creation', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'Dossier.date_creation'
+        db.add_column('rh_dossier', 'date_creation', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'Dossier.supprime'
+        db.add_column('rh_dossier', 'supprime', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True), keep_default=False)
+
+        # Adding field 'Dossier.user_creation'
+        db.add_column('rh_dossier', 'user_creation', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_creation', blank=True), keep_default=False)
+
+        # Adding field 'Dossier.date_modification'
+        db.add_column('rh_dossier', 'date_modification', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'Dossier.user_modification'
+        db.add_column('rh_dossier', 'user_modification', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_modification', blank=True), keep_default=False)
+
+        # Adding field 'TypeContrat.supprime'
+        db.add_column('rh_typecontrat', 'supprime', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True), keep_default=False)
+
+        # Adding field 'TypeContrat.user_creation'
+        db.add_column('rh_typecontrat', 'user_creation', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_creation', blank=True), keep_default=False)
+
+        # Adding field 'TypeContrat.user_modification'
+        db.add_column('rh_typecontrat', 'user_modification', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_modification', blank=True), keep_default=False)
+
+        # Adding field 'TypeContrat.date_modification'
+        db.add_column('rh_typecontrat', 'date_modification', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'TypeContrat.date_creation'
+        db.add_column('rh_typecontrat', 'date_creation', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'AyantDroitCommentaire.supprime'
+        db.add_column('rh_ayantdroitcommentaire', 'supprime', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True), keep_default=False)
+
+        # Adding field 'AyantDroitCommentaire.user_creation'
+        db.add_column('rh_ayantdroitcommentaire', 'user_creation', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_creation', blank=True), keep_default=False)
+
+        # Adding field 'AyantDroitCommentaire.user_modification'
+        db.add_column('rh_ayantdroitcommentaire', 'user_modification', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_modification', blank=True), keep_default=False)
+
+        # Adding field 'AyantDroitCommentaire.date_modification'
+        db.add_column('rh_ayantdroitcommentaire', 'date_modification', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Changing field 'AyantDroitCommentaire.date_creation'
+        db.alter_column('rh_ayantdroitcommentaire', 'date_creation', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True))
+
+        # Adding field 'TauxChange.supprime'
+        db.add_column('rh_tauxchange', 'supprime', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True), keep_default=False)
+
+        # Adding field 'TauxChange.date_creation'
+        db.add_column('rh_tauxchange', 'date_creation', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'TauxChange.user_creation'
+        db.add_column('rh_tauxchange', 'user_creation', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_creation', blank=True), keep_default=False)
+
+        # Adding field 'TauxChange.date_modification'
+        db.add_column('rh_tauxchange', 'date_modification', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'TauxChange.user_modification'
+        db.add_column('rh_tauxchange', 'user_modification', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_modification', blank=True), keep_default=False)
+
+        # Adding field 'OrganismeBstg.supprime'
+        db.add_column('rh_organismebstg', 'supprime', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True), keep_default=False)
+
+        # Adding field 'OrganismeBstg.user_creation'
+        db.add_column('rh_organismebstg', 'user_creation', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_creation', blank=True), keep_default=False)
+
+        # Adding field 'OrganismeBstg.user_modification'
+        db.add_column('rh_organismebstg', 'user_modification', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_modification', blank=True), keep_default=False)
+
+        # Adding field 'OrganismeBstg.date_modification'
+        db.add_column('rh_organismebstg', 'date_modification', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'OrganismeBstg.date_creation'
+        db.add_column('rh_organismebstg', 'date_creation', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'Remuneration.supprime'
+        db.add_column('rh_remuneration', 'supprime', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True), keep_default=False)
+
+        # Adding field 'Remuneration.user_creation'
+        db.add_column('rh_remuneration', 'user_creation', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_creation', blank=True), keep_default=False)
+
+        # Adding field 'Remuneration.date_creation'
+        db.add_column('rh_remuneration', 'date_creation', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'Remuneration.date_modification'
+        db.add_column('rh_remuneration', 'date_modification', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'Remuneration.user_modification'
+        db.add_column('rh_remuneration', 'user_modification', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_modification', blank=True), keep_default=False)
+
+        # Adding field 'EmployeCommentaire.supprime'
+        db.add_column('rh_employecommentaire', 'supprime', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True), keep_default=False)
+
+        # Adding field 'EmployeCommentaire.user_creation'
+        db.add_column('rh_employecommentaire', 'user_creation', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_creation', blank=True), keep_default=False)
+
+        # Adding field 'EmployeCommentaire.user_modification'
+        db.add_column('rh_employecommentaire', 'user_modification', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_modification', blank=True), keep_default=False)
+
+        # Adding field 'EmployeCommentaire.date_modification'
+        db.add_column('rh_employecommentaire', 'date_modification', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Changing field 'EmployeCommentaire.date_creation'
+        db.alter_column('rh_employecommentaire', 'date_creation', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True))
+
+        # Adding field 'Devise.date_creation'
+        db.add_column('rh_devise', 'date_creation', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'Devise.supprime'
+        db.add_column('rh_devise', 'supprime', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True), keep_default=False)
+
+        # Adding field 'Devise.user_creation'
+        db.add_column('rh_devise', 'user_creation', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_creation', blank=True), keep_default=False)
+
+        # Adding field 'Devise.user_modification'
+        db.add_column('rh_devise', 'user_modification', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_modification', blank=True), keep_default=False)
+
+        # Adding field 'Devise.date_modification'
+        db.add_column('rh_devise', 'date_modification', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'Statut.supprime'
+        db.add_column('rh_statut', 'supprime', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True), keep_default=False)
+
+        # Adding field 'Statut.user_creation'
+        db.add_column('rh_statut', 'user_creation', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_creation', blank=True), keep_default=False)
+
+        # Adding field 'Statut.user_modification'
+        db.add_column('rh_statut', 'user_modification', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['auth.User'], db_column='user_modification', blank=True), keep_default=False)
+
+        # Adding field 'Statut.date_modification'
+        db.add_column('rh_statut', 'date_modification', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+
+        # Adding field 'Statut.date_creation'
+        db.add_column('rh_statut', 'date_creation', self.gf('django.db.models.fields.DateTimeField')(null=True, blank=True), keep_default=False)
+    
+    
+    models = {
+        'auth.group': {
+            'Meta': {'object_name': 'Group'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
+            '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', [], {'unique': 'True', 'max_length': '30'})
+        },
+        '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'})
+        },
+        'managedref.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.AutoField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['managedref.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['managedref.Region']", 'db_column': "'region'"})
+        },
+        'managedref.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['managedref.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['managedref.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['managedref.Implantation']", 'db_column': "'bureau_rattachement'"}),
+            '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.AutoField', [], {'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['managedref.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'})
+        },
+        'managedref.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['managedref.Bureau']", 'to_field': "'code'", 'null': 'True', 'db_column': "'code_bureau'", 'blank': 'True'}),
+            'code_iso3': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '3'}),
+            'developpement': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'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['managedref.Region']", 'db_column': "'region'"})
+        },
+        'managedref.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.AutoField', [], {'primary_key': 'True'}),
+            'implantation_bureau': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'gere_region'", 'null': 'True', 'db_column': "'implantation_bureau'", 'to': "orm['managedref.Implantation']"}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'})
+        },
+        'references.implantation': {
+            'Meta': {'managed': 'False', 'object_name': 'Implantation', 'db_table': "u'ref_implantation'", '_ormbases': ['managedref.Implantation']}
+        },
+        'references.pays': {
+            'Meta': {'managed': 'False', 'object_name': 'Pays', 'db_table': "u'ref_pays'", '_ormbases': ['managedref.Pays']}
+        },
+        'rh.ayantdroit': {
+            'Meta': {'object_name': 'AyantDroit'},
+            'date_naissance': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'employe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'ayantdroits'", 'db_column': "'employe'", 'to': "orm['rh.Employe']"}),
+            'genre': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'lien_parente': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+            'nationalite': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'ayantdroits_nationalite'", 'db_column': "'nationalite'", 'to_field': "'code'", 'to': "orm['managedref.Pays']", 'blank': 'True', 'null': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_affichage': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'prenom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh.ayantdroitcommentaire': {
+            'Meta': {'object_name': 'AyantDroitCommentaire'},
+            'ayant_droit': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'commentaires'", 'db_column': "'ayant_droit'", 'to': "orm['rh.AyantDroit']"}),
+            'date_creation': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'owner': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'owner'", 'to': "orm['auth.User']"}),
+            'texte': ('django.db.models.fields.TextField', [], {})
+        },
+        'rh.categorieemploi': {
+            'Meta': {'object_name': 'CategorieEmploi'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh.classement': {
+            'Meta': {'object_name': 'Classement'},
+            'coefficient': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
+            'commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'degre': ('django.db.models.fields.IntegerField', [], {'default': '0', 'blank': 'True'}),
+            'echelon': ('django.db.models.fields.IntegerField', [], {'default': '0', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '10'})
+        },
+        'rh.contrat': {
+            'Meta': {'object_name': 'Contrat'},
+            'date_debut': ('django.db.models.fields.DateField', [], {}),
+            'date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rh_contrats'", 'db_column': "'dossier'", 'to': "orm['rh.Dossier']"}),
+            'fichier': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'type_contrat': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'type_contrat'", 'to': "orm['rh.TypeContrat']"})
+        },
+        'rh.devise': {
+            'Meta': {'object_name': 'Devise'},
+            'archive': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+            'code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '10'}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh.dossier': {
+            'Meta': {'object_name': 'Dossier'},
+            'classement': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null'