From: Olivier Larchevêque Date: Wed, 11 Jan 2012 20:05:06 +0000 (-0500) Subject: remove rh_v1 X-Git-Tag: DAE+RH~209 X-Git-Url: https://git.auf.org/?p=auf_rh_dae.git;a=commitdiff_plain;h=09aa83748e11244c7e30ed72449d6940203d683b remove rh_v1 --- diff --git a/project/dae/catalogues.py b/project/dae/catalogues.py index 2ce242a..9474baf 100644 --- a/project/dae/catalogues.py +++ b/project/dae/catalogues.py @@ -1,7 +1,7 @@ # -*- encoding: utf-8 -*- from django.db.models import Q -from rh_v1 import models as rh +from rh import models as rh from utils import get_employe_from_user, is_user_dans_services_centraux from workflow import grp_drh @@ -56,10 +56,10 @@ class Dossier(object): def get_query(self,q,request): employe = get_employe_from_user(request.user) - prefixe_implantation = 'poste1__implantation' + prefixe_implantation = 'poste__implantation' - q_recherche = Q(complement1__icontains=q) | \ - Q(poste1__type_poste__nom__icontains=q) | \ + q_recherche = Q(poste__nom__icontains=q) | \ + Q(poste__type_poste__nom__icontains=q) | \ Q(employe__nom__icontains=q) | \ Q(employe__prenom__icontains=q) diff --git a/project/dae/decorators.py b/project/dae/decorators.py index ac36918..5ba749d 100644 --- a/project/dae/decorators.py +++ b/project/dae/decorators.py @@ -8,7 +8,7 @@ from django.http import HttpResponseRedirect from django.shortcuts import get_object_or_404 from workflow import dae_groupes, ETATS_EDITABLE, ETATS_VALIDE, grp_drh from project.dae import models as dae -from project.rh_v1 import models as rh +from project.rh import models as rh from utils import get_employe_from_user def user_in_dae_groupes(user): @@ -114,7 +114,7 @@ def vieux_dossier_dans_ma_region_ou_service(fn): dossier_id = kwargs.get('dossier_id', None) employe = get_employe_from_user(request.user) - prefixe_implantation = 'poste1__implantation' + prefixe_implantation = 'poste__implantation' #if is_user_dans_service(request.user): # q_place = Q(**{ '%s' % prefixe_implantation : employe.implantation }) diff --git a/project/dae/forms.py b/project/dae/forms.py index 1296cc9..2e33c61 100644 --- a/project/dae/forms.py +++ b/project/dae/forms.py @@ -9,7 +9,7 @@ from auf.django.workflow.forms import WorkflowFormMixin from datamaster_modeles import models as ref from dae import models as dae from utils import get_employe_from_user, is_user_dans_services_centraux -from rh_v1 import models as rh +from rh import models as rh from workflow import grp_drh, POSTE_ETATS_BOUTONS def _implantation_choices(obj, request): @@ -33,11 +33,11 @@ def _employe_choices(obj, request): # SERVICE if is_user_dans_services_centraux(request.user): q_dae_region_service = Q(poste__implantation=employe.implantation) - q_rh_region_service = Q(implantation1=employe.implantation) | Q(implantation2=employe.implantation) + q_rh_region_service = Q(poste__implantation=employe.implantation) # REGION else: q_dae_region_service = Q(poste__implantation__region=employe.implantation.region) - q_rh_region_service = Q(implantation1__region=employe.implantation.region) | Q(implantation2__region=employe.implantation.region) + q_rh_region_service = Q(poste__implantation__region=employe.implantation.region) # TRAITEMENT DRH if grp_drh in request.user.groups.all(): q_dae_region_service = Q() @@ -198,7 +198,7 @@ class PosteForm(forms.ModelForm): if self.instance and self.instance.id is None: dossiers = self.instance.get_dossiers() if len(dossiers) > 0: - self.initial['service'] = dossiers[0].service_id + self.initial['service'] = dossiers[0].poste.service self.initial['nom'] = "%s %s" % (self.initial['nom'], self.instance.get_complement_nom()) diff --git a/project/dae/models.py b/project/dae/models.py index bddc120..51e0c8d 100644 --- a/project/dae/models.py +++ b/project/dae/models.py @@ -11,7 +11,7 @@ from workflow import DOSSIER_ETAT_DRH_FINALISATION, DOSSIER_ETAT_REGION_FINALISA from managers import DossierManager, PosteManager, PosteComparaisonManager, \ DossierComparaisonManager import datamaster_modeles.models as ref -from rh_v1 import models as rh +from rh import models as rh # Constantes @@ -161,8 +161,7 @@ class Poste(PosteWorkflow, models.Model): """ if self.id_rh is None: return [] - postes = [p for p in self.id_rh.poste1.all()] - return sorted(postes, key=lambda poste: poste.id, reverse=True) + return self.id_rh.dossiers.all() def get_complement_nom(self): """ @@ -171,7 +170,7 @@ class Poste(PosteWorkflow, models.Model): """ dossiers = self.get_dossiers() if len(dossiers) > 0: - nom = dossiers[0].complement1 + nom = dossiers[0].poste.nom else: nom = "" return nom diff --git a/project/dae/views.py b/project/dae/views.py index 959c6df..3519796 100644 --- a/project/dae/views.py +++ b/project/dae/views.py @@ -38,7 +38,7 @@ from dae.decorators import redirect_interdiction, dae_groupe_requis, \ dossier_est_modifiable, \ poste_est_modifiable, get_contrat from dae.mail import send_drh_finalisation_mail -from rh_v1 import models as rh +from rh import models as rh def devises(): @@ -515,7 +515,7 @@ def dossier(request, poste_key, employe_key): # Récupérer la devise de l'implantation lié au poste implantation_devise = poste.get_default_devise() - data.update({'devise' : implantation_devise.id}) + data.update({'devise' : implantation_devise}) if poste.id_rh_id is not None: poste_rh = get_object_or_404(rh.Poste, pk=poste.id_rh_id) @@ -540,7 +540,7 @@ def dossier(request, poste_key, employe_key): # récupération de l'ancien dossier rh v1 pour l'employe DAE try: - dossier_rh = rh.Dossier.objects.get(employe=employe_dae.id_rh_id, mandat_date_fin=None) + dossier_rh = rh.Dossier.objects.get(employe=employe_dae.id_rh_id, date_fin=None) except (rh.Dossier.DoesNotExist): dossier_rh = rh.Dossier() @@ -561,7 +561,7 @@ def dossier(request, poste_key, employe_key): # récupération de l'ancien dossier rh v1 pour l'employe rh v1, s'il n'en a pas, # on en fournit un nouveau qui servira uniquement un créer un nouveau dossier DAE. try: - dossier_rh = rh.Dossier.objects.get(employe=employe_rh, mandat_date_fin=None) + dossier_rh = rh.Dossier.objects.get(employe=employe_rh, date_fin=None) except (rh.Dossier.DoesNotExist): dossier_rh = rh.Dossier() dossier = pre_filled_dossier(dossier_rh, employe_source, poste_rh) @@ -584,16 +584,16 @@ def pre_filled_dossier(dossier_rh, employe_source, poste_rh): dossier.classement_anterieur = dossier_rh.classement # Récupération du salaire de base - remun = dossier_rh.remuneration_set.filter(type=1).order_by('-date_effective') + remun = dossier_rh.remunerations().filter(type=1).order_by('-date_debut') if remun: dossier.salaire_anterieur = remun[0].montant dossier.devise_anterieur = remun[0].devise # Récupération du titulaire précédent try: - dossiers = rh.Dossier.objects.order_by('-mandat_date_debut') + dossiers = rh.Dossier.objects.order_by('-date_debut') if poste_rh: - dossiers = dossiers.filter(poste1=poste_rh) | dossiers.filter(poste2=poste_rh) + dossiers = dossiers.filter(poste=poste_rh) else: dossiers = rh.Dossier.objects.none() if len(dossiers): @@ -605,7 +605,7 @@ def pre_filled_dossier(dossier_rh, employe_source, poste_rh): dossier.employe_anterieur = titulaire dossier.classement_titulaire_anterieur = d.classement dossier.statut_titulaire_anterieur = d.statut - remun = d.remuneration_set.filter(type=1).order_by('-date_effective')[0] + remun = d.remunerations().filter(type=1).order_by('-date_debut')[0] dossier.salaire_titulaire_anterieur = remun.montant dossier.devise_titulaire_anterieur = remun.devise except: @@ -630,14 +630,15 @@ def dossier_resume(request, dossier_id=None): data = {} data['personne'] = unicode(dossier.employe) data['classement'] = dossier.classement.id - data['statut'] = dossier.statut.id - data['implantation'] = dossier.implantation1.id - data['poste'] = u"%s %s" % (dossier.poste1.type_poste.nom, dossier.complement1) - data['montant'] = dossier.get_salaire() - salaire = dossier.get_dernier_salaire_remun() - if salaire is not None: + if dossier.statut is not None: + data['statut'] = dossier.statut.id + data['implantation'] = dossier.poste.implantation.id + data['poste'] = u"%s %s" % (dossier.poste.type_poste.nom, dossier.poste.nom) + salaire = dossier.get_salaire() + data['montant'] = salaire.montant + if salaire.devise is not None: data['devise'] = salaire.devise.id - data['montant_euros'] = salaire.en_euros() + data['montant_euros'] = salaire.montant_euro() else: data['devise'] = None data['montant_euros'] = 0 @@ -656,7 +657,7 @@ def poste_resume(request, dossier_id=None): return HttpResponseGone("Ce dossier n'est pas accessible") data = {} - data['implantation'] = dossier.implantation1.id + data['implantation'] = dossier.poste.implantation.id data['poste'] = u"%s %s" % (dossier.poste1.type_poste.nom, dossier.complement1) data['montant'] = dossier.get_salaire() salaire = dossier.get_dernier_salaire_remun() diff --git a/project/old_rh_v1/__init__.py b/project/old_rh_v1/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/project/old_rh_v1/migrations/0001_initial.py b/project/old_rh_v1/migrations/0001_initial.py new file mode 100644 index 0000000..7842892 --- /dev/null +++ b/project/old_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')()), + ('annulation', self.gf('django.db.models.fields.BooleanField')(default=False)), + ('date_annulation', self.gf('django.db.models.fields.DateField')()), + ('user_annulation', 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'}, + 'annulation': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'date_annulation': ('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_annulation': ('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/old_rh_v1/migrations/0002_auto__chg_field_employe_nationalite__chg_field_employe_pays__chg_field.py b/project/old_rh_v1/migrations/0002_auto__chg_field_employe_nationalite__chg_field_employe_pays__chg_field.py new file mode 100644 index 0000000..abe5ea2 --- /dev/null +++ b/project/old_rh_v1/migrations/0002_auto__chg_field_employe_nationalite__chg_field_employe_pays__chg_field.py @@ -0,0 +1,370 @@ +# encoding: utf-8 +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + +class Migration(SchemaMigration): + + def forwards(self, orm): + + # Changing field 'Employe.nationalite' + db.alter_column('rh_v1_employe', 'nationalite', self.gf('django.db.models.fields.related.ForeignKey')(to_field='code', db_column='nationalite', to=orm['datamaster_modeles.Pays'])) + + # Changing field 'Employe.pays' + db.alter_column('rh_v1_employe', 'pays', self.gf('django.db.models.fields.related.ForeignKey')(db_column='pays', to_field='code', to=orm['datamaster_modeles.Pays'], null=True)) + + # Changing field 'Remuneration.user_annulation' + db.alter_column('rh_v1_remuneration', 'user_annulation', self.gf('django.db.models.fields.IntegerField')(null=True)) + + # Changing field 'Remuneration.date_desactivation' + db.alter_column('rh_v1_remuneration', 'date_desactivation', self.gf('django.db.models.fields.DateField')(null=True)) + + # Changing field 'Remuneration.pourcentage' + db.alter_column('rh_v1_remuneration', 'pourcentage', self.gf('django.db.models.fields.IntegerField')(null=True)) + + # Changing field 'Remuneration.montant' + db.alter_column('rh_v1_remuneration', 'montant', self.gf('django.db.models.fields.FloatField')(null=True)) + + # Changing field 'Remuneration.user_creation' + db.alter_column('rh_v1_remuneration', 'user_creation', self.gf('django.db.models.fields.IntegerField')(null=True)) + + # Changing field 'Remuneration.user_desactivation' + db.alter_column('rh_v1_remuneration', 'user_desactivation', self.gf('django.db.models.fields.IntegerField')(null=True)) + + # Changing field 'Remuneration.annulation' + db.alter_column('rh_v1_remuneration', 'annulation', self.gf('django.db.models.fields.NullBooleanField')(null=True)) + + # Changing field 'Remuneration.devise' + db.alter_column('rh_v1_remuneration', 'devise', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['rh_v1.Devise'], to_field='code', null=True, db_column='devise')) + + # Changing field 'Remuneration.date_effective' + db.alter_column('rh_v1_remuneration', 'date_effective', self.gf('django.db.models.fields.DateField')(null=True)) + + # Changing field 'Remuneration.type_revalorisation' + db.alter_column('rh_v1_remuneration', 'type_revalorisation', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['rh_v1.TypeRevalorisation'], null=True, db_column='type_revalorisation')) + + # Changing field 'Remuneration.date_annulation' + db.alter_column('rh_v1_remuneration', 'date_annulation', self.gf('django.db.models.fields.DateField')(null=True)) + + # Changing field 'Remuneration.desactivation' + db.alter_column('rh_v1_remuneration', 'desactivation', self.gf('django.db.models.fields.NullBooleanField')(null=True)) + + + def backwards(self, orm): + + # Changing field 'Employe.nationalite' + db.alter_column('rh_v1_employe', 'nationalite', self.gf('django.db.models.fields.related.ForeignKey')(db_column='nationalite', to=orm['datamaster_modeles.Pays'])) + + # Changing field 'Employe.pays' + db.alter_column('rh_v1_employe', 'pays', self.gf('django.db.models.fields.related.ForeignKey')(null=True, to=orm['datamaster_modeles.Pays'], db_column='pays')) + + # Changing field 'Remuneration.user_annulation' + db.alter_column('rh_v1_remuneration', 'user_annulation', self.gf('django.db.models.fields.IntegerField')(default=False)) + + # Changing field 'Remuneration.date_desactivation' + db.alter_column('rh_v1_remuneration', 'date_desactivation', self.gf('django.db.models.fields.DateField')(default=datetime.date(2011, 4, 5))) + + # Changing field 'Remuneration.pourcentage' + db.alter_column('rh_v1_remuneration', 'pourcentage', self.gf('django.db.models.fields.IntegerField')(default=0)) + + # Changing field 'Remuneration.montant' + db.alter_column('rh_v1_remuneration', 'montant', self.gf('django.db.models.fields.FloatField')(default=0)) + + # Changing field 'Remuneration.user_creation' + db.alter_column('rh_v1_remuneration', 'user_creation', self.gf('django.db.models.fields.IntegerField')(default=datetime.date(2011, 4, 5))) + + # Changing field 'Remuneration.user_desactivation' + db.alter_column('rh_v1_remuneration', 'user_desactivation', self.gf('django.db.models.fields.IntegerField')(default=0)) + + # Changing field 'Remuneration.annulation' + db.alter_column('rh_v1_remuneration', 'annulation', self.gf('django.db.models.fields.BooleanField')()) + + # Changing field 'Remuneration.devise' + db.alter_column('rh_v1_remuneration', 'devise', self.gf('django.db.models.fields.related.ForeignKey')(default=0, to=orm['rh_v1.Devise'], to_field='code', db_column='devise')) + + # Changing field 'Remuneration.date_effective' + db.alter_column('rh_v1_remuneration', 'date_effective', self.gf('django.db.models.fields.DateField')(default=datetime.date(2011, 4, 5))) + + # Changing field 'Remuneration.type_revalorisation' + db.alter_column('rh_v1_remuneration', 'type_revalorisation', self.gf('django.db.models.fields.related.ForeignKey')(default=0, to=orm['rh_v1.TypeRevalorisation'], db_column='type_revalorisation')) + + # Changing field 'Remuneration.date_annulation' + db.alter_column('rh_v1_remuneration', 'date_annulation', self.gf('django.db.models.fields.DateField')(default=datetime.date(2011, 4, 5))) + + # Changing field 'Remuneration.desactivation' + db.alter_column('rh_v1_remuneration', 'desactivation', self.gf('django.db.models.fields.BooleanField')()) + + + 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': {'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.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'", '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.remuneration': { + 'Meta': {'object_name': 'Remuneration'}, + 'annulation': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'date_annulation': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'date_creation': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'date_desactivation': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'date_effective': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'desactivation': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'devise': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['rh_v1.Devise']", 'to_field': "'code'", 'null': 'True', 'db_column': "'devise'", 'blank': 'True'}), + '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', [], {'null': 'True', 'blank': 'True'}), + 'pourcentage': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + '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']", 'null': 'True', 'db_column': "'type_revalorisation'", 'blank': 'True'}), + 'user_annulation': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'user_creation': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'user_desactivation': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) + }, + '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/old_rh_v1/migrations/0003_auto__chg_field_tauxchange_devise.py b/project/old_rh_v1/migrations/0003_auto__chg_field_tauxchange_devise.py new file mode 100644 index 0000000..51781c9 --- /dev/null +++ b/project/old_rh_v1/migrations/0003_auto__chg_field_tauxchange_devise.py @@ -0,0 +1,292 @@ +# encoding: utf-8 +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + +class Migration(SchemaMigration): + + def forwards(self, orm): + + # Changing field 'TauxChange.devise' + db.alter_column('rh_v1_tauxchange', 'devise', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['rh_v1.Devise'], db_column='devise')) + + + def backwards(self, orm): + + # Changing field 'TauxChange.devise' + db.alter_column('rh_v1_tauxchange', 'devise', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['rh_v1.Devise'], to_field='code', db_column='devise')) + + + 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': {'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.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'", '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.remuneration': { + 'Meta': {'object_name': 'Remuneration'}, + 'annulation': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'date_annulation': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'date_creation': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'date_desactivation': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'date_effective': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'desactivation': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'devise': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['rh_v1.Devise']", 'to_field': "'code'", 'null': 'True', 'db_column': "'devise'", 'blank': 'True'}), + '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', [], {'null': 'True', 'blank': 'True'}), + 'pourcentage': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + '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']", 'null': 'True', 'db_column': "'type_revalorisation'", 'blank': 'True'}), + 'user_annulation': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'user_creation': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'user_desactivation': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) + }, + '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']", '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/old_rh_v1/migrations/0004_auto__chg_field_dossier_classement__chg_field_dossier_responsable__chg.py b/project/old_rh_v1/migrations/0004_auto__chg_field_dossier_classement__chg_field_dossier_responsable__chg.py new file mode 100644 index 0000000..0ffbdcc --- /dev/null +++ b/project/old_rh_v1/migrations/0004_auto__chg_field_dossier_classement__chg_field_dossier_responsable__chg.py @@ -0,0 +1,346 @@ +# encoding: utf-8 +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + +class Migration(SchemaMigration): + + def forwards(self, orm): + + # Changing field 'Dossier.classement' + db.alter_column('rh_v1_dossier', 'classement', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['rh_v1.Classement'], null=True, db_column='classement')) + + # Changing field 'Dossier.responsable' + db.alter_column('rh_v1_dossier', 'responsable', self.gf('django.db.models.fields.related.ForeignKey')(null=True, db_column='responsable', to=orm['rh_v1.Employe'])) + + # Changing field 'Dossier.type_contrat' + db.alter_column('rh_v1_dossier', 'type_contrat', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['rh_v1.TypeContrat'], null=True, db_column='type_contrat')) + + # Changing field 'Dossier.organisme_bstg' + db.alter_column('rh_v1_dossier', 'organisme_bstg', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['rh_v1.OrganismeBstg'], null=True, db_column='organisme_bstg')) + + # Changing field 'Dossier.service' + db.alter_column('rh_v1_dossier', 'service', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['rh_v1.Service'], null=True, db_column='service')) + + # Changing field 'Dossier.implantation1' + db.alter_column('rh_v1_dossier', 'implantation1', self.gf('django.db.models.fields.related.ForeignKey')(null=True, db_column='implantation1', to=orm['datamaster_modeles.Implantation'])) + + # Changing field 'Dossier.implantation2' + db.alter_column('rh_v1_dossier', 'implantation2', self.gf('django.db.models.fields.related.ForeignKey')(null=True, db_column='implantation2', to=orm['datamaster_modeles.Implantation'])) + + # Changing field 'Dossier.statut' + db.alter_column('rh_v1_dossier', 'statut', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['rh_v1.Statut'], null=True, db_column='statut')) + + # Changing field 'Dossier.remplacement_de' + db.alter_column('rh_v1_dossier', 'remplacement_de', self.gf('django.db.models.fields.related.ForeignKey')(null=True, db_column='remplacement_de', to=orm['rh_v1.Employe'])) + + # Changing field 'Dossier.mandat_date_fin' + db.alter_column('rh_v1_dossier', 'mandat_date_fin', self.gf('django.db.models.fields.DateField')(null=True)) + + + def backwards(self, orm): + + # Changing field 'Dossier.classement' + db.alter_column('rh_v1_dossier', 'classement', self.gf('django.db.models.fields.related.ForeignKey')(default=0, to=orm['rh_v1.Classement'], db_column='classement')) + + # Changing field 'Dossier.responsable' + db.alter_column('rh_v1_dossier', 'responsable', self.gf('django.db.models.fields.related.ForeignKey')(default=0, db_column='responsable', to=orm['rh_v1.Employe'])) + + # Changing field 'Dossier.type_contrat' + db.alter_column('rh_v1_dossier', 'type_contrat', self.gf('django.db.models.fields.related.ForeignKey')(default=0, to=orm['rh_v1.TypeContrat'], db_column='type_contrat')) + + # Changing field 'Dossier.organisme_bstg' + db.alter_column('rh_v1_dossier', 'organisme_bstg', self.gf('django.db.models.fields.related.ForeignKey')(default=0, to=orm['rh_v1.OrganismeBstg'], db_column='organisme_bstg')) + + # Changing field 'Dossier.service' + db.alter_column('rh_v1_dossier', 'service', self.gf('django.db.models.fields.related.ForeignKey')(default=0, to=orm['rh_v1.Service'], db_column='service')) + + # Changing field 'Dossier.implantation1' + db.alter_column('rh_v1_dossier', 'implantation1', self.gf('django.db.models.fields.related.ForeignKey')(default=0, db_column='implantation1', to=orm['datamaster_modeles.Implantation'])) + + # Changing field 'Dossier.implantation2' + db.alter_column('rh_v1_dossier', 'implantation2', self.gf('django.db.models.fields.related.ForeignKey')(default=0, db_column='implantation2', to=orm['datamaster_modeles.Implantation'])) + + # Changing field 'Dossier.statut' + db.alter_column('rh_v1_dossier', 'statut', self.gf('django.db.models.fields.related.ForeignKey')(default=0, to=orm['rh_v1.Statut'], db_column='statut')) + + # Changing field 'Dossier.remplacement_de' + db.alter_column('rh_v1_dossier', 'remplacement_de', self.gf('django.db.models.fields.related.ForeignKey')(default=0, db_column='remplacement_de', to=orm['rh_v1.Employe'])) + + # Changing field 'Dossier.mandat_date_fin' + db.alter_column('rh_v1_dossier', 'mandat_date_fin', self.gf('django.db.models.fields.DateField')(default=0)) + + + 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': {'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.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']", 'null': 'True', 'db_column': "'classement'", 'blank': 'True'}), + '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', [], {'blank': 'True', 'related_name': "'implantation1'", 'null': 'True', 'db_column': "'implantation1'", 'to': "orm['datamaster_modeles.Implantation']"}), + 'implantation2': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'implantation2'", 'null': 'True', 'db_column': "'implantation2'", 'to': "orm['datamaster_modeles.Implantation']"}), + 'mandat_date_debut': ('django.db.models.fields.DateField', [], {}), + 'mandat_date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'organisme_bstg': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['rh_v1.OrganismeBstg']", 'null': 'True', 'db_column': "'organisme_bstg'", 'blank': 'True'}), + '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', [], {'blank': 'True', 'related_name': "'remplacement_de'", 'null': 'True', 'db_column': "'remplacement_de'", 'to': "orm['rh_v1.Employe']"}), + 'responsable': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'responsable'", 'null': 'True', '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']", 'null': 'True', 'db_column': "'service'", 'blank': 'True'}), + 'statut': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['rh_v1.Statut']", 'null': 'True', 'db_column': "'statut'", 'blank': 'True'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '1'}), + 'type_contrat': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['rh_v1.TypeContrat']", 'null': 'True', 'db_column': "'type_contrat'", 'blank': 'True'}) + }, + '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.remuneration': { + 'Meta': {'object_name': 'Remuneration'}, + 'annulation': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'date_annulation': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'date_creation': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'date_desactivation': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'date_effective': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'desactivation': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'devise': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['rh_v1.Devise']", 'to_field': "'code'", 'null': 'True', 'db_column': "'devise'", 'blank': 'True'}), + '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', [], {'null': 'True', 'blank': 'True'}), + 'pourcentage': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + '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']", 'null': 'True', 'db_column': "'type_revalorisation'", 'blank': 'True'}), + 'user_annulation': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'user_creation': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'user_desactivation': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) + }, + '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']", '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/old_rh_v1/migrations/__init__.py b/project/old_rh_v1/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/project/old_rh_v1/models.py b/project/old_rh_v1/models.py new file mode 100644 index 0000000..71e0ce5 --- /dev/null +++ b/project/old_rh_v1/models.py @@ -0,0 +1,538 @@ +# -=- encoding: utf-8 -=- + +import datetime +from django.db import models +from datamaster_modeles.models import Pays, Implantation +from dae.managers import SecurityManager + +GENRE_CHOICES = ( + ('m', 'Homme'), + ('f', 'Femme'), +) +SITUATION_CHOICES = ( + ('C', 'Célibataire'), + ('F', 'Fiancé'), + ('M', 'Marié'), +) + +class Employe(models.Model): + # Identification + id = models.IntegerField(primary_key=True) + nom = models.CharField(max_length=255) + prenom = models.CharField(max_length=255) + nationalite = models.ForeignKey('datamaster_modeles.Pays', to_field='code', + related_name='nationalite', + db_column='nationalite') + date_naissance = models.DateField(null=True, blank=True) + # Infos personnelles + genre = models.CharField(max_length=1, null=True, blank=True, + choices=GENRE_CHOICES) + situation_famille = models.CharField(max_length=1, null=True, blank=True, + choices=SITUATION_CHOICES) + date_entree = models.DateField(null=True, blank=True) #devrait pas être là + # Coordonnées + tel_domicile = models.CharField(max_length=255, null=True, blank=True) + tel_cellulaire = models.CharField(max_length=255, null=True, blank=True) + adresse = models.CharField(max_length=255, null=True, blank=True) + no_rue = models.CharField(max_length=255, null=True, blank=True) + ville = models.CharField(max_length=255, null=True, blank=True) + province = models.CharField(max_length=255, null=True, blank=True) + code_postal = models.CharField(max_length=255, null=True, blank=True) + pays = models.ForeignKey('datamaster_modeles.Pays', to_field='code', + null=True, blank=True, + related_name='pays', db_column='pays') + # Métas + date_creation = models.DateField(auto_now_add=True) + date_maj = models.DateField(auto_now=True) + commentaire = models.TextField(null=True, blank=True) + + def __unicode__(self): + return u'%s %s' % (self.prenom, self.nom) + + +TYPE_DOSSIER_CHOICES = ( + ('2', 'Local'), + ('1', 'Expatrié'), +) + +class DossierManager(models.Manager): + """ + Chargement de tous les objets FK existants sur chaque QuerySet. + """ + prefixe_service = "poste1__service" + prefixe_implantation = "poste1__implantation__region" + + def get_query_set(self): + fkeys = ( + 'employe', + 'poste1', + 'implantation1', + 'poste2', + 'implantation2', + 'service', + 'responsable', + 'remplacement_de', + 'statut', + 'organisme_bstg', + 'classement', + 'type_contrat', + ) + return super(DossierManager, self).get_query_set().select_related(*fkeys).all() + +class Dossier(models.Model): + # Identification + id = models.IntegerField(primary_key=True) + code = models.CharField(max_length=10, unique=True) + employe = models.ForeignKey('Employe', db_column='employe') + # Postes + poste1 = models.ForeignKey('Poste', db_column='poste1', + related_name='poste1') + implantation1 = models.ForeignKey('datamaster_modeles.Implantation', + db_column='implantation1', + related_name='implantation1', + blank=True, null=True) + complement1 = models.TextField(null=True, blank=True) + responsable_implantation1 = models.IntegerField() + poste2 = models.ForeignKey('Poste', db_column='poste2', + related_name='poste2', + blank=True, null=True) + implantation2 = models.ForeignKey('datamaster_modeles.Implantation', + db_column='implantation2', + related_name='implantation2', + null=True, blank=True) + complement2 = models.TextField(null=True, blank=True) + responsable_implantation2 = models.IntegerField() + # Relations + service = models.ForeignKey('Service', db_column='service', + blank=True, null=True) + responsable = models.ForeignKey('Employe', db_column='responsable', + related_name='responsable', + blank=True, null=True) + remplacement_de = models.ForeignKey('Employe', db_column='remplacement_de', + related_name='remplacement_de', + blank=True, null=True) + type = models.CharField(max_length=1, choices=TYPE_DOSSIER_CHOICES) + statut = models.ForeignKey('Statut', db_column='statut', + blank=True, null=True) + organisme_bstg = models.ForeignKey('OrganismeBstg', + db_column='organisme_bstg', + blank=True, null=True) + # Rémunération + classement = models.ForeignKey('Classement', db_column='classement', + blank=True, null=True) + regime_travail = models.IntegerField() + # Mandat + mandat_date_debut = models.DateField() + mandat_date_fin = models.DateField(null=True, blank=True) + # Contrat + contrat_date_debut = models.DateField() + contrat_date_fin = models.DateField() + type_contrat = models.ForeignKey('TypeContrat', db_column='type_contrat', + blank=True, null=True) + # Meta + date_creation = models.DateField(auto_now_add=True) + date_maj = models.DateField(auto_now=True) + commentaire = models.TextField(null=True, blank=True) + + # Managers + objects = DossierManager() + + def __unicode__(self): + return u'%s : %s %s' % (self.employe, self.poste1, self.complement1) + + def get_dernier_salaire_remun(self): + remun = [r for r in self.remuneration_set.all().order_by('-id') if r.type_id == 1] # type salaire de base + if len(remun) == 0: + return None + else: + return remun[0] + + def get_salaire(self): + remun = self.get_dernier_salaire_remun() + if remun is not None: + return int(remun.montant) + else: + return None + + def get_salaire_display(self): + """ + Moyen rapide de récupérer le salaire correspodant à un dossier. Par contre, + toutes les rémuérations n'ont pas de devise associées, c'est pourquoi on récupère + les anciennes rémunérations pour rechercher si elle existait auparavant. + """ + if self.dernier_salaire_remun() is not None: + devise_code = self.dernier_salaire_remun().devise.code + else: + devise_code = '???' + return "%s %s" % (self.get_salaire(), devise_code, ) + + def get_salaire_euro_display(self): + """ + Moyen rapide de récupérer le salaire correspodant à un dossier. Par contre, + toutes les rémuérations n'ont pas de devise associées, c'est pourquoi on récupère + les anciennes rémunérations pour rechercher si elle existait auparavant. + La valeur est est affichée en Euros en se servant du taux actuel. + """ + return "%s EUR" % (self.get_dernier_salaire_remun().en_euros()) + +LIEN_PARENTE_CHOICES = ( + ('Conjoint', 'Conjoint'), + ('Conjointe', 'Conjointe'), + ('Fille', 'Fille'), + ('Fils', 'Fils'), +) + +class AyantDroit(models.Model): + # Identification + id = models.IntegerField(primary_key=True) + nom = models.CharField(max_length=255) + prenom = models.CharField(max_length=255) + # Relation + employe = models.ForeignKey('Employe', db_column='employe', + related_name='employe') + lien_parente = models.CharField(max_length=10, null=True, blank=True, + choices=LIEN_PARENTE_CHOICES) + # Méta + commentaire = models.TextField(null=True, blank=True) + actif = models.BooleanField() + + +class Remuneration(models.Model): + # 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', + null=True, blank=True) + montant = models.FloatField(null=True, blank=True) + devise = models.ForeignKey('Devise', to_field='id', db_column='devise', null=True, blank=True) + date_effective = models.DateField(null=True, blank=True) + pourcentage = models.IntegerField(null=True, blank=True) + # Méta + date_creation = models.DateField(auto_now_add=True) + user_creation = models.IntegerField(null=True, blank=True) #User ou employé + desactivation = models.NullBooleanField(null=True, blank=True) # + date_desactivation = models.DateField(null=True, blank=True) + user_desactivation = models.IntegerField(null=True, blank=True) #User ou employé + annulation = models.NullBooleanField(null=True, blank=True) + date_annulation = models.DateField(null=True, blank=True) + user_annulation = models.IntegerField(null=True, blank=True) #User ou employé + + def __unicode__(self): + try: + devise = self.devise.code + except: + devise = "???" + return "%s %s (%s EUR - %s)" % (self.montant, devise, self.en_euros(), self.get_taux_historique(), ) + + def get_taux_historique(self): + """ + Retourne le taux en vigueur durant l'année considérée. Un taux de 0 est crée, si le taux de change + n'existe pas. + """ + taux = TauxChange.objects.filter(devise=self.devise, annee=self.date_creation.year) + if len(taux) > 0: + return taux[0] + else: + return None + + def en_euros(self): + tauxchange = self.get_taux_historique() + if tauxchange is not None: + return int(self.montant * tauxchange.taux) + else: + return 0 + +class FamilleEmploi(models.Model): + # Identification + id = models.IntegerField(primary_key=True) + nom = models.CharField(max_length=255) + # Méta + actif = models.BooleanField() + +class TypePoste(models.Model): + # Identification + id = models.IntegerField(primary_key=True) + nom = models.CharField(max_length=255) + nom_feminin = models.CharField(max_length=255) + description = models.CharField(max_length=255) + is_responsable = models.BooleanField() + famille_emploi = models.ForeignKey('FamilleEmploi', + db_column='famille_emploi') + # Méta + date_modification = models.DateField(auto_now=True) + actif = models.BooleanField() + + def __unicode__(self): + return u'%s' % self.nom + + class Meta: + ordering = ['nom'] + + +TYPE_PAIEMENT_CHOICES = ( + ('Régulier', 'Régulier'), + ('Ponctuel', 'Ponctuel'), +) + +NATURE_REMUNERATION_CHOICES = ( + ('Accessoire', 'Accessoire'), + ('Charges', 'Charges'), + ('Indemnité', 'Indemnité'), + ('RAS', 'RAS'), + ('Traitement', 'Traitement'), +) + +class TypeRemuneration(models.Model): + # Identification + id = models.IntegerField(primary_key=True) + nom = models.CharField(max_length=255) + type_paiement = models.CharField(max_length=30, + choices=TYPE_PAIEMENT_CHOICES) + nature_remuneration = models.CharField(max_length=30, + choices=NATURE_REMUNERATION_CHOICES) + # Méta + actif = models.BooleanField() + + def __unicode__(self): + return u'%s' % self.nom + + +class TypeRevalorisation(models.Model): + # Identification + id = models.IntegerField(primary_key=True) + nom = models.CharField(max_length=255) + # Méta + actif = models.BooleanField() + +PROPORTION_CHOICES = ( + ('0.5', '0.5'), + ('1', '1'), +) + +class PosteManager(SecurityManager): + """ + Chargement de tous les objets FK existants sur chaque QuerySet. + """ + prefixe_implantation = "implantation__region" + + def get_query_set(self): + fkeys = ( + 'implantation', + 'type_poste', + ) + return super(PosteManager, self).get_query_set().select_related(*fkeys).all() + +class Poste(models.Model): + # Identification + id = models.IntegerField(primary_key=True) + 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%) + # Méta + date_modification = models.DateField(auto_now=True) + actif = models.BooleanField() + + # Managers + objects = PosteManager() + + def __unicode__(self): + return u'%s - %s [%s]' % (self.implantation, self.type_poste.nom, + self.id) + + +class Service(models.Model): + # Identification + id = models.IntegerField(primary_key=True) + nom = models.CharField(max_length=255) + # Méta + actif = models.BooleanField() + + def __unicode__(self): + return u'%s' % self.nom + + class Meta: + ordering = ['nom'] + + +TYPE_ORGANISME_CHOICES = ( + ('MAD', 'Mise à disposition'), + ('DET', 'Détachement'), +) + +class OrganismeBstg(models.Model): + # Identification + id = models.IntegerField(primary_key=True) + nom = models.CharField(max_length=255) + type = models.CharField(max_length=10, choices=TYPE_ORGANISME_CHOICES) + # Méta + actif = models.BooleanField() + + def __unicode__(self): + return u'%s (%s)' % (self.nom, self.type) + + class Meta: + ordering = ['type', 'nom'] + + +CONTRAT_CATEGORIE_CHOICES= ( + ('A', 'A'), + ('C', 'C'), +) +class Statut(models.Model): + # Identification + id = models.IntegerField(primary_key=True) + code = models.CharField(max_length=25, unique=True) + nom = models.CharField(max_length=255) + type_contrat_categorie = models.CharField(max_length=10, + choices=CONTRAT_CATEGORIE_CHOICES) + #CHOICES A, C (veut dire quoi?) voir TypeContrat.categorie + # Méta + actif = models.BooleanField() + + def __unicode__(self): + return u'%s : %s' % (self.code, self.nom) + +TYPE_CLASSEMENT_CHOICES = ( + ('S', 'S'), + ('T', 'T'), +) + +class ClassementManager(models.Manager): + """ + Ordonner les spcéfiquement les classements. + """ + def get_query_set(self): + qs = super(self.__class__, self).get_query_set() + qs = qs.extra(select={'ponderation': 'FIND_IN_SET(type,"SO,HG,S,T,P,C,D")'}) + qs = qs.extra(order_by=('ponderation', )) + return qs.all() + + +class Classement(models.Model): + # Identification + id = models.IntegerField(primary_key=True) + type = models.CharField(max_length=10, choices=TYPE_CLASSEMENT_CHOICES) + echelon = models.IntegerField() + degre = models.IntegerField() + coefficient = models.FloatField() + # Méta + commentaire = models.TextField(null=True, blank=True) + date_modification = models.DateField(auto_now=True) + actif = models.BooleanField() + + # managers + objects = ClassementManager() + + def __unicode__(self): + return u'%s.%s.%s' % (self.type, self.echelon, self.degre ) + + class Meta: + ordering = ['type','echelon','degre','coefficient'] + +class TauxChange(models.Model): + # Identification + id = models.IntegerField(primary_key=True) + devise = models.ForeignKey('Devise', to_field='id', db_column='devise') + annee = models.IntegerField() + taux = models.FloatField() + # Relations + implantation = models.ForeignKey('datamaster_modeles.Implantation', + db_column='implantation', + related_name='taux_change') + + def __unicode__(self): + return u"%s %s : %s" % (self.devise, self.annee, self.taux) + +class ValeurPointManager(models.Manager): + """ + Manager qui travaille uniquement sur les valeurs du point de l'année en cours. + """ + mois = datetime.datetime.now().month + annee_courante = datetime.datetime.now().year + + # Pour le mois de janvier et décembre on mets les 2 années pour faire la transition + if mois == 1: + filtre_annee = (annee_courante-1, annee_courante) + elif mois == 12: + filtre_annee = (annee_courante, annee_courante+1) + else: + filtre_annee = (annee_courante,) + + def get_query_set(self): + return super(ValeurPointManager, self).get_query_set().select_related('implantation').filter(annee__in=self.filtre_annee) + + +class ValeurPoint(models.Model): + # Identification + id = models.IntegerField(primary_key=True) + valeur = models.FloatField() + implantation = models.ForeignKey('datamaster_modeles.Implantation', + db_column='implantation', + related_name='valeurs_point') + # Méta + annee = models.IntegerField() + + # Stockage de tous les taux de change pour optimiser la recherche de la devise associée + annee_courante = datetime.datetime.now().year + tauxchange = TauxChange.objects.select_related('devise').filter(annee=annee_courante) + + def get_tauxchange_courant(self): + """ + Recherche le taux courant associé à la valeur d'un point. + Tous les taux de l'année courante sont chargés, pour optimiser un affichage en liste. + (On pourrait probablement améliorer le manager pour lui greffer le taux courant sous forme de JOIN) + """ + for tauxchange in self.tauxchange: + if tauxchange.implantation_id == self.implantation_id: + return tauxchange + return None + + def __unicode__(self): + tx = self.get_tauxchange_courant() + if tx: + devise_code = tx.devise.code + else: + devise_code = "??" + return u'%s %s (%s-%s)' % (self.valeur, devise_code, self.implantation.nom, self.annee) + + class Meta: + ordering = ['valeur'] + + objects = models.Manager() + actuelles = ValeurPointManager() + +class DeviseManager(models.Manager): + """ + On oublie le US et le CAN + """ + def get_query_set(self): + return super(DeviseManager, self).get_query_set().exclude(id__in=(3, 15)) + +class Devise(models.Model): + + objects = DeviseManager() + + 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) + nom = models.CharField(max_length=255) + nom_long = models.CharField(max_length=255) #description + categorie = models.CharField(max_length=10, + choices=CONTRAT_CATEGORIE_CHOICES) + # Méta + actif = models.BooleanField() + + def __unicode__(self): + return u'%s' % (self.nom) diff --git a/project/rh/models.py b/project/rh/models.py index aa46aaa..87cf6a8 100644 --- a/project/rh/models.py +++ b/project/rh/models.py @@ -10,6 +10,7 @@ from auf.django.metadata.models import AUFMetadata from auf.django.metadata.managers import NoDeleteManager import datamaster_modeles.models as ref from validators import validate_date_passee +from dae.managers import SecurityManager # Constantes REGIME_TRAVAIL_DEFAULT = 100.00 @@ -52,9 +53,18 @@ POSTE_APPEL_CHOICES = ( ('externe', 'Externe'), ) -class PosteManager(NoDeleteManager): +class PosteManager(SecurityManager): + """ + Chargement de tous les objets FK existants sur chaque QuerySet. + """ + prefixe_implantation = "implantation__region" + def get_query_set(self): - return super(PosteManager, self).get_query_set().select_related('implantation') + fkeys = ( + 'implantation', + 'type_poste', + ) + return super(PosteManager, self).get_query_set().select_related(*fkeys).all() class Poste_(AUFMetadata): """Un Poste est un emploi (job) à combler dans une implantation. @@ -610,6 +620,11 @@ class Dossier_(AUFMetadata): def remunerations(self): return self.rh_remuneration_remunerations.all().order_by('date_debut') + def get_salaire(self): + try: + return [r for r in self.remunerations().order_by('-date_debut') if r.type_id == 1][0] + except: + return None class Dossier(Dossier_): __doc__ = Dossier_.__doc__ @@ -1052,7 +1067,7 @@ class ValeurPoint_(AUFMetadata): salaire de base = coefficient * valeur du point de l'Implantation du Poste """ - objects = ValeurPointManager() + actuelles = ValeurPointManager() valeur = models.FloatField(null=True) devise = models.ForeignKey('Devise', db_column='devise', null=True, diff --git a/project/settings.py b/project/settings.py index e0a929e..7048099 100644 --- a/project/settings.py +++ b/project/settings.py @@ -74,10 +74,9 @@ INSTALLED_APPS = ( 'ajax_select', 'south', 'reversion', - 'project.rh', 'auf.django.workflow', 'auf.django.permissions', - 'project.rh_v1', + #'project.rh_v1', 'project.rh', 'project.dae', 'alphafilter', @@ -95,7 +94,6 @@ TEMPLATE_CONTEXT_PROCESSORS = ( 'django.contrib.messages.context_processors.messages', 'django.core.context_processors.request', 'auf.django.skin.context_processors.auf', - #'project.context_processors.utilisateur', 'project.context_processors.this_employe', 'project.context_processors.user_is_admin', 'dae.context_processors.user_in_dae_groupes', diff --git a/project/utils.py b/project/utils.py new file mode 100644 index 0000000..d8f765b --- /dev/null +++ b/project/utils.py @@ -0,0 +1,23 @@ +# -*- encoding: utf-8 -*- + +import datamaster_modeles.models as ref + +def get_employe_from_user(user): + """ + Retourne un employé AUF à partir de son user Django. + """ + try: + employe = ref.Authentification.objects.get(courriel=user.email).id + except: + raise Exception(u"L'employé avec le courriel %s n'a pas été trouvé dans le référentiel." % user.email) + return employe + +def is_user_dans_services_centraux(user): + employe = get_employe_from_user(user) + return employe.implantation_id in (15, 19) + +def is_user_dans_region(user): + employe = get_employe_from_user(user) + return not is_user_dans_services_centraux(user) + + diff --git a/project/workflow.py b/project/workflow.py new file mode 100644 index 0000000..bf1bd7f --- /dev/null +++ b/project/workflow.py @@ -0,0 +1,342 @@ +# -*- encoding: utf-8 -*- + +from django.contrib.auth.models import Group +from auf.django.workflow.models import WorkflowMixin +from utils import is_user_dans_services_centraux, is_user_dans_region + +def safe_create_groupe(name): + """ + Création d'un groupe prédéfini. Retourne None, quand la création + ne peut se faire. (C'est le cas au syncdb, quand la table de groupe + n'a pas été crée encore). + """ + try: + grp, created = Group.objects.get_or_create(name=name) + except: + return None + return grp + +# Groupes impliqués dans le Worflow +grp_correspondants_rh = safe_create_groupe(name='Correspondants RH') +grp_administrateurs = safe_create_groupe(name='Administrateurs') +grp_directeurs_bureau = safe_create_groupe(name='Directeurs de bureau') +grp_drh = safe_create_groupe(name='DRH') +grp_drh2 = safe_create_groupe(name='DRH-2') +grp_accior = safe_create_groupe(name='ACCIOR') +grp_abf = safe_create_groupe(name='ABF') +grp_haute_direction = safe_create_groupe(name='Haute direction') +grp_service_utilisateurs = safe_create_groupe(name='Service utilisateurs') + +dae_groupes = ( + grp_correspondants_rh, + grp_administrateurs, + grp_directeurs_bureau, + grp_drh, + grp_drh2, + grp_accior, + grp_abf, + grp_haute_direction, + grp_service_utilisateurs, +) + +# codes états +POSTE_ETAT_BROUILLON = 'BROUILLON' +POSTE_ETAT_ADMINISTRATEUR = 'ADMINISTRATEUR' +POSTE_ETAT_DIRECTEUR_BUREAU = 'DIRECTEUR_BUREAU' +POSTE_ETAT_SERVICE_UTILISATEURS = 'SRV_UTILISATEURS' +POSTE_ETAT_DRH_CONTROLE = 'DRH_CONTROLE' +POSTE_ETAT_DRH_2 = 'DRH_2' +POSTE_ETAT_DEMANDE_MODIF = 'DEMANDE_MODIF' +POSTE_ETAT_ACCIOR = 'ACCIOR' +POSTE_ETAT_ABF = 'ABF' +POSTE_ETAT_HAUTE_DIRECTION = 'HAUTE_DIRECTION' +POSTE_ETAT_DEMANDE_JUSTIF = 'DEMANDE_JUSTIF' +POSTE_ETAT_REGION_FINALISATION = 'REGION_FINALISATION' +POSTE_ETAT_DRH_FINALISATION = 'DRH_FINALISATION' +POSTE_ETAT_FINALISE = 'FINALISE' + +#codes actions +POSTE_ACTION_ENVOYER_BROUILLON = POSTE_ETAT_BROUILLON +POSTE_ACTION_ENVOYER_ADMINISTRATEUR = POSTE_ETAT_ADMINISTRATEUR +POSTE_ACTION_ENVOYER_DIRECTEUR_BUREAU = POSTE_ETAT_DIRECTEUR_BUREAU +POSTE_ACTION_ENVOYER_SRV_UTILISATEURS = POSTE_ETAT_SERVICE_UTILISATEURS +POSTE_ACTION_ENVOYER_DRH_CONTROLE = POSTE_ETAT_DRH_CONTROLE +POSTE_ACTION_ENVOYER_DRH_2 = POSTE_ETAT_DRH_2 +POSTE_ACTION_DEMANDE_MODIF = POSTE_ETAT_DEMANDE_MODIF +POSTE_ACTION_RETOUR_DEMANDE_MODIF = 'RETOUR_DEMANDE_MODIF' +POSTE_ACTION_ENVOYER_ACCIOR = POSTE_ETAT_ACCIOR +POSTE_ACTION_ENVOYER_ABF = POSTE_ETAT_ABF +POSTE_ACTION_ENVOYER_HAUTE_DIRECTION = POSTE_ETAT_HAUTE_DIRECTION +POSTE_ACTION_DEMANDE_JUSTIF = POSTE_ETAT_DEMANDE_JUSTIF +POSTE_ACTION_RETOUR_DEMANDE_JUSTIF = 'RETOUR_DEMANDE_JUSTIF' +POSTE_ACTION_ENVOYER_REGION_FINALISATION = POSTE_ETAT_REGION_FINALISATION +POSTE_ACTION_ENVOYER_DRH_FINALISATION = POSTE_ETAT_DRH_FINALISATION +POSTE_ACTION_FINALISER = 'FINALISER' + +#libellés états +POSTE_ETATS = { + POSTE_ETAT_BROUILLON : u"En rédaction", + POSTE_ETAT_ADMINISTRATEUR : u"Validation de l'administrateur", + POSTE_ETAT_DIRECTEUR_BUREAU : u"Directeur de bureau", + POSTE_ETAT_SERVICE_UTILISATEURS : u"Service utilisateurs", + POSTE_ETAT_DRH_CONTROLE : u"Validation DRH", + POSTE_ETAT_DRH_2 : u"Validation DRH 2", + POSTE_ETAT_DEMANDE_MODIF : u"Demande de modification", + POSTE_ETAT_ACCIOR : u"ACCIOR", + POSTE_ETAT_ABF : u"ABF", + POSTE_ETAT_HAUTE_DIRECTION : u"Validation : Secrétaire général / Recteur", + POSTE_ETAT_DEMANDE_JUSTIF : u"Demande de justification", + POSTE_ETAT_REGION_FINALISATION : u'Retour à la région', + POSTE_ETAT_DRH_FINALISATION : u'Retour à la DRH', + POSTE_ETAT_FINALISE : u'Finalisée' + } + +#libellés états pour boutons +POSTE_ETATS_BOUTONS = { + POSTE_ETAT_DIRECTEUR_BUREAU : u"Envoyer au directeur de bureau", + POSTE_ETAT_SERVICE_UTILISATEURS : u"Envoyer au service utilisateurs", + POSTE_ETAT_ADMINISTRATEUR : u"Envoyer à l'adminstrateur", + POSTE_ETAT_DRH_CONTROLE : u"Envoyer à la DRH (validation)", + POSTE_ETAT_DRH_2 : u"Envoyer à DRH 2", + POSTE_ETAT_DEMANDE_MODIF : u"Envoyer une demande de modification", + POSTE_ETAT_ACCIOR : u"Envoyer à l'ACCIOR", + POSTE_ETAT_ABF : u"Envoyer à l'ABF", + POSTE_ETAT_HAUTE_DIRECTION : u"Envoyer à la haute direction", + POSTE_ETAT_DEMANDE_JUSTIF : u"Envoyer une demande de justification", + POSTE_ETAT_REGION_FINALISATION : u"Retourner à la région pour finalisation", + POSTE_ETAT_DRH_FINALISATION : u'Retourner à la DRH pour finalisation', + POSTE_ETAT_FINALISE : u'Finaliser' + } + +# définition du worflow séquentiel +POSTE_ACTIONS = { + POSTE_ACTION_ENVOYER_BROUILLON : { + 'nom' : u'Créer', + 'etat_initial' : None, + 'etat_final' : POSTE_ETAT_BROUILLON, + }, + POSTE_ACTION_ENVOYER_ADMINISTRATEUR : { + 'nom' : u'Envoyer', + 'etat_initial' : (POSTE_ETAT_BROUILLON,), + 'etat_final' : POSTE_ETAT_ADMINISTRATEUR, + }, + POSTE_ACTION_ENVOYER_SRV_UTILISATEURS : { + 'nom' : u'Envoyer', + 'etat_initial' : (POSTE_ETAT_ADMINISTRATEUR,), + 'etat_final' : POSTE_ETAT_SERVICE_UTILISATEURS, + }, + POSTE_ACTION_ENVOYER_DIRECTEUR_BUREAU : { + 'nom' : u'Envoyer', + 'etat_initial' : (POSTE_ETAT_ADMINISTRATEUR,), + 'etat_final' : POSTE_ETAT_DIRECTEUR_BUREAU, + }, + POSTE_ACTION_ENVOYER_DRH_CONTROLE : { + 'nom' : u'Envoyer', + 'etat_initial' : (POSTE_ETAT_ADMINISTRATEUR, POSTE_ETAT_DIRECTEUR_BUREAU, POSTE_ETAT_SERVICE_UTILISATEURS), + 'etat_final' : POSTE_ETAT_DRH_CONTROLE, + }, + POSTE_ACTION_ENVOYER_DRH_2 : { + 'nom' : u'Envoyer', + 'etat_initial' : (POSTE_ETAT_DRH_CONTROLE,), + 'etat_final' : POSTE_ETAT_DRH_2, + }, + POSTE_ACTION_DEMANDE_MODIF : { + 'nom' : u'Envoyer', + 'etat_initial' : (POSTE_ETAT_DRH_CONTROLE, POSTE_ETAT_DRH_2), + 'etat_final': POSTE_ETAT_DEMANDE_MODIF, + }, + POSTE_ACTION_RETOUR_DEMANDE_MODIF : { + 'nom': u'Retourner', + 'etat_initial': (POSTE_ETAT_DEMANDE_MODIF,), + 'etat_final': POSTE_ETAT_DRH_CONTROLE, + }, + POSTE_ACTION_ENVOYER_ACCIOR : { + 'nom' : u'Envoyer', + 'etat_initial' : (POSTE_ETAT_DRH_2,), + 'etat_final' : POSTE_ETAT_ACCIOR, + }, + POSTE_ACTION_ENVOYER_ABF : { + 'nom' : u'Envoyer', + 'etat_initial' : (POSTE_ETAT_ACCIOR,), + 'etat_final' : POSTE_ETAT_ABF, + }, + POSTE_ACTION_ENVOYER_HAUTE_DIRECTION : { + 'nom' : u'Envoyer', + 'etat_initial' : (POSTE_ETAT_ABF,), + 'etat_final' : POSTE_ETAT_HAUTE_DIRECTION, + }, + POSTE_ACTION_DEMANDE_JUSTIF : { + 'nom' : u'Envoyer', + 'etat_initial' : (POSTE_ETAT_HAUTE_DIRECTION,), + 'etat_final': POSTE_ETAT_DEMANDE_JUSTIF, + }, + POSTE_ACTION_RETOUR_DEMANDE_JUSTIF : { + 'nom' : u'Envoyer', + 'etat_initial' : (POSTE_ETAT_DEMANDE_JUSTIF,), + 'etat_final': POSTE_ETAT_HAUTE_DIRECTION, + }, + POSTE_ACTION_ENVOYER_REGION_FINALISATION : { + 'nom' : u'Envoyer', + 'etat_initial' : (POSTE_ETAT_HAUTE_DIRECTION,), + 'etat_final' : POSTE_ETAT_REGION_FINALISATION + }, + POSTE_ACTION_ENVOYER_DRH_FINALISATION : { + 'nom' : u'Envoyer', + 'etat_initial' : (POSTE_ETAT_REGION_FINALISATION,), + 'etat_final' : POSTE_ETAT_DRH_FINALISATION, + }, + POSTE_ACTION_FINALISER : { + 'nom' : u'Finaliser', + 'etat_initial' : (POSTE_ETAT_DRH_FINALISATION,), + 'etat_final' : POSTE_ETAT_FINALISE + }, +} + + +class PosteWorkflow(WorkflowMixin): + etat_initial = POSTE_ETAT_BROUILLON + etats = POSTE_ETATS + actions = POSTE_ACTIONS + + class Meta: + abstract = True + app_label = "rh" + + def acces_directeur_bureau(self, action, request): + user_groups = request.user.groups.all() + return grp_drh in user_groups or grp_drh2 in user_groups or \ + (is_user_dans_services_centraux(request.user) and + grp_administrateurs in user_groups) + + def acces_administrateur(self, action, request): + user_groups = request.user.groups.all() + return grp_correspondants_rh in user_groups or grp_drh in user_groups or \ + grp_drh2 in user_groups + + def acces_drh_controle(self, action, request): + user_groups = request.user.groups.all() + return grp_directeurs_bureau in user_groups or \ + grp_service_utilisateurs in user_groups or \ + grp_drh in user_groups or grp_drh2 in user_groups or \ + (grp_administrateurs in user_groups and + (action == POSTE_ACTION_RETOUR_DEMANDE_MODIF or + is_user_dans_region(request.user))) + + def acces_drh_2(self, action, request): + user_groups = request.user.groups.all() + return grp_drh in user_groups + + def acces_demande_modif(self, action, request): + user_groups = request.user.groups.all() + return grp_drh in user_groups or grp_drh2 in user_groups + + def acces_srv_utilisateurs(self, action, request): + if not is_user_dans_services_centraux(request.user): + return False + user_groups = request.user.groups.all() + return grp_administrateurs in user_groups or grp_drh in user_groups or \ + grp_drh2 in user_groups + + def acces_accior(self, action, request): + user_groups = request.user.groups.all() + return grp_drh in user_groups or grp_drh2 in user_groups + + def acces_abf(self, action, request): + user_groups = request.user.groups.all() + return grp_accior in user_groups or grp_drh in user_groups or grp_drh2 in user_groups + + def acces_haute_direction(self, action, request): + user_groups = request.user.groups.all() + return grp_abf in user_groups or grp_drh in user_groups or grp_drh2 in user_groups + + def acces_region_finalisation(self, action, request): + user_groups = request.user.groups.all() + return grp_haute_direction in user_groups or grp_drh in user_groups or \ + grp_drh2 in user_groups + + def acces_drh_finalisation(self, action, request): + user_groups = request.user.groups.all() + return grp_administrateurs in user_groups or \ + grp_correspondants_rh in user_groups or \ + grp_drh in user_groups or \ + grp_drh2 in user_groups + + def acces_demande_justif(self, action, request): + user_groups = request.user.groups.all() + return grp_haute_direction in user_groups or grp_drh in user_groups or \ + grp_drh2 in user_groups + + def acces_retour_demande_modif(self, action, request): + user_groups = request.user.groups.all() + return grp_administrateurs in user_groups or grp_drh in user_groups or \ + grp_drh2 in user_groups + + def acces_retour_demande_justif(self, action, request): + user_groups = request.user.groups.all() + return grp_drh in user_groups or grp_drh2 in user_groups + + def acces_finaliser(self, action, request): + user_groups = request.user.groups.all() + return grp_drh in user_groups or grp_drh2 in user_groups + + +#codes actions +DOSSIER_ETAT_BROUILLON = POSTE_ETAT_BROUILLON +DOSSIER_ETAT_ADMINISTRATEUR = POSTE_ETAT_ADMINISTRATEUR +DOSSIER_ETAT_DIRECTEUR_BUREAU = POSTE_ETAT_DIRECTEUR_BUREAU +DOSSIER_ETAT_SERVICE_UTILISATEURS = POSTE_ETAT_SERVICE_UTILISATEURS +DOSSIER_ETAT_DRH_CONTROLE = POSTE_ETAT_DRH_CONTROLE +DOSSIER_ETAT_DRH_2 = POSTE_ETAT_DRH_2 +DOSSIER_ETAT_DEMANDE_MODIF = POSTE_ETAT_DEMANDE_MODIF +DOSSIER_ETAT_ACCIOR = POSTE_ETAT_ACCIOR +DOSSIER_ETAT_ABF = POSTE_ETAT_ABF +DOSSIER_ETAT_HAUTE_DIRECTION = POSTE_ETAT_HAUTE_DIRECTION +DOSSIER_ETAT_DEMANDE_JUSTIF = POSTE_ETAT_DEMANDE_JUSTIF +DOSSIER_ETAT_REGION_FINALISATION = POSTE_ETAT_REGION_FINALISATION +DOSSIER_ETAT_DRH_FINALISATION = POSTE_ETAT_DRH_FINALISATION +DOSSIER_ETAT_FINALISE = POSTE_ETAT_FINALISE + +class DossierWorkflow(PosteWorkflow): + + class Meta: + abstract = True + app_label = "rh" + + +MAP_GROUPE_ETATS_A_FAIRE = { + grp_correspondants_rh : (POSTE_ETAT_BROUILLON, DOSSIER_ETAT_BROUILLON, + POSTE_ETAT_REGION_FINALISATION, + DOSSIER_ETAT_REGION_FINALISATION), + grp_service_utilisateurs : (POSTE_ETAT_SERVICE_UTILISATEURS, + DOSSIER_ETAT_SERVICE_UTILISATEURS,), + grp_administrateurs : (POSTE_ETAT_ADMINISTRATEUR, + DOSSIER_ETAT_ADMINISTRATEUR, + POSTE_ETAT_DEMANDE_MODIF, + DOSSIER_ETAT_DEMANDE_MODIF, + POSTE_ETAT_REGION_FINALISATION, + DOSSIER_ETAT_REGION_FINALISATION, + ), + grp_directeurs_bureau : (POSTE_ETAT_DIRECTEUR_BUREAU, DOSSIER_ETAT_DIRECTEUR_BUREAU, ), + grp_drh : (POSTE_ETAT_DRH_CONTROLE, POSTE_ETAT_DRH_FINALISATION, + DOSSIER_ETAT_DRH_CONTROLE, DOSSIER_ETAT_DRH_FINALISATION, + POSTE_ETAT_DEMANDE_JUSTIF, DOSSIER_ETAT_DEMANDE_JUSTIF), + grp_drh2 : (POSTE_ETAT_DRH_2, DOSSIER_ETAT_DRH_2), + grp_accior : (POSTE_ETAT_ACCIOR, DOSSIER_ETAT_ACCIOR, ), + grp_abf : (POSTE_ETAT_ABF, DOSSIER_ETAT_ABF, ), + grp_haute_direction : (POSTE_ETAT_HAUTE_DIRECTION, DOSSIER_ETAT_HAUTE_DIRECTION, ), +} + + +ETATS_EDITABLE = (POSTE_ETAT_BROUILLON, POSTE_ETAT_ADMINISTRATEUR, + POSTE_ETAT_DRH_CONTROLE, POSTE_ETAT_DRH_2, + POSTE_ETAT_DIRECTEUR_BUREAU, + POSTE_ETAT_SERVICE_UTILISATEURS, POSTE_ETAT_DEMANDE_MODIF, + POSTE_ETAT_DEMANDE_JUSTIF, DOSSIER_ETAT_BROUILLON, + DOSSIER_ETAT_ADMINISTRATEUR, DOSSIER_ETAT_DRH_CONTROLE, + DOSSIER_ETAT_DRH_2, DOSSIER_ETAT_DIRECTEUR_BUREAU, + DOSSIER_ETAT_SERVICE_UTILISATEURS, + DOSSIER_ETAT_DEMANDE_MODIF, DOSSIER_ETAT_DEMANDE_JUSTIF, +) + +ETATS_VALIDE = (DOSSIER_ETAT_REGION_FINALISATION, DOSSIER_ETAT_DRH_FINALISATION, + DOSSIER_ETAT_FINALISE)