Premier jet pour le formulaire de poste (manque le financement)
authorNicolas Cadou <ncadou@cadou.ca>
Tue, 22 Mar 2011 02:18:33 +0000 (22:18 -0400)
committerNicolas Cadou <ncadou@cadou.ca>
Tue, 22 Mar 2011 02:18:33 +0000 (22:18 -0400)
15 files changed:
project/dae/forms.py [new file with mode: 0644]
project/dae/migrations/0001_initial.py [new file with mode: 0644]
project/dae/migrations/0002_auto__add_validationemploye__add_validationposte__add_validation__add_.py [new file with mode: 0644]
project/dae/migrations/__init__.py [new file with mode: 0644]
project/dae/models.py
project/dae/templates/dae/index.html [new file with mode: 0644]
project/dae/templates/dae/poste.html [new file with mode: 0644]
project/dae/urls.py [new file with mode: 0644]
project/dae/views.py
project/rh_v1/migrations/0001_initial.py [new file with mode: 0644]
project/rh_v1/migrations/__init__.py [new file with mode: 0644]
project/rh_v1/models.py
project/settings.py
project/templates/base.html [new file with mode: 0644]
project/urls.py

diff --git a/project/dae/forms.py b/project/dae/forms.py
new file mode 100644 (file)
index 0000000..b0f8c17
--- /dev/null
@@ -0,0 +1,60 @@
+# -*- encoding: utf-8 -*-
+from django import forms
+
+from datamaster_modeles import models as ref
+
+from dae import models as dae
+from rh_v1 import models as rh
+
+
+class PosteForm(forms.ModelForm):
+    """ Formulaire des postes. """
+    class Meta:
+        model = dae.Poste
+        fields = ('poste', 'implantation', 'type_poste', 'service', 'nom',
+                  'responsable', 'statut_residence', 'mise_a_disposition',
+                  'appel', 'date_debut', 'date_fin', 'actif',
+                  'regime_travail', 'regime_travail_nb_heure_semaine',
+                  'classement_min', 'classement_max',
+                  'valeur_point_min', 'valeur_point_max',
+                  'salaire_min', 'salaire_max', 'indemn_min', 'indemn_max',
+                  'autre_min', 'autre_max', 'devise_comparaison',
+                  'comp_locale_min', 'comp_locale_max',
+                  'comp_universite_min', 'comp_universite_max',
+                  'comp_fonctionpub_min', 'comp_fonctionpub_max',
+                  'comp_ong_min', 'comp_ong_max',
+                  'comp_autre_min', 'comp_autre_max',)
+        widgets = dict(statut_residence=forms.RadioSelect(),
+                       appel=forms.RadioSelect())
+
+    # La liste des choix est laissée vide. Voir __init__ pour la raison.
+    poste = forms.ChoiceField(choices=(), required=False)
+
+    def __init__(self, *args, **kwargs):
+        """ Mise à jour dynamique du contenu du menu des postes.
+
+        Si on ne met le menu à jour de cette façon, à chaque instantiation du
+        formulaire, son contenu est mis en cache par le système et il ne
+        reflète pas les changements apportés par les ajouts, modifications,
+        etc...
+
+        """
+        super(PosteForm, self).__init__(*args, **kwargs)
+        self.fields['poste'].choices = self._poste_choices()
+
+    def _poste_choices(self):
+        """ Menu déroulant pour les postes.
+
+        Constitué des postes de dae et des postes de rh_v1 qui n'ont pas
+        d'équivalent dans dae.
+
+        """
+        dae_ = dae.Poste.objects.filter(id_rh__isnull=True)
+        copies = dae.Poste.objects.exclude(id_rh__isnull=True)
+        id_copies = [p.id_rh_id for p in copies.all()]
+        rhv1 = rh.Poste.objects.exclude(id__in=id_copies)
+
+        return [('', 'Nouveau poste')] + \
+               sorted([('dae-%s' % p.id, unicode(p)) for p in dae_ | copies] +
+                      [('rh-%s' % p.id, unicode(p)) for p in rhv1],
+                      key=lambda t: t[1])
diff --git a/project/dae/migrations/0001_initial.py b/project/dae/migrations/0001_initial.py
new file mode 100644 (file)
index 0000000..dc491af
--- /dev/null
@@ -0,0 +1,21 @@
+# 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):
+        pass
+
+
+    def backwards(self, orm):
+        pass
+
+
+    models = {
+        
+    }
+
+    complete_apps = ['dae']
diff --git a/project/dae/migrations/0002_auto__add_validationemploye__add_validationposte__add_validation__add_.py b/project/dae/migrations/0002_auto__add_validationemploye__add_validationposte__add_validation__add_.py
new file mode 100644 (file)
index 0000000..c25accf
--- /dev/null
@@ -0,0 +1,580 @@
+# encoding: utf-8
+import datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+class Migration(SchemaMigration):
+
+    def forwards(self, orm):
+        
+        # Adding model 'ValidationEmploye'
+        db.create_table('dae_validationemploye', (
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+            ('employe', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['dae.Employe'])),
+        ))
+        db.send_create_signal('dae', ['ValidationEmploye'])
+
+        # Adding model 'ValidationPoste'
+        db.create_table('dae_validationposte', (
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+            ('poste', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['dae.Poste'])),
+        ))
+        db.send_create_signal('dae', ['ValidationPoste'])
+
+        # Adding model 'Validation'
+        db.create_table('dae_validation', (
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+            ('date', self.gf('django.db.models.fields.DateField')()),
+        ))
+        db.send_create_signal('dae', ['Validation'])
+
+        # Adding model 'DocumentPoste'
+        db.create_table('dae_documentposte', (
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+        ))
+        db.send_create_signal('dae', ['DocumentPoste'])
+
+        # Adding model 'Dossier'
+        db.create_table('dae_dossier', (
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+            ('statut_anterieur', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['rh_v1.Statut'])),
+            ('poste', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['dae.Poste'])),
+            ('statut', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['rh_v1.Statut'])),
+            ('organisme_bstg', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['rh_v1.OrganismeBstg'])),
+            ('remplacement', self.gf('django.db.models.fields.BooleanField')(default=False)),
+            ('mobilite_interne', self.gf('django.db.models.fields.BooleanField')(default=False)),
+            ('statut_residence', self.gf('django.db.models.fields.CharField')(max_length=10)),
+            ('classement', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['rh_v1.Classement'])),
+            ('salaire', self.gf('django.db.models.fields.DecimalField')(default=None, null=True, max_digits=12, decimal_places=2)),
+            ('devise', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['rh_v1.Devise'])),
+            ('regime_travail', self.gf('django.db.models.fields.DecimalField')(max_digits=12, decimal_places=2)),
+            ('regime_travail_nb_heure_semaine', self.gf('django.db.models.fields.DecimalField')(max_digits=12, decimal_places=2)),
+            ('type_contrat', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['rh_v1.TypeContrat'])),
+            ('contrat_date_debut', self.gf('django.db.models.fields.DateField')()),
+            ('contrat_date_fin', self.gf('django.db.models.fields.DateField')()),
+            ('contrat_nb_mois', self.gf('django.db.models.fields.IntegerField')()),
+            ('compte_compta', self.gf('django.db.models.fields.CharField')(max_length=10)),
+            ('compte_courriel', self.gf('django.db.models.fields.BooleanField')(default=False)),
+        ))
+        db.send_create_signal('dae', ['Dossier'])
+
+        # Adding model 'DocumentEmploye'
+        db.create_table('dae_documentemploye', (
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+        ))
+        db.send_create_signal('dae', ['DocumentEmploye'])
+
+        # Adding model 'Poste'
+        db.create_table('dae_poste', (
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+            ('id_rh', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['rh_v1.Poste'])),
+            ('nom', self.gf('django.db.models.fields.CharField')(max_length=255)),
+            ('implantation', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['datamaster_modeles.Implantation'])),
+            ('type_poste', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['rh_v1.TypePoste'])),
+            ('service', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['rh_v1.Service'])),
+            ('responsable', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['rh_v1.Poste'])),
+            ('regime_travail', self.gf('django.db.models.fields.DecimalField')(default=100, max_digits=12, decimal_places=2)),
+            ('regime_travail_nb_heure_semaine', self.gf('django.db.models.fields.DecimalField')(default=40, max_digits=12, decimal_places=2)),
+            ('statut_residence', self.gf('django.db.models.fields.CharField')(default='MAD', max_length=10)),
+            ('mise_a_disposition', self.gf('django.db.models.fields.BooleanField')(default=False)),
+            ('appel', self.gf('django.db.models.fields.CharField')(default='interne', max_length=10)),
+            ('classement_min', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['rh_v1.Classement'])),
+            ('classement_max', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['rh_v1.Classement'])),
+            ('valeur_point_min', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['rh_v1.ValeurPoint'])),
+            ('valeur_point_max', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['rh_v1.ValeurPoint'])),
+            ('salaire_min', self.gf('django.db.models.fields.DecimalField')(default=0, max_digits=12, decimal_places=2)),
+            ('salaire_max', self.gf('django.db.models.fields.DecimalField')(default=0, max_digits=12, decimal_places=2)),
+            ('indemn_min', self.gf('django.db.models.fields.DecimalField')(default=0, max_digits=12, decimal_places=2)),
+            ('indemn_max', self.gf('django.db.models.fields.DecimalField')(default=0, max_digits=12, decimal_places=2)),
+            ('autre_min', self.gf('django.db.models.fields.DecimalField')(default=0, max_digits=12, decimal_places=2)),
+            ('autre_max', self.gf('django.db.models.fields.DecimalField')(default=0, max_digits=12, decimal_places=2)),
+            ('devise_comparaison', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='+', null=True, to=orm['rh_v1.Devise'])),
+            ('comp_locale_min', self.gf('django.db.models.fields.DecimalField')(null=True, max_digits=12, decimal_places=2, blank=True)),
+            ('comp_locale_max', self.gf('django.db.models.fields.DecimalField')(null=True, max_digits=12, decimal_places=2, blank=True)),
+            ('comp_universite_min', self.gf('django.db.models.fields.DecimalField')(null=True, max_digits=12, decimal_places=2, blank=True)),
+            ('comp_universite_max', self.gf('django.db.models.fields.DecimalField')(null=True, max_digits=12, decimal_places=2, blank=True)),
+            ('comp_fonctionpub_min', self.gf('django.db.models.fields.DecimalField')(null=True, max_digits=12, decimal_places=2, blank=True)),
+            ('comp_fonctionpub_max', self.gf('django.db.models.fields.DecimalField')(null=True, max_digits=12, decimal_places=2, blank=True)),
+            ('comp_ong_min', self.gf('django.db.models.fields.DecimalField')(null=True, max_digits=12, decimal_places=2, blank=True)),
+            ('comp_ong_max', self.gf('django.db.models.fields.DecimalField')(null=True, max_digits=12, decimal_places=2, blank=True)),
+            ('comp_autre_min', self.gf('django.db.models.fields.DecimalField')(null=True, max_digits=12, decimal_places=2, blank=True)),
+            ('comp_autre_max', self.gf('django.db.models.fields.DecimalField')(null=True, max_digits=12, decimal_places=2, blank=True)),
+            ('date_creation', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),
+            ('date_modification', self.gf('django.db.models.fields.DateTimeField')(auto_now=True, blank=True)),
+            ('date_debut', self.gf('django.db.models.fields.DateField')()),
+            ('date_fin', self.gf('django.db.models.fields.DateField')(null=True)),
+            ('actif', self.gf('django.db.models.fields.BooleanField')(default=True)),
+        ))
+        db.send_create_signal('dae', ['Poste'])
+
+        # Adding model 'TypeRemuneration'
+        db.create_table('dae_typeremuneration', (
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+            ('ordre', self.gf('django.db.models.fields.IntegerField')()),
+            ('groupe', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['dae.GroupeTypeRemuneration'])),
+        ))
+        db.send_create_signal('dae', ['TypeRemuneration'])
+
+        # Adding model 'PosteFinancement'
+        db.create_table('dae_postefinancement', (
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+            ('montant', self.gf('django.db.models.fields.DecimalField')(max_digits=12, decimal_places=2)),
+            ('poste', self.gf('django.db.models.fields.related.ForeignKey')(related_name='financements', to=orm['dae.Poste'])),
+            ('type', self.gf('django.db.models.fields.CharField')(max_length=1)),
+            ('pourcentage', self.gf('django.db.models.fields.DecimalField')(max_digits=12, decimal_places=2)),
+            ('commentaire', self.gf('django.db.models.fields.TextField')()),
+        ))
+        db.send_create_signal('dae', ['PosteFinancement'])
+
+        # Adding model 'Employe'
+        db.create_table('dae_employe', (
+            ('id', self.gf('django.db.models.fields.IntegerField')(primary_key=True)),
+            ('id_rh', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', null=True, to=orm['rh_v1.Employe'])),
+            ('nom', self.gf('django.db.models.fields.CharField')(max_length=255)),
+            ('prenom', self.gf('django.db.models.fields.CharField')(max_length=255)),
+            ('genre', self.gf('django.db.models.fields.CharField')(max_length=1, null=True, blank=True)),
+        ))
+        db.send_create_signal('dae', ['Employe'])
+
+        # Adding model 'JustificationPoste'
+        db.create_table('dae_justificationposte', (
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+        ))
+        db.send_create_signal('dae', ['JustificationPoste'])
+
+        # Adding model 'PosteComparatifExterne'
+        db.create_table('dae_postecomparatifexterne', (
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+            ('poste', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['dae.Poste'])),
+            ('montant', self.gf('django.db.models.fields.DecimalField')(max_digits=12, decimal_places=2)),
+            ('devise', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['rh_v1.Devise'])),
+            ('min_max', self.gf('django.db.models.fields.CharField')(max_length=10)),
+            ('type_org', self.gf('django.db.models.fields.CharField')(max_length=10)),
+        ))
+        db.send_create_signal('dae', ['PosteComparatifExterne'])
+
+        # Adding model 'GroupeTypeRemuneration'
+        db.create_table('dae_groupetyperemuneration', (
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+            ('nom', self.gf('django.db.models.fields.CharField')(max_length=255)),
+            ('ordre', self.gf('django.db.models.fields.IntegerField')()),
+        ))
+        db.send_create_signal('dae', ['GroupeTypeRemuneration'])
+
+        # Adding model 'JustificationEmploye'
+        db.create_table('dae_justificationemploye', (
+            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+        ))
+        db.send_create_signal('dae', ['JustificationEmploye'])
+
+        # Adding model 'Remuneration'
+        db.create_table('dae_remuneration', (
+            ('id', self.gf('django.db.models.fields.IntegerField')(primary_key=True)),
+            ('dossier', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['dae.Dossier'], db_column='dossier')),
+            ('type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['dae.TypeRemuneration'], db_column='type')),
+            ('montant', self.gf('django.db.models.fields.DecimalField')(max_digits=12, decimal_places=2)),
+            ('devise', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to_field='code', db_column='devise', to=orm['rh_v1.Devise'])),
+            ('date_effective', self.gf('django.db.models.fields.DateField')()),
+            ('pourcentage', self.gf('django.db.models.fields.IntegerField')()),
+            ('date_creation', self.gf('django.db.models.fields.DateField')(auto_now_add=True, blank=True)),
+            ('user_creation', self.gf('django.db.models.fields.IntegerField')()),
+            ('desactivation', self.gf('django.db.models.fields.BooleanField')(default=False)),
+            ('date_desactivation', self.gf('django.db.models.fields.DateField')()),
+            ('user_desactivation', self.gf('django.db.models.fields.IntegerField')()),
+            ('annule', self.gf('django.db.models.fields.BooleanField')(default=False)),
+            ('date_annule', self.gf('django.db.models.fields.DateField')()),
+            ('user_annule', self.gf('django.db.models.fields.IntegerField')()),
+        ))
+        db.send_create_signal('dae', ['Remuneration'])
+
+
+    def backwards(self, orm):
+        
+        # Deleting model 'ValidationEmploye'
+        db.delete_table('dae_validationemploye')
+
+        # Deleting model 'ValidationPoste'
+        db.delete_table('dae_validationposte')
+
+        # Deleting model 'Validation'
+        db.delete_table('dae_validation')
+
+        # Deleting model 'DocumentPoste'
+        db.delete_table('dae_documentposte')
+
+        # Deleting model 'Dossier'
+        db.delete_table('dae_dossier')
+
+        # Deleting model 'DocumentEmploye'
+        db.delete_table('dae_documentemploye')
+
+        # Deleting model 'Poste'
+        db.delete_table('dae_poste')
+
+        # Deleting model 'TypeRemuneration'
+        db.delete_table('dae_typeremuneration')
+
+        # Deleting model 'PosteFinancement'
+        db.delete_table('dae_postefinancement')
+
+        # Deleting model 'Employe'
+        db.delete_table('dae_employe')
+
+        # Deleting model 'JustificationPoste'
+        db.delete_table('dae_justificationposte')
+
+        # Deleting model 'PosteComparatifExterne'
+        db.delete_table('dae_postecomparatifexterne')
+
+        # Deleting model 'GroupeTypeRemuneration'
+        db.delete_table('dae_groupetyperemuneration')
+
+        # Deleting model 'JustificationEmploye'
+        db.delete_table('dae_justificationemploye')
+
+        # Deleting model 'Remuneration'
+        db.delete_table('dae_remuneration')
+
+
+    models = {
+        'dae.documentemploye': {
+            'Meta': {'object_name': 'DocumentEmploye'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
+        },
+        'dae.documentposte': {
+            'Meta': {'object_name': 'DocumentPoste'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
+        },
+        'dae.dossier': {
+            'Meta': {'object_name': 'Dossier'},
+            'classement': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Classement']"}),
+            'compte_compta': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
+            'compte_courriel': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'contrat_date_debut': ('django.db.models.fields.DateField', [], {}),
+            'contrat_date_fin': ('django.db.models.fields.DateField', [], {}),
+            'contrat_nb_mois': ('django.db.models.fields.IntegerField', [], {}),
+            'devise': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'mobilite_interne': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'organisme_bstg': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.OrganismeBstg']"}),
+            'poste': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Poste']"}),
+            'regime_travail': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
+            'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
+            'remplacement': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'salaire': ('django.db.models.fields.DecimalField', [], {'default': 'None', 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+            'statut': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Statut']"}),
+            'statut_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Statut']"}),
+            'statut_residence': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
+            'type_contrat': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.TypeContrat']"})
+        },
+        'dae.employe': {
+            'Meta': {'object_name': 'Employe'},
+            'genre': ('django.db.models.fields.CharField', [], {'max_length': '1', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'id_rh': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.Employe']"}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'prenom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'dae.groupetyperemuneration': {
+            'Meta': {'object_name': 'GroupeTypeRemuneration'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'ordre': ('django.db.models.fields.IntegerField', [], {})
+        },
+        'dae.justificationemploye': {
+            'Meta': {'object_name': 'JustificationEmploye'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
+        },
+        'dae.justificationposte': {
+            'Meta': {'object_name': 'JustificationPoste'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
+        },
+        'dae.poste': {
+            'Meta': {'object_name': 'Poste'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
+            'appel': ('django.db.models.fields.CharField', [], {'default': "'interne'", 'max_length': '10'}),
+            'autre_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'autre_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'classement_max': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Classement']"}),
+            'classement_min': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Classement']"}),
+            'comp_autre_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_autre_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_fonctionpub_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_fonctionpub_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_locale_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_locale_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_ong_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_ong_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_universite_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'comp_universite_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+            'date_creation': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'date_debut': ('django.db.models.fields.DateField', [], {}),
+            'date_fin': ('django.db.models.fields.DateField', [], {'null': 'True'}),
+            'date_modification': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'devise_comparaison': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.Devise']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'id_rh': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.Poste']"}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']"}),
+            'indemn_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'indemn_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'mise_a_disposition': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'regime_travail': ('django.db.models.fields.DecimalField', [], {'default': '100', 'max_digits': '12', 'decimal_places': '2'}),
+            'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'default': '40', 'max_digits': '12', 'decimal_places': '2'}),
+            'responsable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Poste']"}),
+            'salaire_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'salaire_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+            'service': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Service']"}),
+            'statut_residence': ('django.db.models.fields.CharField', [], {'default': "'MAD'", 'max_length': '10'}),
+            'type_poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.TypePoste']"}),
+            'valeur_point_max': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.ValeurPoint']"}),
+            'valeur_point_min': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.ValeurPoint']"})
+        },
+        'dae.postecomparatifexterne': {
+            'Meta': {'object_name': 'PosteComparatifExterne'},
+            'devise': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'min_max': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
+            'montant': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
+            'poste': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Poste']"}),
+            'type_org': ('django.db.models.fields.CharField', [], {'max_length': '10'})
+        },
+        'dae.postefinancement': {
+            'Meta': {'object_name': 'PosteFinancement'},
+            'commentaire': ('django.db.models.fields.TextField', [], {}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'montant': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
+            'poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'financements'", 'to': "orm['dae.Poste']"}),
+            'pourcentage': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '1'})
+        },
+        'dae.remuneration': {
+            'Meta': {'object_name': 'Remuneration'},
+            'annule': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'date_annule': ('django.db.models.fields.DateField', [], {}),
+            'date_creation': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'date_desactivation': ('django.db.models.fields.DateField', [], {}),
+            'date_effective': ('django.db.models.fields.DateField', [], {}),
+            'desactivation': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'devise': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to_field': "'code'", 'db_column': "'devise'", 'to': "orm['rh_v1.Devise']"}),
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Dossier']", 'db_column': "'dossier'"}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'montant': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
+            'pourcentage': ('django.db.models.fields.IntegerField', [], {}),
+            'type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.TypeRemuneration']", 'db_column': "'type'"}),
+            'user_annule': ('django.db.models.fields.IntegerField', [], {}),
+            'user_creation': ('django.db.models.fields.IntegerField', [], {}),
+            'user_desactivation': ('django.db.models.fields.IntegerField', [], {})
+        },
+        'dae.typeremuneration': {
+            'Meta': {'object_name': 'TypeRemuneration'},
+            'groupe': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.GroupeTypeRemuneration']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'ordre': ('django.db.models.fields.IntegerField', [], {})
+        },
+        'dae.validation': {
+            'Meta': {'object_name': 'Validation'},
+            'date': ('django.db.models.fields.DateField', [], {}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
+        },
+        'dae.validationemploye': {
+            'Meta': {'object_name': 'ValidationEmploye'},
+            'employe': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Employe']"}),
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'})
+        },
+        'dae.validationposte': {
+            'Meta': {'object_name': 'ValidationPoste'},
+            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+            'poste': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Poste']"})
+        },
+        'datamaster_modeles.bureau': {
+            'Meta': {'object_name': 'Bureau', 'db_table': "u'ref_bureau'"},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']", 'db_column': "'implantation'"}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_court': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'nom_long': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'region': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Region']", 'db_column': "'region'"})
+        },
+        'datamaster_modeles.implantation': {
+            'Meta': {'object_name': 'Implantation', 'db_table': "u'ref_implantation'"},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'adresse_physique_bureau': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'adresse_physique_code_postal': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+            'adresse_physique_code_postal_avant_ville': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+            'adresse_physique_no': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+            'adresse_physique_pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'impl_adresse_physique'", 'to_field': "'code'", 'db_column': "'adresse_physique_pays'", 'to': "orm['datamaster_modeles.Pays']"}),
+            'adresse_physique_precision': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'adresse_physique_precision_avant': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'adresse_physique_region': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'adresse_physique_rue': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'adresse_physique_ville': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'adresse_postale_boite_postale': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_bureau': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_code_postal': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_code_postal_avant_ville': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+            'adresse_postale_no': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'impl_adresse_postale'", 'to_field': "'code'", 'db_column': "'adresse_postale_pays'", 'to': "orm['datamaster_modeles.Pays']"}),
+            'adresse_postale_precision': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_precision_avant': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_region': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_rue': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'adresse_postale_ville': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'bureau_rattachement': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']", 'db_column': "'bureau_rattachement'"}),
+            'code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
+            'code_meteo': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'commentaire': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'courriel': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+            'courriel_interne': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+            'date_extension': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_fermeture': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_inauguration': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_ouverture': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'fax': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'fax_interne': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'fuseau_horaire': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'hebergement_convention': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+            'hebergement_convention_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'hebergement_etablissement': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'modif_date': ('django.db.models.fields.DateField', [], {}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_court': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'nom_long': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'region': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Region']", 'db_column': "'region'"}),
+            'remarque': ('django.db.models.fields.TextField', [], {}),
+            'responsable_implantation': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+            'statut': ('django.db.models.fields.IntegerField', [], {}),
+            'telephone': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'telephone_interne': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'url': ('django.db.models.fields.URLField', [], {'max_length': '255', 'blank': 'True'})
+        },
+        'datamaster_modeles.pays': {
+            'Meta': {'object_name': 'Pays', 'db_table': "u'ref_pays'"},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2'}),
+            'code_bureau': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Bureau']", 'to_field': "'code'", 'db_column': "'code_bureau'"}),
+            'code_iso3': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '3', 'blank': 'True'}),
+            'developpement': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'monnaie': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nord_sud': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'region': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Region']", 'db_column': "'region'"})
+        },
+        'datamaster_modeles.region': {
+            'Meta': {'object_name': 'Region', 'db_table': "u'ref_region'"},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'implantation_bureau': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'gere_region'", 'db_column': "'implantation_bureau'", 'to': "orm['datamaster_modeles.Implantation']"}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.classement': {
+            'Meta': {'object_name': 'Classement'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'coefficient': ('django.db.models.fields.FloatField', [], {}),
+            'commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'degre': ('django.db.models.fields.IntegerField', [], {}),
+            'echelon': ('django.db.models.fields.IntegerField', [], {}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '10'})
+        },
+        'rh_v1.devise': {
+            'Meta': {'object_name': 'Devise'},
+            'code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '10'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.employe': {
+            'Meta': {'object_name': 'Employe'},
+            'adresse': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'code_postal': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'date_creation': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'date_entree': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_maj': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'date_naissance': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'genre': ('django.db.models.fields.CharField', [], {'max_length': '1', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nationalite': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'nationalite'", 'to_field': "'code'", 'db_column': "'nationalite'", 'to': "orm['datamaster_modeles.Pays']"}),
+            'no_rue': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'pays'", 'db_column': "'pays'", 'to_field': "'code'", 'to': "orm['datamaster_modeles.Pays']", 'blank': 'True', 'null': 'True'}),
+            'prenom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'province': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'situation_famille': ('django.db.models.fields.CharField', [], {'max_length': '1', 'null': 'True', 'blank': 'True'}),
+            'tel_cellulaire': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'tel_domicile': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'ville': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
+        },
+        'rh_v1.familleemploi': {
+            'Meta': {'object_name': 'FamilleEmploi'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.organismebstg': {
+            'Meta': {'object_name': 'OrganismeBstg'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '10'})
+        },
+        'rh_v1.poste': {
+            'Meta': {'object_name': 'Poste'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'date_modification': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'implantation'", 'to': "orm['datamaster_modeles.Implantation']"}),
+            'proportion': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
+            'type_poste': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['rh_v1.TypePoste']", 'db_column': "'type_poste'"})
+        },
+        'rh_v1.service': {
+            'Meta': {'object_name': 'Service'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.statut': {
+            'Meta': {'object_name': 'Statut'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '25'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'type_contrat_categorie': ('django.db.models.fields.CharField', [], {'max_length': '10'})
+        },
+        'rh_v1.typecontrat': {
+            'Meta': {'object_name': 'TypeContrat'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'categorie': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_long': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.typeposte': {
+            'Meta': {'object_name': 'TypePoste'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'date_modification': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'famille_emploi': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['rh_v1.FamilleEmploi']", 'db_column': "'famille_emploi'"}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'is_responsable': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_feminin': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.valeurpoint': {
+            'Meta': {'object_name': 'ValeurPoint'},
+            'annee': ('django.db.models.fields.IntegerField', [], {}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']", 'db_column': "'implantation'"}),
+            'valeur': ('django.db.models.fields.FloatField', [], {})
+        }
+    }
+
+    complete_apps = ['dae']
diff --git a/project/dae/migrations/__init__.py b/project/dae/migrations/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
index cd10ea9..49940ed 100644 (file)
@@ -2,17 +2,17 @@
 from django.db import models
 
 import datamaster_modeles.models as ref
-import rh_v1.models as rh
+import project.rh_v1.models as rh
 
 
 STATUT_RESIDENCE_CHOICES = (
-    ('local', 'local'),
-    ('expat', 'expatrié'),
+    ('local', 'Local'),
+    ('expat', 'Expatrié'),
 )
 
 POSTE_APPEL_CHOICES = (
-    ('interne', 'interne'),
-    ('externe', 'externe'),
+    ('interne', 'Interne'),
+    ('externe', 'Externe'),
 )
 
 POSTE_STATUT_CHOICES = (
@@ -22,53 +22,84 @@ POSTE_STATUT_CHOICES = (
 
 
 class Poste(models.Model):
-    id = models.IntegerField(primary_key=True)
-
     # Modèle existant
-    id_rh = models.ForeignKey('rh.Poste', null=True)
+    id_rh = models.ForeignKey(rh.Poste, null=True, related_name='+',
+                              editable=False)
     nom = models.CharField(max_length=255)
-    implantation = models.ForeignKey('ref.Implantation')
-    type_poste = models.ForeignKey('rh.TypePoste', null=True)
-    service = models.ForeignKey('rh.Service')
-    responsable = models.ForeignKey('rh.Poste')
-    regime_travail = models.DecimalField(max_digit=12, decimal_places=2)
-    regime_complet_nb_heure_semaine = models.DecimalField(max_digit=12,
-                                                          decimal_places=2)
-    regime_travail_nb_heure_semaine = models.DecimalField(max_digit=12,
-                                                          decimal_places=2)
+    implantation = models.ForeignKey(ref.Implantation)
+    type_poste = models.ForeignKey(rh.TypePoste, null=True, related_name='+')
+    service = models.ForeignKey(rh.Service, related_name='+')
+    responsable = models.ForeignKey(rh.Poste, related_name='+')
+    regime_travail = models.DecimalField(max_digits=12, decimal_places=2,
+                                         default=100)
+    regime_travail_nb_heure_semaine = models.DecimalField(max_digits=12,
+                                                          decimal_places=2,
+                                                          default=40)
 
     # Recrutement
-    statut_residence = models.CharField(max_length=10,
+    statut_residence = models.CharField(max_length=10, default='MAD',
                                         choices=STATUT_RESIDENCE_CHOICES)
-    mise_a_disposition = models.BooleanField(null=True)
-    appel = models.CharField(max_length=10, choices=POSTE_APPEL_CHOICES)
+    # TODO null?
+    mise_a_disposition = models.BooleanField()
+    appel = models.CharField(max_length=10, default='interne',
+                             choices=POSTE_APPEL_CHOICES)
 
     # Rémunération
-    classement_min = models.ForeignKey('rh.Classement')
-    classement_max = models.ForeignKey('rh.Classement')
-    valeur_point_min = models.ForeignKey('rh.ValeurPoint')
-    valeur_point_max = models.ForeignKey('rh.ValeurPoint')
-    salaire_min = models.DecimalField(max_digit=12, decimal_places=2)
-    salaire_max = models.DecimalField(max_digit=12, decimal_places=2)
-    indemn_min = models.DecimalField(max_digit=12, decimal_places=2)
-    indemn_max = models.DecimalField(max_digit=12, decimal_places=2)
-    autre_min = models.DecimalField(max_digit=12, decimal_places=2)
-    autre_max = models.DecimalField(max_digit=12, decimal_places=2)
-    postes_similaires = ManyToManyField('Poste')
+    classement_min = models.ForeignKey(rh.Classement, related_name='+')
+    classement_max = models.ForeignKey(rh.Classement, related_name='+')
+    valeur_point_min = models.ForeignKey(rh.ValeurPoint, related_name='+')
+    valeur_point_max = models.ForeignKey(rh.ValeurPoint, related_name='+')
+    salaire_min = models.DecimalField(max_digits=12, decimal_places=2,
+                                      default=0)
+    salaire_max = models.DecimalField(max_digits=12, decimal_places=2,
+                                      default=0)
+    indemn_min = models.DecimalField(max_digits=12, decimal_places=2,
+                                      default=0)
+    indemn_max = models.DecimalField(max_digits=12, decimal_places=2,
+                                      default=0)
+    autre_min = models.DecimalField(max_digits=12, decimal_places=2,
+                                      default=0)
+    autre_max = models.DecimalField(max_digits=12, decimal_places=2,
+                                      default=0)
+
+    # Comparatifs de rémunération
+    devise_comparaison = models.ForeignKey(rh.Devise, related_name='+',
+                                           null=True, blank=True)
+    comp_locale_min = models.DecimalField(max_digits=12, decimal_places=2,
+                                          null=True, blank=True)
+    comp_locale_max = models.DecimalField(max_digits=12, decimal_places=2,
+                                          null=True, blank=True)
+    comp_universite_min = models.DecimalField(max_digits=12, decimal_places=2,
+                                              null=True, blank=True)
+    comp_universite_max = models.DecimalField(max_digits=12, decimal_places=2,
+                                              null=True, blank=True)
+    comp_fonctionpub_min = models.DecimalField(max_digits=12, decimal_places=2,
+                                               null=True, blank=True)
+    comp_fonctionpub_max = models.DecimalField(max_digits=12, decimal_places=2,
+                                               null=True, blank=True)
+    comp_ong_min = models.DecimalField(max_digits=12, decimal_places=2,
+                                       null=True, blank=True)
+    comp_ong_max = models.DecimalField(max_digits=12, decimal_places=2,
+                                       null=True, blank=True)
+    comp_autre_min = models.DecimalField(max_digits=12, decimal_places=2,
+                                         null=True, blank=True)
+    comp_autre_max = models.DecimalField(max_digits=12, decimal_places=2,
+                                         null=True, blank=True)
 
     # Méta
-    date_creation = models.DateField()
-    date_modification = models.DateField(auto_now=True)
+    date_creation = models.DateTimeField(auto_now_add=True)
+    date_modification = models.DateTimeField(auto_now=True)
     date_debut = models.DateField()
     date_fin = models.DateField(null=True)
-    nb_mois = models.TimeField()
     actif = models.BooleanField(default=True)
 
-    def save(self, *args, **kwargs):
+    def __unicode__(self):
+        return u'%s - %s (%s)' % (self.implantation, self.type_poste.nom,
+                                  self.nom)
+
+    def DISABLED_save(self, *args, **kwargs):
         # calculate nb_mois = nb of months between date_debut and date_fin
         from datetime import date
-        delta = self.date_fin - self.date_debut
-        nb_mois = delta.months
         if not self.salaire_min:
             self.salaire_min = self.classement_min * self.valeur_point_min
         if not self.salaire_max:
@@ -99,34 +130,31 @@ TYPE_ORG_CHOICES = (
 
 class PosteComparatifExterne(models.Model):
     poste = models.ForeignKey('Poste')
-    montant = models.DecimalField(max_digit=12, decimal_places=2)
-    devise = models.ForeignKey('rh.Devise', default='EUR')
+    montant = models.DecimalField(max_digits=12, decimal_places=2)
+    # TODO default='EUR'
+    devise = models.ForeignKey(rh.Devise, related_name='+')
     min_max = models.CharField(max_length=10, choices=MIN_MAX_CHOICES)
     type_org = models.CharField(max_length=10, choices=TYPE_ORG_CHOICES)
 
 
-class PosteFinancement(models.Model):
-    montant = models.DecimalField(max_digit=12, decimal_places=2)
-    poste = models.ForeignKey('Poste')
-    pourcentage = models.DecimalField(max_digit=12, decimal_places=2)
-    commentaire = models.TextField()
-
-
-class PosteFinancementFraisPersonnel(models.Model):
-    source = models.ForeignKey('ref.LigneBudgetaire', null=True)
-
-
-class PosteFinancementProjet(models.Model):
-    source = models.ForeignKey('ref.Project', null=True)
+POSTE_FINANCEMENT_CHOICES = (
+    ('A', 'A - Frais de personnel'),
+    ('B', 'B - Projet(s)-Titre(s)'),
+    ('C', 'C - Autre')
+)
 
 
-class PosteFinancementAutre(models.Model):
-    source = models.TextField()
+class PosteFinancement(models.Model):
+    montant = models.DecimalField(max_digits=12, decimal_places=2)
+    poste = models.ForeignKey('Poste', related_name='financements')
+    type = models.CharField(max_length=1, choices=POSTE_FINANCEMENT_CHOICES)
+    pourcentage = models.DecimalField(max_digits=12, decimal_places=2)
+    commentaire = models.TextField()
 
 
 GENRE_CHOICES = (
-    ('m', 'masculin'),
-    ('f', 'féminin'),
+    ('m', 'Masculin'),
+    ('f', 'Féminin'),
 )
 
 
@@ -134,7 +162,7 @@ class Employe(models.Model):
     id = models.IntegerField(primary_key=True)
 
     # Modèle existant
-    id_rh = models.ForeignKey('rh.Employee', null=True)
+    id_rh = models.ForeignKey(rh.Employe, null=True, related_name='+')
     nom = models.CharField(max_length=255)
     prenom = models.CharField(max_length=255)
     genre = models.CharField(max_length=1,
@@ -151,12 +179,12 @@ COMPTE_COMPTA_CHOICES = (
 
 
 class Dossier(models.Model):
-    statut_anterieur = models.ForeignKey('rh.Statut')
+    statut_anterieur = models.ForeignKey(rh.Statut, related_name='+')
 
     # Modèle existant
     poste = models.ForeignKey('Poste')
-    statut = models.ForeignKey('rh.Statut')
-    organisme_bstg = models.ForeignKey('rh.OrganismeBstg')
+    statut = models.ForeignKey(rh.Statut, related_name='+')
+    organisme_bstg = models.ForeignKey(rh.OrganismeBstg, related_name='+')
 
     # Recrutement
     remplacement = models.BooleanField()
@@ -165,20 +193,21 @@ class Dossier(models.Model):
                                         choices=STATUT_RESIDENCE_CHOICES)
 
     # Rémunération
-    classement = models.ForeignKey('rh.Classement',
-                                   verbose_name='Classement proposé')
-    salaire = models.DecimalField(max_digit=12,
+    classement = models.ForeignKey(rh.Classement,
+                                   verbose_name='Classement proposé',
+                                   related_name='+')
+    salaire = models.DecimalField(max_digits=12,
                                   decimal_places=2,
                                   verbose_name='Salaire de base',
                                   null=True,
                                   default=None)
-    devise = models.ForeignKey('rh.Devise')
-    regime_travail = models.DecimalField(max_digit=12, decimal_places=2)
+    devise = models.ForeignKey(rh.Devise, related_name='+')
+    regime_travail = models.DecimalField(max_digits=12, decimal_places=2)
     regime_travail_nb_heure_semaine = \
-        models.DecimalField(max_digit=12, decimal_places=2)
+        models.DecimalField(max_digits=12, decimal_places=2)
 
     # Contrat
-    type_contrat = models.ForeignKey('rh.TypeContrat')
+    type_contrat = models.ForeignKey(rh.TypeContrat, related_name='+')
     contrat_date_debut = models.DateField()
     contrat_date_fin = models.DateField()
     contrat_nb_mois = models.IntegerField()
@@ -190,20 +219,21 @@ class Dossier(models.Model):
 
 
 class Remuneration(models.Model):
-    #Identification
+    # Identification
     id = models.IntegerField(primary_key=True)
     dossier = models.ForeignKey('Dossier', db_column='dossier')
     type = models.ForeignKey('TypeRemuneration', db_column='type')
-    type_revalorisation = models.ForeignKey('TypeRevalorisation',
-                                            db_column='type_revalorisation')
-    montant = models.DecimalField(max_digit=12, decimal_places=2)
-    devise = models.ForeignKey('rh.Devise',
+    # TODO: what's that?
+    # type_revalorisation = models.ForeignKey('TypeRevalorisation',
+                                            # db_column='type_revalorisation')
+    montant = models.DecimalField(max_digits=12, decimal_places=2)
+    devise = models.ForeignKey(rh.Devise,
                                to_field='code',
-                               db_column='devise')
+                               db_column='devise', related_name='+')
     date_effective = models.DateField()
     pourcentage = models.IntegerField()
 
-    #Méta
+    # Méta
     date_creation = models.DateField(auto_now_add=True)
     user_creation = models.IntegerField()
     desactivation = models.BooleanField()
diff --git a/project/dae/templates/dae/index.html b/project/dae/templates/dae/index.html
new file mode 100644 (file)
index 0000000..fa953e3
--- /dev/null
@@ -0,0 +1,7 @@
+{% extends 'base.html' %}
+{% block title %}
+  Autorisation d'embauche
+{% endblock %}
+{% block content %}
+  <a href="{% url poste %}">Poste</a>
+{% endblock %}
diff --git a/project/dae/templates/dae/poste.html b/project/dae/templates/dae/poste.html
new file mode 100644 (file)
index 0000000..06518d7
--- /dev/null
@@ -0,0 +1,17 @@
+{% extends 'base.html' %}
+{% block title %}
+  Formulaire poste
+{% endblock %}
+{% block content %}
+  <form action="" method="post">
+    <table cellspacing="0">
+      {{ form.as_table }}
+    </table>
+    <input type="submit" name="submit" value="Sauvegarder" />
+  </form>
+  <script type="text/javascript">
+    $('#id_poste').change(function() {
+        window.location = '{% url poste %}/' + $(this).val();
+    });
+  </script>
+{% endblock %}
diff --git a/project/dae/urls.py b/project/dae/urls.py
new file mode 100644 (file)
index 0000000..900a5ee
--- /dev/null
@@ -0,0 +1,9 @@
+# -*- encoding: utf-8 -*
+from django.conf.urls.defaults import patterns, url
+
+urlpatterns = patterns(
+    'project.dae.views',
+    (r'^$', 'index'),
+    url(r'^poste$', 'poste', name='poste'),
+    url(r'^poste/(?P<id>.*)$', 'poste', name='poste'),
+)
index 60f00ef..3904725 100644 (file)
@@ -1 +1,52 @@
-# Create your views here.
+# -*- encoding: utf-8 -*-
+from django.shortcuts import redirect, render_to_response, get_object_or_404
+from django.template import RequestContext
+
+from project.dae.forms import PosteForm
+from project.dae import models as dae
+from project.rh_v1 import models as rh
+
+
+def index(request):
+    return render_to_response('dae/index.html', {}, RequestContext(request))
+
+
+def poste(request, id=None):
+    """ Formulaire pour un poste.
+
+    Permet de créer ou modifier un poste. Si le poste n'existe que dans rh_v1
+    il est automatiquement copié dans dae.
+
+    """
+    poste, data, vars = None, dict(), dict()
+
+    if request.POST:
+        data.update(dict(request.POST.items()))
+
+    if id:
+        # Poste existant
+        data['poste'] = id
+        type, id = id.split('-')
+
+        if type == 'dae':
+            poste = get_object_or_404(dae.Poste, pk=id)
+        elif type == 'rh':
+            p = get_object_or_404(rh.Poste, id=id)
+            # 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', 'actif'):
+                setattr(poste, field, getattr(p, field))
+
+    if request.POST:
+        form = PosteForm(data, instance=poste)
+        if form.is_valid():
+            poste = form.save()
+            return redirect('poste', id='dae-%s' % poste.id)
+    else:
+        # 'initial' évite la validation prémature lors d'une copie de poste de
+        # rh_v1 vers dae.
+        form = PosteForm(initial=data, instance=poste)
+
+    vars['form'] = form
+
+    return render_to_response('dae/poste.html', vars, RequestContext(request))
diff --git a/project/rh_v1/migrations/0001_initial.py b/project/rh_v1/migrations/0001_initial.py
new file mode 100644 (file)
index 0000000..8a598f1
--- /dev/null
@@ -0,0 +1,553 @@
+# encoding: utf-8
+import datetime
+from south.db import db
+from south.v2 import SchemaMigration
+from django.db import models
+
+class Migration(SchemaMigration):
+
+    def forwards(self, orm):
+        
+        # Adding model 'Employe'
+        db.create_table('rh_v1_employe', (
+            ('id', self.gf('django.db.models.fields.IntegerField')(primary_key=True)),
+            ('nom', self.gf('django.db.models.fields.CharField')(max_length=255)),
+            ('prenom', self.gf('django.db.models.fields.CharField')(max_length=255)),
+            ('nationalite', self.gf('django.db.models.fields.related.ForeignKey')(related_name='nationalite', db_column='nationalite', to=orm['datamaster_modeles.Pays'])),
+            ('date_naissance', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
+            ('genre', self.gf('django.db.models.fields.CharField')(max_length=1, null=True, blank=True)),
+            ('situation_famille', self.gf('django.db.models.fields.CharField')(max_length=1, null=True, blank=True)),
+            ('date_entree', self.gf('django.db.models.fields.DateField')(null=True, blank=True)),
+            ('tel_domicile', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
+            ('tel_cellulaire', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
+            ('adresse', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
+            ('no_rue', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
+            ('ville', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
+            ('province', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
+            ('code_postal', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
+            ('pays', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='pays', null=True, db_column='pays', to=orm['datamaster_modeles.Pays'])),
+            ('date_creation', self.gf('django.db.models.fields.DateField')(auto_now_add=True, blank=True)),
+            ('date_maj', self.gf('django.db.models.fields.DateField')(auto_now=True, blank=True)),
+            ('commentaire', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+        ))
+        db.send_create_signal('rh_v1', ['Employe'])
+
+        # Adding model 'Dossier'
+        db.create_table('rh_v1_dossier', (
+            ('id', self.gf('django.db.models.fields.IntegerField')(primary_key=True)),
+            ('code', self.gf('django.db.models.fields.CharField')(unique=True, max_length=10)),
+            ('employe', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['rh_v1.Employe'], db_column='employe')),
+            ('poste1', self.gf('django.db.models.fields.related.ForeignKey')(related_name='poste1', db_column='poste1', to=orm['rh_v1.Poste'])),
+            ('implantation1', self.gf('django.db.models.fields.related.ForeignKey')(related_name='implantation1', db_column='implantation1', to=orm['datamaster_modeles.Implantation'])),
+            ('complement1', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+            ('responsable_implantation1', self.gf('django.db.models.fields.IntegerField')()),
+            ('poste2', self.gf('django.db.models.fields.related.ForeignKey')(blank=True, related_name='poste2', null=True, db_column='poste2', to=orm['rh_v1.Poste'])),
+            ('implantation2', self.gf('django.db.models.fields.related.ForeignKey')(related_name='implantation2', db_column='implantation2', to=orm['datamaster_modeles.Implantation'])),
+            ('complement2', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+            ('responsable_implantation2', self.gf('django.db.models.fields.IntegerField')()),
+            ('service', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['rh_v1.Service'], db_column='service')),
+            ('responsable', self.gf('django.db.models.fields.related.ForeignKey')(related_name='responsable', db_column='responsable', to=orm['rh_v1.Employe'])),
+            ('remplacement_de', self.gf('django.db.models.fields.related.ForeignKey')(related_name='remplacement_de', db_column='remplacement_de', to=orm['rh_v1.Employe'])),
+            ('type', self.gf('django.db.models.fields.CharField')(max_length=1)),
+            ('statut', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['rh_v1.Statut'], db_column='statut')),
+            ('organisme_bstg', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['rh_v1.OrganismeBstg'], db_column='organisme_bstg')),
+            ('classement', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['rh_v1.Classement'], db_column='classement')),
+            ('regime_travail', self.gf('django.db.models.fields.IntegerField')()),
+            ('mandat_date_debut', self.gf('django.db.models.fields.DateField')()),
+            ('mandat_date_fin', self.gf('django.db.models.fields.DateField')()),
+            ('contrat_date_debut', self.gf('django.db.models.fields.DateField')()),
+            ('contrat_date_fin', self.gf('django.db.models.fields.DateField')()),
+            ('type_contrat', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['rh_v1.TypeContrat'], db_column='type_contrat')),
+            ('date_creation', self.gf('django.db.models.fields.DateField')(auto_now_add=True, blank=True)),
+            ('date_maj', self.gf('django.db.models.fields.DateField')(auto_now=True, blank=True)),
+            ('commentaire', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+        ))
+        db.send_create_signal('rh_v1', ['Dossier'])
+
+        # Adding model 'AyantDroit'
+        db.create_table('rh_v1_ayantdroit', (
+            ('id', self.gf('django.db.models.fields.IntegerField')(primary_key=True)),
+            ('nom', self.gf('django.db.models.fields.CharField')(max_length=255)),
+            ('prenom', self.gf('django.db.models.fields.CharField')(max_length=255)),
+            ('employe', self.gf('django.db.models.fields.related.ForeignKey')(related_name='employe', db_column='employe', to=orm['rh_v1.Employe'])),
+            ('lien_parente', self.gf('django.db.models.fields.CharField')(max_length=10, null=True, blank=True)),
+            ('commentaire', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+            ('actif', self.gf('django.db.models.fields.BooleanField')(default=False)),
+        ))
+        db.send_create_signal('rh_v1', ['AyantDroit'])
+
+        # Adding model 'Remuneration'
+        db.create_table('rh_v1_remuneration', (
+            ('id', self.gf('django.db.models.fields.IntegerField')(primary_key=True)),
+            ('dossier', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['rh_v1.Dossier'], db_column='dossier')),
+            ('type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['rh_v1.TypeRemuneration'], db_column='type')),
+            ('type_revalorisation', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['rh_v1.TypeRevalorisation'], db_column='type_revalorisation')),
+            ('montant', self.gf('django.db.models.fields.FloatField')()),
+            ('devise', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['rh_v1.Devise'], to_field='code', db_column='devise')),
+            ('date_effective', self.gf('django.db.models.fields.DateField')()),
+            ('pourcentage', self.gf('django.db.models.fields.IntegerField')()),
+            ('date_creation', self.gf('django.db.models.fields.DateField')(auto_now_add=True, blank=True)),
+            ('user_creation', self.gf('django.db.models.fields.IntegerField')()),
+            ('desactivation', self.gf('django.db.models.fields.BooleanField')(default=False)),
+            ('date_desactivation', self.gf('django.db.models.fields.DateField')()),
+            ('user_desactivation', self.gf('django.db.models.fields.IntegerField')()),
+            ('annule', self.gf('django.db.models.fields.BooleanField')(default=False)),
+            ('date_annule', self.gf('django.db.models.fields.DateField')()),
+            ('user_annule', self.gf('django.db.models.fields.IntegerField')()),
+        ))
+        db.send_create_signal('rh_v1', ['Remuneration'])
+
+        # Adding model 'FamilleEmploi'
+        db.create_table('rh_v1_familleemploi', (
+            ('id', self.gf('django.db.models.fields.IntegerField')(primary_key=True)),
+            ('nom', self.gf('django.db.models.fields.CharField')(max_length=255)),
+            ('actif', self.gf('django.db.models.fields.BooleanField')(default=False)),
+        ))
+        db.send_create_signal('rh_v1', ['FamilleEmploi'])
+
+        # Adding model 'TypePoste'
+        db.create_table('rh_v1_typeposte', (
+            ('id', self.gf('django.db.models.fields.IntegerField')(primary_key=True)),
+            ('nom', self.gf('django.db.models.fields.CharField')(max_length=255)),
+            ('nom_feminin', self.gf('django.db.models.fields.CharField')(max_length=255)),
+            ('description', self.gf('django.db.models.fields.CharField')(max_length=255)),
+            ('is_responsable', self.gf('django.db.models.fields.BooleanField')(default=False)),
+            ('famille_emploi', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['rh_v1.FamilleEmploi'], db_column='famille_emploi')),
+            ('date_modification', self.gf('django.db.models.fields.DateField')(auto_now=True, blank=True)),
+            ('actif', self.gf('django.db.models.fields.BooleanField')(default=False)),
+        ))
+        db.send_create_signal('rh_v1', ['TypePoste'])
+
+        # Adding model 'TypeRemuneration'
+        db.create_table('rh_v1_typeremuneration', (
+            ('id', self.gf('django.db.models.fields.IntegerField')(primary_key=True)),
+            ('nom', self.gf('django.db.models.fields.CharField')(max_length=255)),
+            ('type_paiement', self.gf('django.db.models.fields.CharField')(max_length=30)),
+            ('nature_remuneration', self.gf('django.db.models.fields.CharField')(max_length=30)),
+            ('actif', self.gf('django.db.models.fields.BooleanField')(default=False)),
+        ))
+        db.send_create_signal('rh_v1', ['TypeRemuneration'])
+
+        # Adding model 'TypeRevalorisation'
+        db.create_table('rh_v1_typerevalorisation', (
+            ('id', self.gf('django.db.models.fields.IntegerField')(primary_key=True)),
+            ('nom', self.gf('django.db.models.fields.CharField')(max_length=255)),
+            ('actif', self.gf('django.db.models.fields.BooleanField')(default=False)),
+        ))
+        db.send_create_signal('rh_v1', ['TypeRevalorisation'])
+
+        # Adding model 'Poste'
+        db.create_table('rh_v1_poste', (
+            ('id', self.gf('django.db.models.fields.IntegerField')(primary_key=True)),
+            ('implantation', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['datamaster_modeles.Implantation'], db_column='implantation')),
+            ('type_poste', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['rh_v1.TypePoste'], db_column='type_poste')),
+            ('proportion', self.gf('django.db.models.fields.CharField')(max_length=10)),
+            ('date_modification', self.gf('django.db.models.fields.DateField')(auto_now=True, blank=True)),
+            ('actif', self.gf('django.db.models.fields.BooleanField')(default=False)),
+        ))
+        db.send_create_signal('rh_v1', ['Poste'])
+
+        # Adding model 'Service'
+        db.create_table('rh_v1_service', (
+            ('id', self.gf('django.db.models.fields.IntegerField')(primary_key=True)),
+            ('nom', self.gf('django.db.models.fields.CharField')(max_length=255)),
+            ('actif', self.gf('django.db.models.fields.BooleanField')(default=False)),
+        ))
+        db.send_create_signal('rh_v1', ['Service'])
+
+        # Adding model 'OrganismeBstg'
+        db.create_table('rh_v1_organismebstg', (
+            ('id', self.gf('django.db.models.fields.IntegerField')(primary_key=True)),
+            ('nom', self.gf('django.db.models.fields.CharField')(max_length=255)),
+            ('type', self.gf('django.db.models.fields.CharField')(max_length=10)),
+            ('actif', self.gf('django.db.models.fields.BooleanField')(default=False)),
+        ))
+        db.send_create_signal('rh_v1', ['OrganismeBstg'])
+
+        # Adding model 'Statut'
+        db.create_table('rh_v1_statut', (
+            ('id', self.gf('django.db.models.fields.IntegerField')(primary_key=True)),
+            ('code', self.gf('django.db.models.fields.CharField')(unique=True, max_length=25)),
+            ('nom', self.gf('django.db.models.fields.CharField')(max_length=255)),
+            ('type_contrat_categorie', self.gf('django.db.models.fields.CharField')(max_length=10)),
+            ('actif', self.gf('django.db.models.fields.BooleanField')(default=False)),
+        ))
+        db.send_create_signal('rh_v1', ['Statut'])
+
+        # Adding model 'Classement'
+        db.create_table('rh_v1_classement', (
+            ('id', self.gf('django.db.models.fields.IntegerField')(primary_key=True)),
+            ('type', self.gf('django.db.models.fields.CharField')(max_length=10)),
+            ('echelon', self.gf('django.db.models.fields.IntegerField')()),
+            ('degre', self.gf('django.db.models.fields.IntegerField')()),
+            ('coefficient', self.gf('django.db.models.fields.FloatField')()),
+            ('commentaire', self.gf('django.db.models.fields.TextField')(null=True, blank=True)),
+            ('date_modification', self.gf('django.db.models.fields.DateField')(auto_now=True, blank=True)),
+            ('actif', self.gf('django.db.models.fields.BooleanField')(default=False)),
+        ))
+        db.send_create_signal('rh_v1', ['Classement'])
+
+        # Adding model 'ValeurPoint'
+        db.create_table('rh_v1_valeurpoint', (
+            ('id', self.gf('django.db.models.fields.IntegerField')(primary_key=True)),
+            ('valeur', self.gf('django.db.models.fields.FloatField')()),
+            ('implantation', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['datamaster_modeles.Implantation'], db_column='implantation')),
+            ('annee', self.gf('django.db.models.fields.IntegerField')()),
+        ))
+        db.send_create_signal('rh_v1', ['ValeurPoint'])
+
+        # Adding model 'TauxChange'
+        db.create_table('rh_v1_tauxchange', (
+            ('id', self.gf('django.db.models.fields.IntegerField')(primary_key=True)),
+            ('devise', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['rh_v1.Devise'], to_field='code', db_column='devise')),
+            ('annee', self.gf('django.db.models.fields.IntegerField')()),
+            ('taux', self.gf('django.db.models.fields.FloatField')()),
+            ('implantation', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['datamaster_modeles.Implantation'], db_column='implantation')),
+        ))
+        db.send_create_signal('rh_v1', ['TauxChange'])
+
+        # Adding model 'Devise'
+        db.create_table('rh_v1_devise', (
+            ('id', self.gf('django.db.models.fields.IntegerField')(primary_key=True)),
+            ('code', self.gf('django.db.models.fields.CharField')(unique=True, max_length=10)),
+            ('nom', self.gf('django.db.models.fields.CharField')(max_length=255)),
+        ))
+        db.send_create_signal('rh_v1', ['Devise'])
+
+        # Adding model 'TypeContrat'
+        db.create_table('rh_v1_typecontrat', (
+            ('id', self.gf('django.db.models.fields.IntegerField')(primary_key=True)),
+            ('nom', self.gf('django.db.models.fields.CharField')(max_length=255)),
+            ('nom_long', self.gf('django.db.models.fields.CharField')(max_length=255)),
+            ('categorie', self.gf('django.db.models.fields.CharField')(max_length=10)),
+            ('actif', self.gf('django.db.models.fields.BooleanField')(default=False)),
+        ))
+        db.send_create_signal('rh_v1', ['TypeContrat'])
+
+
+    def backwards(self, orm):
+        
+        # Deleting model 'Employe'
+        db.delete_table('rh_v1_employe')
+
+        # Deleting model 'Dossier'
+        db.delete_table('rh_v1_dossier')
+
+        # Deleting model 'AyantDroit'
+        db.delete_table('rh_v1_ayantdroit')
+
+        # Deleting model 'Remuneration'
+        db.delete_table('rh_v1_remuneration')
+
+        # Deleting model 'FamilleEmploi'
+        db.delete_table('rh_v1_familleemploi')
+
+        # Deleting model 'TypePoste'
+        db.delete_table('rh_v1_typeposte')
+
+        # Deleting model 'TypeRemuneration'
+        db.delete_table('rh_v1_typeremuneration')
+
+        # Deleting model 'TypeRevalorisation'
+        db.delete_table('rh_v1_typerevalorisation')
+
+        # Deleting model 'Poste'
+        db.delete_table('rh_v1_poste')
+
+        # Deleting model 'Service'
+        db.delete_table('rh_v1_service')
+
+        # Deleting model 'OrganismeBstg'
+        db.delete_table('rh_v1_organismebstg')
+
+        # Deleting model 'Statut'
+        db.delete_table('rh_v1_statut')
+
+        # Deleting model 'Classement'
+        db.delete_table('rh_v1_classement')
+
+        # Deleting model 'ValeurPoint'
+        db.delete_table('rh_v1_valeurpoint')
+
+        # Deleting model 'TauxChange'
+        db.delete_table('rh_v1_tauxchange')
+
+        # Deleting model 'Devise'
+        db.delete_table('rh_v1_devise')
+
+        # Deleting model 'TypeContrat'
+        db.delete_table('rh_v1_typecontrat')
+
+
+    models = {
+        'datamaster_modeles.bureau': {
+            'Meta': {'object_name': 'Bureau', 'db_table': "u'ref_bureau'"},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']", 'db_column': "'implantation'"}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_court': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'nom_long': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'region': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Region']", 'db_column': "'region'"})
+        },
+        'datamaster_modeles.implantation': {
+            'Meta': {'ordering': "('nom',)", 'object_name': 'Implantation', 'db_table': "u'ref_implantation'"},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            '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'", 'db_column': "'adresse_physique_pays'", 'to': "orm['datamaster_modeles.Pays']"}),
+            'adresse_physique_precision': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'adresse_physique_precision_avant': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'adresse_physique_region': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'adresse_physique_rue': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'adresse_physique_ville': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'adresse_postale_boite_postale': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'adresse_postale_bureau': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'adresse_postale_code_postal': ('django.db.models.fields.CharField', [], {'max_length': '20', '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', 'blank': 'True'}),
+            'adresse_postale_pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'impl_adresse_postale'", 'db_column': "'adresse_postale_pays'", 'to': "orm['datamaster_modeles.Pays']"}),
+            'adresse_postale_precision': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'adresse_postale_precision_avant': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'adresse_postale_region': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'adresse_postale_rue': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'adresse_postale_ville': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'bureau_rattachement': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']", 'db_column': "'bureau_rattachement'"}),
+            'code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
+            'code_meteo': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'commentaire': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'courriel': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+            'courriel_interne': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+            'date_extension': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_fermeture': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_inauguration': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_ouverture': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'fax': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'fax_interne': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'fuseau_horaire': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'hebergement_convention': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+            'hebergement_convention_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'hebergement_etablissement': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'modif_date': ('django.db.models.fields.DateField', [], {}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_court': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'nom_long': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'region': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Region']", 'db_column': "'region'"}),
+            'remarque': ('django.db.models.fields.TextField', [], {}),
+            'responsable_implantation': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
+            'statut': ('django.db.models.fields.IntegerField', [], {}),
+            'telephone': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'telephone_interne': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'url': ('django.db.models.fields.URLField', [], {'max_length': '255', 'blank': 'True'})
+        },
+        'datamaster_modeles.pays': {
+            'Meta': {'ordering': "('nom',)", 'object_name': 'Pays', 'db_table': "u'ref_pays'"},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'code': ('django.db.models.fields.CharField', [], {'max_length': '2', 'primary_key': 'True'}),
+            'code_bureau': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Bureau']", 'to_field': "'code'", 'db_column': "'code_bureau'"}),
+            'code_iso3': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '3', 'blank': 'True'}),
+            'developpement': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {}),
+            'monnaie': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nord_sud': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'region': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Region']", 'db_column': "'region'"})
+        },
+        'datamaster_modeles.region': {
+            'Meta': {'object_name': 'Region', 'db_table': "u'ref_region'"},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'implantation_bureau': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'gere_region'", 'db_column': "'implantation_bureau'", 'to': "orm['datamaster_modeles.Implantation']"}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.ayantdroit': {
+            'Meta': {'object_name': 'AyantDroit'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'employe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'employe'", 'db_column': "'employe'", 'to': "orm['rh_v1.Employe']"}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'lien_parente': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'prenom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.classement': {
+            'Meta': {'object_name': 'Classement'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'coefficient': ('django.db.models.fields.FloatField', [], {}),
+            'commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'date_modification': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'degre': ('django.db.models.fields.IntegerField', [], {}),
+            'echelon': ('django.db.models.fields.IntegerField', [], {}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '10'})
+        },
+        'rh_v1.devise': {
+            'Meta': {'object_name': 'Devise'},
+            'code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '10'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.dossier': {
+            'Meta': {'object_name': 'Dossier'},
+            'classement': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['rh_v1.Classement']", 'db_column': "'classement'"}),
+            'code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '10'}),
+            'commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'complement1': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'complement2': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'contrat_date_debut': ('django.db.models.fields.DateField', [], {}),
+            'contrat_date_fin': ('django.db.models.fields.DateField', [], {}),
+            'date_creation': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'date_maj': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'employe': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['rh_v1.Employe']", 'db_column': "'employe'"}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'implantation1': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'implantation1'", 'db_column': "'implantation1'", 'to': "orm['datamaster_modeles.Implantation']"}),
+            'implantation2': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'implantation2'", 'db_column': "'implantation2'", 'to': "orm['datamaster_modeles.Implantation']"}),
+            'mandat_date_debut': ('django.db.models.fields.DateField', [], {}),
+            'mandat_date_fin': ('django.db.models.fields.DateField', [], {}),
+            'organisme_bstg': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['rh_v1.OrganismeBstg']", 'db_column': "'organisme_bstg'"}),
+            'poste1': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'poste1'", 'db_column': "'poste1'", 'to': "orm['rh_v1.Poste']"}),
+            'poste2': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'poste2'", 'null': 'True', 'db_column': "'poste2'", 'to': "orm['rh_v1.Poste']"}),
+            'regime_travail': ('django.db.models.fields.IntegerField', [], {}),
+            'remplacement_de': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'remplacement_de'", 'db_column': "'remplacement_de'", 'to': "orm['rh_v1.Employe']"}),
+            'responsable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'responsable'", 'db_column': "'responsable'", 'to': "orm['rh_v1.Employe']"}),
+            'responsable_implantation1': ('django.db.models.fields.IntegerField', [], {}),
+            'responsable_implantation2': ('django.db.models.fields.IntegerField', [], {}),
+            'service': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['rh_v1.Service']", 'db_column': "'service'"}),
+            'statut': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['rh_v1.Statut']", 'db_column': "'statut'"}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
+            'type_contrat': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['rh_v1.TypeContrat']", 'db_column': "'type_contrat'"})
+        },
+        'rh_v1.employe': {
+            'Meta': {'object_name': 'Employe'},
+            'adresse': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'code_postal': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+            'date_creation': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'date_entree': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'date_maj': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'date_naissance': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+            'genre': ('django.db.models.fields.CharField', [], {'max_length': '1', 'null': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nationalite': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'nationalite'", 'db_column': "'nationalite'", 'to': "orm['datamaster_modeles.Pays']"}),
+            'no_rue': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'pays': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'pays'", 'null': 'True', 'db_column': "'pays'", 'to': "orm['datamaster_modeles.Pays']"}),
+            'prenom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'province': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'situation_famille': ('django.db.models.fields.CharField', [], {'max_length': '1', 'null': 'True', 'blank': 'True'}),
+            'tel_cellulaire': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'tel_domicile': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+            'ville': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
+        },
+        'rh_v1.familleemploi': {
+            'Meta': {'object_name': 'FamilleEmploi'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.organismebstg': {
+            'Meta': {'object_name': 'OrganismeBstg'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '10'})
+        },
+        'rh_v1.poste': {
+            'Meta': {'object_name': 'Poste'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'date_modification': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']", 'db_column': "'implantation'"}),
+            'proportion': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
+            'type_poste': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['rh_v1.TypePoste']", 'db_column': "'type_poste'"})
+        },
+        'rh_v1.remuneration': {
+            'Meta': {'object_name': 'Remuneration'},
+            'annule': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'date_annule': ('django.db.models.fields.DateField', [], {}),
+            'date_creation': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+            'date_desactivation': ('django.db.models.fields.DateField', [], {}),
+            'date_effective': ('django.db.models.fields.DateField', [], {}),
+            'desactivation': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'devise': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['rh_v1.Devise']", 'to_field': "'code'", 'db_column': "'devise'"}),
+            'dossier': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['rh_v1.Dossier']", 'db_column': "'dossier'"}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'montant': ('django.db.models.fields.FloatField', [], {}),
+            'pourcentage': ('django.db.models.fields.IntegerField', [], {}),
+            'type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['rh_v1.TypeRemuneration']", 'db_column': "'type'"}),
+            'type_revalorisation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['rh_v1.TypeRevalorisation']", 'db_column': "'type_revalorisation'"}),
+            'user_annule': ('django.db.models.fields.IntegerField', [], {}),
+            'user_creation': ('django.db.models.fields.IntegerField', [], {}),
+            'user_desactivation': ('django.db.models.fields.IntegerField', [], {})
+        },
+        'rh_v1.service': {
+            'Meta': {'object_name': 'Service'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.statut': {
+            'Meta': {'object_name': 'Statut'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '25'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'type_contrat_categorie': ('django.db.models.fields.CharField', [], {'max_length': '10'})
+        },
+        'rh_v1.tauxchange': {
+            'Meta': {'object_name': 'TauxChange'},
+            'annee': ('django.db.models.fields.IntegerField', [], {}),
+            'devise': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['rh_v1.Devise']", 'to_field': "'code'", 'db_column': "'devise'"}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']", 'db_column': "'implantation'"}),
+            'taux': ('django.db.models.fields.FloatField', [], {})
+        },
+        'rh_v1.typecontrat': {
+            'Meta': {'object_name': 'TypeContrat'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'categorie': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_long': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.typeposte': {
+            'Meta': {'object_name': 'TypePoste'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'date_modification': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
+            'description': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'famille_emploi': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['rh_v1.FamilleEmploi']", 'db_column': "'famille_emploi'"}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'is_responsable': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'nom_feminin': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.typeremuneration': {
+            'Meta': {'object_name': 'TypeRemuneration'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nature_remuneration': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+            'type_paiement': ('django.db.models.fields.CharField', [], {'max_length': '30'})
+        },
+        'rh_v1.typerevalorisation': {
+            'Meta': {'object_name': 'TypeRevalorisation'},
+            'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+        },
+        'rh_v1.valeurpoint': {
+            'Meta': {'object_name': 'ValeurPoint'},
+            'annee': ('django.db.models.fields.IntegerField', [], {}),
+            'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+            'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']", 'db_column': "'implantation'"}),
+            'valeur': ('django.db.models.fields.FloatField', [], {})
+        }
+    }
+
+    complete_apps = ['rh_v1']
diff --git a/project/rh_v1/migrations/__init__.py b/project/rh_v1/migrations/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
index a701da8..2f21e85 100644 (file)
@@ -138,6 +138,10 @@ class TypePoste(models.Model):
     date_modification = models.DateField(auto_now=True)
     actif = models.BooleanField()
 
+    def __unicode__(self):
+        return u'%s' % self.nom
+
+
 TYPE_PAIEMENT_CHOICES = (
     ('Régulier', 'Régulier'),
     ('Ponctuel', 'Ponctuel'),
@@ -175,7 +179,8 @@ PROPORTION_CHOICES = (
 class Poste(models.Model):
     #Identification
     id = models.IntegerField(primary_key=True)
-    implantation = models.ForeignKey('datamaster_modeles.Implantation', db_column='implantation')
+    implantation = models.ForeignKey('datamaster_modeles.Implantation',
+            db_column='implantation', related_name='+')
     type_poste = models.ForeignKey('TypePoste', db_column='type_poste')
     proportion = models.CharField(max_length=10, choices=PROPORTION_CHOICES)
     #(sert à quoi?) renommer "regime_travail" ou autre?    convertir data en % (data * 100; ex: 1 = 100%)
@@ -183,6 +188,10 @@ class Poste(models.Model):
     date_modification = models.DateField(auto_now=True)
     actif = models.BooleanField()
 
+    def __unicode__(self):
+        return u'%s - %s' % (self.implantation, self.type_poste.nom)
+
+
 class Service(models.Model):
     #Identification
     id = models.IntegerField(primary_key=True)
@@ -190,6 +199,10 @@ class Service(models.Model):
     #Méta
     actif = models.BooleanField()
 
+    def __unicode__(self):
+        return u'%s' % self.nom
+
+
 TYPE_ORGANISME_CHOICES = (
     ('MAD', 'Mise à disposition'),
     ('DET', 'Détachement'),
@@ -233,6 +246,11 @@ class Classement(models.Model):
     date_modification = models.DateField(auto_now=True)
     actif = models.BooleanField()
 
+    def __unicode__(self):
+        return u'%s.%s.%s (%s)' % (self.type, self.echelon, self.degre,
+                                   self.coefficient)
+
+
 class ValeurPoint(models.Model):
     #Identification
     id = models.IntegerField(primary_key=True)
@@ -241,6 +259,10 @@ class ValeurPoint(models.Model):
     #Méta
     annee = models.IntegerField()
 
+    def __unicode__(self):
+        return u'%s (%s-%s)' % (self.valeur, self.implantation_id, self.annee)
+
+
 class TauxChange(models.Model):
     #Identification
     id = models.IntegerField(primary_key=True)
@@ -250,11 +272,16 @@ class TauxChange(models.Model):
     #Relations
     implantation = models.ForeignKey('datamaster_modeles.Implantation', db_column='implantation')
 
+
 class Devise(models.Model):
     id = models.IntegerField(primary_key=True)
     code =  models.CharField(max_length=10, unique=True)
     nom = models.CharField(max_length=255)
 
+    def __unicode__(self):
+        return u'%s - %s' % (self.code, self.nom)
+
+
 class TypeContrat(models.Model):
     #Identification
     id = models.IntegerField(primary_key=True)
index af681e8..44e499f 100644 (file)
@@ -56,7 +56,8 @@ INSTALLED_APPS = (
     'django.contrib.sessions',
     'django.contrib.admin',
     'south',
-    'rh_v1',
+    'project.rh_v1',
+    'project.dae',
 )
 
 TEMPLATE_CONTEXT_PROCESSORS = (
diff --git a/project/templates/base.html b/project/templates/base.html
new file mode 100644 (file)
index 0000000..bd836e7
--- /dev/null
@@ -0,0 +1,11 @@
+<html>
+<head>
+  <title>{% block title %}Autorisation d'embauche{% endblock %}</title>
+  <script type="text/javascript"
+          src="{{ MEDIA_URL }}js/jquery-1.5.1.min.js"></script>
+</head>
+<body>
+  {% block content %}block content{% endblock %}
+</body>
+</html>
+
index 207308b..ded6a09 100644 (file)
@@ -12,6 +12,7 @@ urlpatterns = patterns(
     '',
     url(r'^admin_tools/', include('admin_tools.urls')),
     (r'^admin/', include(admin.site.urls)),
+    (r'^dae/', include('project.dae.urls')),
     (r'^connexion/$', 'django.contrib.auth.views.login'),
     (r'^deconnexion/$', 'django.contrib.auth.views.logout'),