From 5d680e8496e95f017155537fb26b6f7950743a92 Mon Sep 17 00:00:00 2001 From: Nicolas Cadou Date: Mon, 21 Mar 2011 22:18:33 -0400 Subject: [PATCH] Premier jet pour le formulaire de poste (manque le financement) --- project/dae/forms.py | 60 ++ project/dae/migrations/0001_initial.py | 21 + ...e__add_validationposte__add_validation__add_.py | 580 ++++++++++++++++++++ project/dae/models.py | 178 +++--- project/dae/templates/dae/index.html | 7 + project/dae/templates/dae/poste.html | 17 + project/dae/urls.py | 9 + project/dae/views.py | 53 +- project/rh_v1/migrations/0001_initial.py | 553 +++++++++++++++++++ project/rh_v1/models.py | 29 +- project/settings.py | 3 +- project/templates/base.html | 11 + project/urls.py | 1 + 13 files changed, 1445 insertions(+), 77 deletions(-) create mode 100644 project/dae/forms.py create mode 100644 project/dae/migrations/0001_initial.py create mode 100644 project/dae/migrations/0002_auto__add_validationemploye__add_validationposte__add_validation__add_.py create mode 100644 project/dae/migrations/__init__.py create mode 100644 project/dae/templates/dae/index.html create mode 100644 project/dae/templates/dae/poste.html create mode 100644 project/dae/urls.py create mode 100644 project/rh_v1/migrations/0001_initial.py create mode 100644 project/rh_v1/migrations/__init__.py create mode 100644 project/templates/base.html diff --git a/project/dae/forms.py b/project/dae/forms.py new file mode 100644 index 0000000..b0f8c17 --- /dev/null +++ b/project/dae/forms.py @@ -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 index 0000000..dc491af --- /dev/null +++ b/project/dae/migrations/0001_initial.py @@ -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 index 0000000..c25accf --- /dev/null +++ b/project/dae/migrations/0002_auto__add_validationemploye__add_validationposte__add_validation__add_.py @@ -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 index 0000000..e69de29 diff --git a/project/dae/models.py b/project/dae/models.py index cd10ea9..49940ed 100644 --- a/project/dae/models.py +++ b/project/dae/models.py @@ -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 index 0000000..fa953e3 --- /dev/null +++ b/project/dae/templates/dae/index.html @@ -0,0 +1,7 @@ +{% extends 'base.html' %} +{% block title %} + Autorisation d'embauche +{% endblock %} +{% block content %} + Poste +{% endblock %} diff --git a/project/dae/templates/dae/poste.html b/project/dae/templates/dae/poste.html new file mode 100644 index 0000000..06518d7 --- /dev/null +++ b/project/dae/templates/dae/poste.html @@ -0,0 +1,17 @@ +{% extends 'base.html' %} +{% block title %} + Formulaire poste +{% endblock %} +{% block content %} +
+ + {{ form.as_table }} +
+ +
+ +{% endblock %} diff --git a/project/dae/urls.py b/project/dae/urls.py new file mode 100644 index 0000000..900a5ee --- /dev/null +++ b/project/dae/urls.py @@ -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.*)$', 'poste', name='poste'), +) diff --git a/project/dae/views.py b/project/dae/views.py index 60f00ef..3904725 100644 --- a/project/dae/views.py +++ b/project/dae/views.py @@ -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 index 0000000..8a598f1 --- /dev/null +++ b/project/rh_v1/migrations/0001_initial.py @@ -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 index 0000000..e69de29 diff --git a/project/rh_v1/models.py b/project/rh_v1/models.py index a701da8..2f21e85 100644 --- a/project/rh_v1/models.py +++ b/project/rh_v1/models.py @@ -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) diff --git a/project/settings.py b/project/settings.py index af681e8..44e499f 100644 --- a/project/settings.py +++ b/project/settings.py @@ -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 index 0000000..bd836e7 --- /dev/null +++ b/project/templates/base.html @@ -0,0 +1,11 @@ + + + {% block title %}Autorisation d'embauche{% endblock %} + + + + {% block content %}block content{% endblock %} + + + diff --git a/project/urls.py b/project/urls.py index 207308b..ded6a09 100644 --- a/project/urls.py +++ b/project/urls.py @@ -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'), -- 1.7.10.4