# -*- 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
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)
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):
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 })
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):
# 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()
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())
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
"""
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):
"""
"""
dossiers = self.get_dossiers()
if len(dossiers) > 0:
- nom = dossiers[0].complement1
+ nom = dossiers[0].poste.nom
else:
nom = ""
return nom
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():
# 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)
# 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()
# 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)
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):
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:
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
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()
--- /dev/null
+# 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']
--- /dev/null
+# 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']
--- /dev/null
+# 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']
--- /dev/null
+# 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']
--- /dev/null
+# -=- 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)
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
('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.
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__
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,
'ajax_select',
'south',
'reversion',
- 'project.rh',
'auf.django.workflow',
'auf.django.permissions',
- 'project.rh_v1',
+ #'project.rh_v1',
'project.rh',
'project.dae',
'alphafilter',
'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',
--- /dev/null
+# -*- 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)
+
+
--- /dev/null
+# -*- 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)