django = 1.2.5
south = 0.7
auf.django.skin = 0.15dev
-auf.django.auth = 0.5.2dev
+auf.django.auth = 0.5.5dev
django-reversion = 1.3.3
-auf.django.workflow = 0.13dev
+auf.django.workflow = 0.14dev
django-ajax-selects = 1.1.4
-
#reportlab = 2.5
#html5lib = 0.90
#pyPDF = 1.13
from models import Poste
class PosteAdmin(VersionAdmin):
- list_display = ('_titre', 'pourvu', 'actif', )
+ list_display = ('_titre', 'actif', )
def _titre(self, obj):
return unicode(obj)
from django.db.models import Q
from rh_v1 import models as rh
-from utils import get_employe_from_user, is_user_dans_service
+from utils import get_employe_from_user, is_user_dans_services_centraux
from workflow import grp_drh
class Responsable(object):
Q(employe__nom__icontains=q) | \
Q(employe__prenom__icontains=q)
- if is_user_dans_service(request.user):
+ if is_user_dans_services_centraux(request.user):
q_place = Q(**{ '%s' % prefixe_implantation : employe.implantation })
else:
q_place = Q(**{ '%s__region' % prefixe_implantation : employe.implantation.region })
this is for displaying the currently selected items (in the case of a ManyToMany field)
"""
return rh.Dossier.objects.filter(pk__in=ids)
+
+class Poste(object):
+
+ def get_query(self,q,request):
+
+ employe = get_employe_from_user(request.user)
+ prefixe_implantation = 'poste1__implantation'
+
+ q_recherche = Q(complement1__icontains=q) | Q(poste1__type_poste__nom__icontains=q)
+
+ if is_user_dans_services_centraux(request.user):
+ q_place = Q(**{ '%s' % prefixe_implantation : employe.implantation })
+ else:
+ q_place = Q(**{ '%s__region' % prefixe_implantation : employe.implantation.region })
+
+
+ if grp_drh in request.user.groups.all():
+ q_filtre = q_recherche
+ else:
+ q_filtre = q_place & q_recherche
+ return rh.Dossier.objects.filter(q_filtre).distinct()
+
+ def format_result(self, dossier):
+ return u"[%s] %s" % (dossier.poste1.implantation, dossier.poste1.type_poste.nom)
+
+ def format_item(self, dossier):
+ """ the display of a currently selected object in the area below the search box. html is OK """
+ return self.format_result(dossier)
+
+ def get_objects(self, ids):
+ """ given a list of ids, return the objects ordered as you would like them on the admin page.
+ this is for displaying the currently selected items (in the case of a ManyToMany field)
+ """
+ return rh.Dossier.objects.filter(pk__in=ids)
from workflow import dae_groupes, ETATS_EDITABLE, grp_drh
from project.dae import models as dae
from project.rh_v1 import models as rh
-from utils import get_employe_from_user, is_user_dans_service
+from utils import get_employe_from_user
def user_in_dae_groupes(user):
"""
except:
id = key
Poste = dae.Poste
-
postes = Poste.objects.ma_region_ou_service(user).filter(id=id)
if len(postes) > 0:
return fn(request, *args, **kwargs)
employe = get_employe_from_user(request.user)
prefixe_implantation = 'poste1__implantation'
- if is_user_dans_service(request.user):
- q_place = Q(**{ '%s' % prefixe_implantation : employe.implantation })
- else:
- q_place = Q(**{ '%s__region' % prefixe_implantation : employe.implantation.region })
+ #if is_user_dans_service(request.user):
+ # q_place = Q(**{ '%s' % prefixe_implantation : employe.implantation })
+ #else:
+ # q_place = Q(**{ '%s__region' % prefixe_implantation : employe.implantation.region })
+
+ q_place = Q(**{ '%s__region' % prefixe_implantation : employe.implantation.region })
if grp_drh in request.user.groups.all():
dossier_id = kwargs.get('dossier_id', None)
if dossier_id is not None:
dossier = dae.Dossier.objects.get(id=dossier_id)
- if dossier.etat not in ETATS_EDITABLE:
+ if grp_drh not in request.user.groups.all() and \
+ (dossier.etat not in ETATS_EDITABLE or dossier not in dae.Dossier.objects.mes_choses_a_faire(request.user).all()):
msg = u"Ce dossier d'embauche ne peut plus être modifié."
return redirect_interdiction(request, msg)
-
return fn(request, *args, **kwargs)
return inner
if key is not None and key.split('-')[0] == 'dae':
poste_id = key.split('-')[1]
poste = dae.Poste.objects.get(id=poste_id)
- if poste.etat not in ETATS_EDITABLE:
+ if grp_drh not in request.user.groups.all() and \
+ (poste.etat not in ETATS_EDITABLE or poste not in dae.Poste.objects.mes_choses_a_faire(request.user).all()):
msg = u"Ce poste ne peut plus être modifié."
return redirect_interdiction(request, msg)
from auf.django.workflow.forms import WorkflowFormMixin
from datamaster_modeles import models as ref
from dae import models as dae
-from utils import get_employe_from_user, is_user_dans_service
+from utils import get_employe_from_user, is_user_dans_services_centraux
from rh_v1 import models as rh
from workflow import grp_drh, POSTE_ETATS_BOUTONS
# TRAITEMENT NORMAL
employe = get_employe_from_user(request.user)
# SERVICE
- if is_user_dans_service(request.user):
+ if is_user_dans_services_centraux(request.user):
q = Q(**{ 'id' : employe.implantation_id })
# REGION
else:
# TRAITEMENT NORMAL
employe = get_employe_from_user(request.user)
# SERVICE
- if is_user_dans_service(request.user):
+ if is_user_dans_services_centraux(request.user):
q_region_service = Q(implantation1=employe.implantation) | Q(implantation2=employe.implantation)
# REGION
else:
class DossierComparaisonForm(inlineformset_factory(dae.Dossier, dae.DossierComparaison, extra=3, max_num=3, form=DossierComparaisonForm)):
pass
+class PosteComparaisonForm(forms.ModelForm):
+
+ recherche = AutoCompleteSelectField('postes', required=False)
+
+ class Model:
+ model = dae.PosteComparaison
+
+class PosteComparaisonForm(inlineformset_factory(dae.Poste, dae.PosteComparaison, extra=3, max_num=3, form=PosteComparaisonForm)):
+ pass
+
class FlexibleRemunForm(forms.ModelForm):
montant_mensuel = forms.DecimalField(required=False)
class PosteForm(forms.ModelForm):
""" Formulaire des postes. """
+ # On ne propose que les services actifs
+ service = forms.ModelChoiceField(queryset=rh.Service.objects.filter(actif=True), required=True)
+
responsable=AutoCompleteSelectField('responsables', required=True)
#responsable = forms.ModelChoiceField(
# queryset=rh.Poste.objects.select_related(depth=1))
# La liste des choix est laissée vide. Voir __init__ pour la raison.
poste = forms.ChoiceField(label="Nouveau poste ou évolution du poste",
choices=(), required=False)
-
+
valeur_point_min = forms.ModelChoiceField(queryset=rh.ValeurPoint.actuelles.all(), required=False)
valeur_point_max = forms.ModelChoiceField(queryset=rh.ValeurPoint.actuelles.all(), required=False)
from django.db import models
from django.db.models import Q
-from utils import is_user_dans_service, get_employe_from_user
+from utils import get_employe_from_user
from workflow import POSTE_ETAT_HAUTE_DIRECTION, \
- POSTE_ETAT_POLE_FINANCIER, \
+ POSTE_ETAT_ACCIOR, \
+ POSTE_ETAT_AFB, \
POSTE_ETAT_REFUSE, \
DOSSIER_ETAT_REFUSE, \
+ DOSSIER_ETAT_ACCIOR, \
+ DOSSIER_ETAT_AFB, \
MAP_GROUPE_ETATS_A_FAIRE
from workflow import dae_groupes, \
grp_administrateurs, \
- grp_gestionnaires, \
grp_directeurs_bureau, \
grp_drh, \
- grp_pole_financier, \
+ grp_accior, \
+ grp_afb, \
grp_haute_direction, \
grp_service_utilisateurs, \
- grp_directeurs_service, \
grp_correspondants_rh
class SecurityManager(models.Manager):
+ prefixe_service = None
prefixe_implantation = None
def mes_choses_a_faire(self, user):
q = Q()
+ rien_a_faire = True
for g in user.groups.all():
etats = MAP_GROUPE_ETATS_A_FAIRE.get(g, ())
for etat in etats:
+ rien_a_faire = False
q = q | Q(etat=etat)
- qs = self.ma_region_ou_service(user).filter(q)
+ if rien_a_faire:
+ qs = self.ma_region_ou_service(user).none()
+ else:
+ qs = self.ma_region_ou_service(user).filter(q)
+
return qs
def ma_region_ou_service(self, user):
############################################
# TRAITEMENT NORMAL
############################################
+ # REGION
+ q = Q(**{ self.prefixe_implantation : employe.implantation.region })
# SERVICE
- if is_user_dans_service(user):
- q = Q(**{ '%s' % self.prefixe_implantation : employe.implantation })
- # REGION
- else:
- q = Q(**{ '%s__region' % self.prefixe_implantation : employe.implantation.region })
+ if workflowed_model and grp_service_utilisateurs in user.groups.all():
+ q = q | Q(**{ self.prefixe_service : employe.service})
if workflowed_model:
q_non_refuse = ~Q(etat__in=(POSTE_ETAT_REFUSE, DOSSIER_ETAT_REFUSE,))
- q = q & q_non_refuse
+ # q = q & q_non_refuse
liste = self.get_query_set().filter(q)
- # Il peut être bon que ces personnes connaissent l'état d'avancement du poste ou dossier
- #############################################
- ## TRAITEMENT POLE FINANCIER
- #############################################
- #if workflowed_model and grp_pole_financier in user.groups.all():
- # liste = self.get_query_set().filter(etat=POSTE_ETAT_POLE_FINANCIER)
- #############################################
- ## TRAITEMENT HAUTE DIRECTION
- #############################################
- #if workflowed_model and grp_haute_direction in user.groups.all():
- # liste = self.get_query_set().filter(etat=POSTE_ETAT_HAUTE_DIRECTION)
+ ############################################
+ # TRAITEMENT ACCIOR
+ ############################################
+ if workflowed_model and grp_accior in user.groups.all():
+ liste = liste | self.get_query_set().filter(q_non_refuse & Q(etat__in=(POSTE_ETAT_ACCIOR, DOSSIER_ETAT_ACCIOR,)))
+
+ ############################################
+ # TRAITEMENT AFB
+ ############################################
+ if workflowed_model and grp_afb in user.groups.all():
+ liste = self.get_query_set().filter(q_non_refuse)
+
+ ############################################
+ # TRAITEMENT HAUTE DIRECTION
+ ############################################
+ if workflowed_model and grp_haute_direction in user.groups.all():
+ liste = self.get_query_set().filter(q_non_refuse)
############################################
# TRAITEMENT DRH
"""
Chargement de tous les objets FK existants sur chaque QuerySet.
"""
- prefixe_implantation = "implantation"
+ prefixe_service = "service"
+ prefixe_implantation = "implantation__region"
def ma_region_ou_service(self, user):
return super(PosteManager, self).ma_region_ou_service(user).filter(actif=True)
class DossierManager(SecurityManager):
- prefixe_implantation = "poste__implantation"
+ prefixe_service = "poste__service"
+ prefixe_implantation = "poste__implantation__region"
def ma_region_ou_service(self, user):
return super(DossierManager, self).ma_region_ou_service(user).filter(poste__actif=True)
--- /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 'PosteComparaison'
+ db.create_table('dae_postecomparaison', (
+ ('montant', self.gf('django.db.models.fields.IntegerField')(null=True)),
+ ('implantation', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['datamaster_modeles.Implantation'], null=True, blank=True)),
+ ('devise', self.gf('django.db.models.fields.related.ForeignKey')(default=5, related_name='+', blank=True, null=True, to=orm['rh_v1.Devise'])),
+ ('montant_euros', self.gf('django.db.models.fields.IntegerField')(null=True)),
+ ('poste', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True)),
+ ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)),
+ ))
+ db.send_create_signal('dae', ['PosteComparaison'])
+
+
+ def backwards(self, orm):
+
+ # Deleting model 'PosteComparaison'
+ db.delete_table('dae_postecomparaison')
+
+
+ models = {
+ 'auth.group': {
+ 'Meta': {'object_name': 'Group'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '80', 'unique': 'True'}),
+ 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
+ },
+ 'auth.permission': {
+ 'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
+ 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
+ },
+ 'auth.user': {
+ 'Meta': {'object_name': 'User'},
+ 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+ 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
+ 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+ 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
+ 'username': ('django.db.models.fields.CharField', [], {'max_length': '30', 'unique': 'True'})
+ },
+ 'contenttypes.contenttype': {
+ 'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
+ 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+ },
+ 'dae.dossier': {
+ 'Meta': {'object_name': 'Dossier'},
+ 'classement': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Classement']"}),
+ 'classement_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Classement']"}),
+ 'classement_titulaire_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Classement']"}),
+ 'compte_compta': ('django.db.models.fields.CharField', [], {'default': "'aucun'", 'max_length': '10'}),
+ 'compte_courriel': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ 'contrat_date_debut': ('django.db.models.fields.DateField', [], {}),
+ 'contrat_date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'date_creation': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'devise': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
+ 'employe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['dae.Employe']"}),
+ 'employe_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Employe']"}),
+ 'etat': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '20', 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'justif_nouveau_commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'justif_nouveau_salaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'justif_nouveau_statut': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'justif_nouveau_tmp_remplacement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'justif_rempl_commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'justif_rempl_evaluation': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'justif_rempl_salaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'justif_rempl_statut_employe': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'justif_rempl_type_contrat': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'organisme_bstg': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.OrganismeBstg']"}),
+ 'organisme_bstg_autre': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dossiers'", 'to': "orm['dae.Poste']"}),
+ 'regime_travail': ('django.db.models.fields.DecimalField', [], {'default': '100.0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'default': '35.0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'remplacement': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ 'salaire': ('django.db.models.fields.DecimalField', [], {'default': 'None', 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+ 'salaire_anterieur': ('django.db.models.fields.DecimalField', [], {'default': 'None', 'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'salaire_titulaire_anterieur': ('django.db.models.fields.DecimalField', [], {'default': 'None', 'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'statut': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Statut']"}),
+ 'statut_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Statut']"}),
+ 'statut_residence': ('django.db.models.fields.CharField', [], {'default': "'local'", 'max_length': '10'}),
+ 'statut_titulaire_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Statut']"}),
+ 'type_contrat': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.TypeContrat']"})
+ },
+ 'dae.dossiercomparaison': {
+ 'Meta': {'object_name': 'DossierComparaison'},
+ 'devise': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Devise']"}),
+ 'dossier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comparaisons'", 'to': "orm['dae.Dossier']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']", 'null': 'True', 'blank': 'True'}),
+ 'montant': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
+ 'montant_euros': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
+ 'personne': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'poste': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
+ },
+ 'dae.dossierpiece': {
+ 'Meta': {'object_name': 'DossierPiece'},
+ 'dossier': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Dossier']"}),
+ 'fichier': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+ },
+ 'dae.employe': {
+ 'Meta': {'object_name': 'Employe'},
+ 'genre': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'id_rh': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.Employe']"}),
+ 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+ 'prenom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+ },
+ 'dae.poste': {
+ 'Meta': {'object_name': 'Poste'},
+ 'actif': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
+ 'appel': ('django.db.models.fields.CharField', [], {'default': "'interne'", 'max_length': '10'}),
+ 'autre_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'autre_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'charges_patronales_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'charges_patronales_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'classement_max': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Classement']"}),
+ 'classement_min': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Classement']"}),
+ 'comp_autre_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'comp_autre_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'comp_fonctionpub_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'comp_fonctionpub_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'comp_locale_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'comp_locale_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'comp_ong_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'comp_ong_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'comp_universite_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'comp_universite_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'date_creation': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'date_debut': ('django.db.models.fields.DateField', [], {}),
+ 'date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'date_modification': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
+ 'devise_comparaison': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
+ 'devise_max': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
+ 'devise_min': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
+ 'etat': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '20', 'null': 'True', 'blank': 'True'}),
+ 'expatrie': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'id_rh': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.Poste']"}),
+ 'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']"}),
+ 'indemn_expat_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'indemn_expat_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'indemn_fct_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'indemn_fct_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'justification': ('django.db.models.fields.TextField', [], {}),
+ 'local': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
+ 'mise_a_disposition': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+ 'pourvu': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ 'regime_travail': ('django.db.models.fields.DecimalField', [], {'default': '100.0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'default': '35.0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'responsable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Poste']"}),
+ 'salaire_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'salaire_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'service': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Service']"}),
+ 'type_intervention': ('django.db.models.fields.CharField', [], {'default': "'N'", 'max_length': '1'}),
+ 'type_poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.TypePoste']"}),
+ 'valeur_point_max': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.ValeurPoint']"}),
+ 'valeur_point_min': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.ValeurPoint']"})
+ },
+ 'dae.postecomparaison': {
+ 'Meta': {'object_name': 'PosteComparaison'},
+ 'devise': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Devise']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']", 'null': 'True', 'blank': 'True'}),
+ 'montant': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
+ 'montant_euros': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
+ 'poste': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
+ },
+ 'dae.postefinancement': {
+ 'Meta': {'object_name': 'PosteFinancement'},
+ 'commentaire': ('django.db.models.fields.TextField', [], {}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'financements'", 'to': "orm['dae.Poste']"}),
+ 'pourcentage': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
+ 'type': ('django.db.models.fields.CharField', [], {'max_length': '1'})
+ },
+ 'dae.postepiece': {
+ 'Meta': {'object_name': 'PostePiece'},
+ 'fichier': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+ 'poste': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Poste']"})
+ },
+ 'dae.remuneration': {
+ 'Meta': {'object_name': 'Remuneration'},
+ 'date_creation': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'devise': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to_field': "'code'", 'db_column': "'devise'", 'to': "orm['rh_v1.Devise']"}),
+ 'dossier': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Dossier']", 'db_column': "'dossier'"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'montant': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+ 'precision': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'type'", 'to': "orm['rh_v1.TypeRemuneration']"}),
+ 'user_creation': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'datamaster_modeles.bureau': {
+ 'Meta': {'object_name': 'Bureau', 'db_table': "u'ref_bureau'"},
+ 'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ 'code': ('django.db.models.fields.CharField', [], {'max_length': '255', 'unique': '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'"}),
+ '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', 'blank': 'True'}),
+ 'adresse_physique_bureau': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+ 'adresse_physique_code_postal': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'adresse_physique_code_postal_avant_ville': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'adresse_physique_no': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'adresse_physique_pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'impl_adresse_physique'", 'to_field': "'code'", 'db_column': "'adresse_physique_pays'", 'to': "orm['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', [], {'max_length': '255', 'unique': 'True'}),
+ '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', 'blank': 'True'}),
+ 'code': ('django.db.models.fields.CharField', [], {'max_length': '2', 'unique': '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', [], {'max_length': '3', 'unique': 'True', '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', 'blank': 'True'}),
+ 'code': ('django.db.models.fields.CharField', [], {'max_length': '255', 'unique': 'True'}),
+ 'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+ 'implantation_bureau': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'gere_region'", 'db_column': "'implantation_bureau'", 'to': "orm['datamaster_modeles.Implantation']"}),
+ 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+ },
+ 'rh_v1.classement': {
+ 'Meta': {'object_name': 'Classement'},
+ 'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ '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', [], {'max_length': '10', 'unique': 'True'}),
+ 'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+ 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+ },
+ 'rh_v1.employe': {
+ 'Meta': {'object_name': 'Employe'},
+ 'adresse': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'code_postal': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'date_creation': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'date_entree': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'date_maj': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
+ 'date_naissance': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'genre': ('django.db.models.fields.CharField', [], {'max_length': '1', 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+ 'nationalite': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'nationalite'", 'to_field': "'code'", 'db_column': "'nationalite'", 'to': "orm['datamaster_modeles.Pays']"}),
+ 'no_rue': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+ 'pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'pays'", 'db_column': "'pays'", 'to_field': "'code'", 'to': "orm['datamaster_modeles.Pays']", 'blank': 'True', 'null': 'True'}),
+ 'prenom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+ 'province': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'situation_famille': ('django.db.models.fields.CharField', [], {'max_length': '1', 'null': 'True', 'blank': 'True'}),
+ 'tel_cellulaire': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'tel_domicile': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'ville': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
+ },
+ 'rh_v1.familleemploi': {
+ 'Meta': {'object_name': 'FamilleEmploi'},
+ 'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ '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', 'blank': 'True'}),
+ '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', 'blank': 'True'}),
+ 'date_modification': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+ 'implantation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'implantation'", 'to': "orm['datamaster_modeles.Implantation']"}),
+ 'proportion': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
+ 'type_poste': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['rh_v1.TypePoste']", 'db_column': "'type_poste'"})
+ },
+ 'rh_v1.service': {
+ 'Meta': {'object_name': 'Service'},
+ 'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ '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', 'blank': 'True'}),
+ 'code': ('django.db.models.fields.CharField', [], {'max_length': '25', 'unique': 'True'}),
+ 'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+ 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+ 'type_contrat_categorie': ('django.db.models.fields.CharField', [], {'max_length': '10'})
+ },
+ 'rh_v1.typecontrat': {
+ 'Meta': {'object_name': 'TypeContrat'},
+ 'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ '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', 'blank': 'True'}),
+ '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', 'blank': 'True'}),
+ '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', 'blank': 'True'}),
+ '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.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', [], {'related_name': "'valeurs_point'", 'db_column': "'implantation'", 'to': "orm['datamaster_modeles.Implantation']"}),
+ 'valeur': ('django.db.models.fields.FloatField', [], {})
+ },
+ 'workflow.workflowcommentaire': {
+ 'Meta': {'object_name': 'WorkflowCommentaire'},
+ 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+ 'date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'etat_final': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'etat_initial': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}),
+ 'owner': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}),
+ 'texte': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
+ }
+ }
+
+ complete_apps = ['dae']
--- /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):
+
+ # Renaming column for 'PosteComparaison.poste' to match new field type.
+ db.rename_column('dae_postecomparaison', 'poste', 'poste_id')
+ # Changing field 'PosteComparaison.poste'
+ db.alter_column('dae_postecomparaison', 'poste_id', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['dae.Poste']))
+
+ # Adding index on 'PosteComparaison', fields ['poste']
+ db.create_index('dae_postecomparaison', ['poste_id'])
+
+
+ def backwards(self, orm):
+
+ # Renaming column for 'PosteComparaison.poste' to match new field type.
+ db.rename_column('dae_postecomparaison', 'poste_id', 'poste')
+ # Changing field 'PosteComparaison.poste'
+ db.alter_column('dae_postecomparaison', 'poste', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True))
+
+ # Removing index on 'PosteComparaison', fields ['poste']
+ db.delete_index('dae_postecomparaison', ['poste_id'])
+
+
+ models = {
+ 'auth.group': {
+ 'Meta': {'object_name': 'Group'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '80', 'unique': 'True'}),
+ 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
+ },
+ 'auth.permission': {
+ 'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
+ 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
+ },
+ 'auth.user': {
+ 'Meta': {'object_name': 'User'},
+ 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+ 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
+ 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+ 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
+ 'username': ('django.db.models.fields.CharField', [], {'max_length': '30', 'unique': 'True'})
+ },
+ 'contenttypes.contenttype': {
+ 'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
+ 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+ },
+ 'dae.dossier': {
+ 'Meta': {'object_name': 'Dossier'},
+ 'classement': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Classement']"}),
+ 'classement_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Classement']"}),
+ 'classement_titulaire_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Classement']"}),
+ 'compte_compta': ('django.db.models.fields.CharField', [], {'default': "'aucun'", 'max_length': '10'}),
+ 'compte_courriel': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ 'contrat_date_debut': ('django.db.models.fields.DateField', [], {}),
+ 'contrat_date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'date_creation': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'devise': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
+ 'employe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['dae.Employe']"}),
+ 'employe_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Employe']"}),
+ 'etat': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '20', 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'justif_nouveau_commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'justif_nouveau_salaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'justif_nouveau_statut': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'justif_nouveau_tmp_remplacement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'justif_rempl_commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'justif_rempl_evaluation': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'justif_rempl_salaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'justif_rempl_statut_employe': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'justif_rempl_type_contrat': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'organisme_bstg': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.OrganismeBstg']"}),
+ 'organisme_bstg_autre': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dossiers'", 'to': "orm['dae.Poste']"}),
+ 'regime_travail': ('django.db.models.fields.DecimalField', [], {'default': '100.0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'default': '35.0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'remplacement': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ 'salaire': ('django.db.models.fields.DecimalField', [], {'default': 'None', 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+ 'salaire_anterieur': ('django.db.models.fields.DecimalField', [], {'default': 'None', 'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'salaire_titulaire_anterieur': ('django.db.models.fields.DecimalField', [], {'default': 'None', 'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'statut': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Statut']"}),
+ 'statut_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Statut']"}),
+ 'statut_residence': ('django.db.models.fields.CharField', [], {'default': "'local'", 'max_length': '10'}),
+ 'statut_titulaire_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Statut']"}),
+ 'type_contrat': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.TypeContrat']"})
+ },
+ 'dae.dossiercomparaison': {
+ 'Meta': {'object_name': 'DossierComparaison'},
+ 'devise': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Devise']"}),
+ 'dossier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comparaisons'", 'to': "orm['dae.Dossier']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']", 'null': 'True', 'blank': 'True'}),
+ 'montant': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
+ 'montant_euros': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
+ 'personne': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'poste': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
+ },
+ 'dae.dossierpiece': {
+ 'Meta': {'object_name': 'DossierPiece'},
+ 'dossier': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Dossier']"}),
+ 'fichier': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+ },
+ 'dae.employe': {
+ 'Meta': {'object_name': 'Employe'},
+ 'genre': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'id_rh': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.Employe']"}),
+ 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+ 'prenom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+ },
+ 'dae.poste': {
+ 'Meta': {'object_name': 'Poste'},
+ 'actif': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
+ 'appel': ('django.db.models.fields.CharField', [], {'default': "'interne'", 'max_length': '10'}),
+ 'autre_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'autre_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'charges_patronales_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'charges_patronales_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'classement_max': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Classement']"}),
+ 'classement_min': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Classement']"}),
+ 'comp_autre_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'comp_autre_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'comp_fonctionpub_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'comp_fonctionpub_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'comp_locale_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'comp_locale_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'comp_ong_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'comp_ong_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'comp_universite_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'comp_universite_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'date_creation': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'date_debut': ('django.db.models.fields.DateField', [], {}),
+ 'date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'date_modification': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
+ 'devise_comparaison': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
+ 'devise_max': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
+ 'devise_min': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
+ 'etat': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '20', 'null': 'True', 'blank': 'True'}),
+ 'expatrie': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'id_rh': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.Poste']"}),
+ 'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']"}),
+ 'indemn_expat_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'indemn_expat_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'indemn_fct_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'indemn_fct_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'justification': ('django.db.models.fields.TextField', [], {}),
+ 'local': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
+ 'mise_a_disposition': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+ 'pourvu': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ 'regime_travail': ('django.db.models.fields.DecimalField', [], {'default': '100.0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'default': '35.0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'responsable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Poste']"}),
+ 'salaire_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'salaire_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'service': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Service']"}),
+ 'type_intervention': ('django.db.models.fields.CharField', [], {'default': "'N'", 'max_length': '1'}),
+ 'type_poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.TypePoste']"}),
+ 'valeur_point_max': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.ValeurPoint']"}),
+ 'valeur_point_min': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.ValeurPoint']"})
+ },
+ 'dae.postecomparaison': {
+ 'Meta': {'object_name': 'PosteComparaison'},
+ 'devise': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Devise']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']", 'null': 'True', 'blank': 'True'}),
+ 'montant': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
+ 'montant_euros': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
+ 'poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comparaisons_internes'", 'to': "orm['dae.Poste']"})
+ },
+ 'dae.postefinancement': {
+ 'Meta': {'object_name': 'PosteFinancement'},
+ 'commentaire': ('django.db.models.fields.TextField', [], {}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'financements'", 'to': "orm['dae.Poste']"}),
+ 'pourcentage': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
+ 'type': ('django.db.models.fields.CharField', [], {'max_length': '1'})
+ },
+ 'dae.postepiece': {
+ 'Meta': {'object_name': 'PostePiece'},
+ 'fichier': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+ 'poste': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Poste']"})
+ },
+ 'dae.remuneration': {
+ 'Meta': {'object_name': 'Remuneration'},
+ 'date_creation': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'devise': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to_field': "'code'", 'db_column': "'devise'", 'to': "orm['rh_v1.Devise']"}),
+ 'dossier': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Dossier']", 'db_column': "'dossier'"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'montant': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+ 'precision': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'type'", 'to': "orm['rh_v1.TypeRemuneration']"}),
+ 'user_creation': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'datamaster_modeles.bureau': {
+ 'Meta': {'object_name': 'Bureau', 'db_table': "u'ref_bureau'"},
+ 'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ 'code': ('django.db.models.fields.CharField', [], {'max_length': '255', 'unique': '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'"}),
+ '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', 'blank': 'True'}),
+ 'adresse_physique_bureau': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+ 'adresse_physique_code_postal': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'adresse_physique_code_postal_avant_ville': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'adresse_physique_no': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'adresse_physique_pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'impl_adresse_physique'", 'to_field': "'code'", 'db_column': "'adresse_physique_pays'", 'to': "orm['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', [], {'max_length': '255', 'unique': 'True'}),
+ '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', 'blank': 'True'}),
+ 'code': ('django.db.models.fields.CharField', [], {'max_length': '2', 'unique': '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', [], {'max_length': '3', 'unique': 'True', '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', 'blank': 'True'}),
+ 'code': ('django.db.models.fields.CharField', [], {'max_length': '255', 'unique': 'True'}),
+ 'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+ 'implantation_bureau': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'gere_region'", 'db_column': "'implantation_bureau'", 'to': "orm['datamaster_modeles.Implantation']"}),
+ 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+ },
+ 'rh_v1.classement': {
+ 'Meta': {'object_name': 'Classement'},
+ 'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ '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', [], {'max_length': '10', 'unique': 'True'}),
+ 'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+ 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+ },
+ 'rh_v1.employe': {
+ 'Meta': {'object_name': 'Employe'},
+ 'adresse': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'code_postal': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'date_creation': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'date_entree': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'date_maj': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
+ 'date_naissance': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'genre': ('django.db.models.fields.CharField', [], {'max_length': '1', 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+ 'nationalite': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'nationalite'", 'to_field': "'code'", 'db_column': "'nationalite'", 'to': "orm['datamaster_modeles.Pays']"}),
+ 'no_rue': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+ 'pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'pays'", 'db_column': "'pays'", 'to_field': "'code'", 'to': "orm['datamaster_modeles.Pays']", 'blank': 'True', 'null': 'True'}),
+ 'prenom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+ 'province': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'situation_famille': ('django.db.models.fields.CharField', [], {'max_length': '1', 'null': 'True', 'blank': 'True'}),
+ 'tel_cellulaire': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'tel_domicile': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'ville': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
+ },
+ 'rh_v1.familleemploi': {
+ 'Meta': {'object_name': 'FamilleEmploi'},
+ 'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ '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', 'blank': 'True'}),
+ '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', 'blank': 'True'}),
+ 'date_modification': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+ 'implantation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'implantation'", 'to': "orm['datamaster_modeles.Implantation']"}),
+ 'proportion': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
+ 'type_poste': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['rh_v1.TypePoste']", 'db_column': "'type_poste'"})
+ },
+ 'rh_v1.service': {
+ 'Meta': {'object_name': 'Service'},
+ 'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ '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', 'blank': 'True'}),
+ 'code': ('django.db.models.fields.CharField', [], {'max_length': '25', 'unique': 'True'}),
+ 'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+ 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+ 'type_contrat_categorie': ('django.db.models.fields.CharField', [], {'max_length': '10'})
+ },
+ 'rh_v1.typecontrat': {
+ 'Meta': {'object_name': 'TypeContrat'},
+ 'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ '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', 'blank': 'True'}),
+ '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', 'blank': 'True'}),
+ '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', 'blank': 'True'}),
+ '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.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', [], {'related_name': "'valeurs_point'", 'db_column': "'implantation'", 'to': "orm['datamaster_modeles.Implantation']"}),
+ 'valeur': ('django.db.models.fields.FloatField', [], {})
+ },
+ 'workflow.workflowcommentaire': {
+ 'Meta': {'object_name': 'WorkflowCommentaire'},
+ 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+ 'date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'etat_final': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'etat_initial': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}),
+ 'owner': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}),
+ 'texte': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
+ }
+ }
+
+ complete_apps = ['dae']
--- /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 field 'PosteComparaison.nom'
+ db.add_column('dae_postecomparaison', 'nom', self.gf('django.db.models.fields.CharField')(max_length=255, null=True, blank=True), keep_default=False)
+
+
+ def backwards(self, orm):
+
+ # Deleting field 'PosteComparaison.nom'
+ db.delete_column('dae_postecomparaison', 'nom')
+
+
+ models = {
+ 'auth.group': {
+ 'Meta': {'object_name': 'Group'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '80', 'unique': 'True'}),
+ 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
+ },
+ 'auth.permission': {
+ 'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
+ 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
+ },
+ 'auth.user': {
+ 'Meta': {'object_name': 'User'},
+ 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+ 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
+ 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+ 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
+ 'username': ('django.db.models.fields.CharField', [], {'max_length': '30', 'unique': 'True'})
+ },
+ 'contenttypes.contenttype': {
+ 'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
+ 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+ },
+ 'dae.dossier': {
+ 'Meta': {'object_name': 'Dossier'},
+ 'classement': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Classement']"}),
+ 'classement_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Classement']"}),
+ 'classement_titulaire_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Classement']"}),
+ 'compte_compta': ('django.db.models.fields.CharField', [], {'default': "'aucun'", 'max_length': '10'}),
+ 'compte_courriel': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ 'contrat_date_debut': ('django.db.models.fields.DateField', [], {}),
+ 'contrat_date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'date_creation': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'devise': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
+ 'employe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['dae.Employe']"}),
+ 'employe_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Employe']"}),
+ 'etat': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '20', 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'justif_nouveau_commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'justif_nouveau_salaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'justif_nouveau_statut': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'justif_nouveau_tmp_remplacement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'justif_rempl_commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'justif_rempl_evaluation': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'justif_rempl_salaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'justif_rempl_statut_employe': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'justif_rempl_type_contrat': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'organisme_bstg': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.OrganismeBstg']"}),
+ 'organisme_bstg_autre': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dossiers'", 'to': "orm['dae.Poste']"}),
+ 'regime_travail': ('django.db.models.fields.DecimalField', [], {'default': '100.0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'default': '35.0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'remplacement': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ 'salaire': ('django.db.models.fields.DecimalField', [], {'default': 'None', 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+ 'salaire_anterieur': ('django.db.models.fields.DecimalField', [], {'default': 'None', 'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'salaire_titulaire_anterieur': ('django.db.models.fields.DecimalField', [], {'default': 'None', 'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'statut': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Statut']"}),
+ 'statut_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Statut']"}),
+ 'statut_residence': ('django.db.models.fields.CharField', [], {'default': "'local'", 'max_length': '10'}),
+ 'statut_titulaire_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Statut']"}),
+ 'type_contrat': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.TypeContrat']"})
+ },
+ 'dae.dossiercomparaison': {
+ 'Meta': {'object_name': 'DossierComparaison'},
+ 'devise': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Devise']"}),
+ 'dossier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comparaisons'", 'to': "orm['dae.Dossier']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']", 'null': 'True', 'blank': 'True'}),
+ 'montant': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
+ 'montant_euros': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
+ 'personne': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'poste': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
+ },
+ 'dae.dossierpiece': {
+ 'Meta': {'object_name': 'DossierPiece'},
+ 'dossier': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Dossier']"}),
+ 'fichier': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+ },
+ 'dae.employe': {
+ 'Meta': {'object_name': 'Employe'},
+ 'genre': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'id_rh': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.Employe']"}),
+ 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+ 'prenom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+ },
+ 'dae.poste': {
+ 'Meta': {'object_name': 'Poste'},
+ 'actif': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
+ 'appel': ('django.db.models.fields.CharField', [], {'default': "'interne'", 'max_length': '10'}),
+ 'autre_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'autre_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'charges_patronales_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'charges_patronales_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'classement_max': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Classement']"}),
+ 'classement_min': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Classement']"}),
+ 'comp_autre_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'comp_autre_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'comp_fonctionpub_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'comp_fonctionpub_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'comp_locale_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'comp_locale_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'comp_ong_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'comp_ong_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'comp_universite_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'comp_universite_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'date_creation': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'date_debut': ('django.db.models.fields.DateField', [], {}),
+ 'date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'date_modification': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
+ 'devise_comparaison': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
+ 'devise_max': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
+ 'devise_min': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
+ 'etat': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '20', 'null': 'True', 'blank': 'True'}),
+ 'expatrie': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'id_rh': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.Poste']"}),
+ 'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']"}),
+ 'indemn_expat_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'indemn_expat_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'indemn_fct_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'indemn_fct_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'justification': ('django.db.models.fields.TextField', [], {}),
+ 'local': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
+ 'mise_a_disposition': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+ 'pourvu': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ 'regime_travail': ('django.db.models.fields.DecimalField', [], {'default': '100.0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'default': '35.0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'responsable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Poste']"}),
+ 'salaire_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'salaire_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'service': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Service']"}),
+ 'type_intervention': ('django.db.models.fields.CharField', [], {'default': "'N'", 'max_length': '1'}),
+ 'type_poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.TypePoste']"}),
+ 'valeur_point_max': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.ValeurPoint']"}),
+ 'valeur_point_min': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.ValeurPoint']"})
+ },
+ 'dae.postecomparaison': {
+ 'Meta': {'object_name': 'PosteComparaison'},
+ 'devise': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Devise']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']", 'null': 'True', 'blank': 'True'}),
+ 'montant': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
+ 'montant_euros': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
+ 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comparaisons_internes'", 'to': "orm['dae.Poste']"})
+ },
+ 'dae.postefinancement': {
+ 'Meta': {'object_name': 'PosteFinancement'},
+ 'commentaire': ('django.db.models.fields.TextField', [], {}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'financements'", 'to': "orm['dae.Poste']"}),
+ 'pourcentage': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
+ 'type': ('django.db.models.fields.CharField', [], {'max_length': '1'})
+ },
+ 'dae.postepiece': {
+ 'Meta': {'object_name': 'PostePiece'},
+ 'fichier': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+ 'poste': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Poste']"})
+ },
+ 'dae.remuneration': {
+ 'Meta': {'object_name': 'Remuneration'},
+ 'date_creation': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'devise': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to_field': "'code'", 'db_column': "'devise'", 'to': "orm['rh_v1.Devise']"}),
+ 'dossier': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Dossier']", 'db_column': "'dossier'"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'montant': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+ 'precision': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'type'", 'to': "orm['rh_v1.TypeRemuneration']"}),
+ 'user_creation': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'datamaster_modeles.bureau': {
+ 'Meta': {'object_name': 'Bureau', 'db_table': "u'ref_bureau'"},
+ 'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ 'code': ('django.db.models.fields.CharField', [], {'max_length': '255', 'unique': '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'"}),
+ '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', 'blank': 'True'}),
+ 'adresse_physique_bureau': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+ 'adresse_physique_code_postal': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'adresse_physique_code_postal_avant_ville': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'adresse_physique_no': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'adresse_physique_pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'impl_adresse_physique'", 'to_field': "'code'", 'db_column': "'adresse_physique_pays'", 'to': "orm['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', [], {'max_length': '255', 'unique': 'True'}),
+ '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', 'blank': 'True'}),
+ 'code': ('django.db.models.fields.CharField', [], {'max_length': '2', 'unique': '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', [], {'max_length': '3', 'unique': 'True', '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', 'blank': 'True'}),
+ 'code': ('django.db.models.fields.CharField', [], {'max_length': '255', 'unique': 'True'}),
+ 'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+ 'implantation_bureau': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'gere_region'", 'db_column': "'implantation_bureau'", 'to': "orm['datamaster_modeles.Implantation']"}),
+ 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+ },
+ 'rh_v1.classement': {
+ 'Meta': {'object_name': 'Classement'},
+ 'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ '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', [], {'max_length': '10', 'unique': 'True'}),
+ 'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+ 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+ },
+ 'rh_v1.employe': {
+ 'Meta': {'object_name': 'Employe'},
+ 'adresse': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'code_postal': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'date_creation': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'date_entree': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'date_maj': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
+ 'date_naissance': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'genre': ('django.db.models.fields.CharField', [], {'max_length': '1', 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+ 'nationalite': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'nationalite'", 'to_field': "'code'", 'db_column': "'nationalite'", 'to': "orm['datamaster_modeles.Pays']"}),
+ 'no_rue': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+ 'pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'pays'", 'db_column': "'pays'", 'to_field': "'code'", 'to': "orm['datamaster_modeles.Pays']", 'blank': 'True', 'null': 'True'}),
+ 'prenom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+ 'province': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'situation_famille': ('django.db.models.fields.CharField', [], {'max_length': '1', 'null': 'True', 'blank': 'True'}),
+ 'tel_cellulaire': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'tel_domicile': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'ville': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
+ },
+ 'rh_v1.familleemploi': {
+ 'Meta': {'object_name': 'FamilleEmploi'},
+ 'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ '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', 'blank': 'True'}),
+ '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', 'blank': 'True'}),
+ 'date_modification': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+ 'implantation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'implantation'", 'to': "orm['datamaster_modeles.Implantation']"}),
+ 'proportion': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
+ 'type_poste': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['rh_v1.TypePoste']", 'db_column': "'type_poste'"})
+ },
+ 'rh_v1.service': {
+ 'Meta': {'object_name': 'Service'},
+ 'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ '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', 'blank': 'True'}),
+ 'code': ('django.db.models.fields.CharField', [], {'max_length': '25', 'unique': 'True'}),
+ 'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+ 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+ 'type_contrat_categorie': ('django.db.models.fields.CharField', [], {'max_length': '10'})
+ },
+ 'rh_v1.typecontrat': {
+ 'Meta': {'object_name': 'TypeContrat'},
+ 'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ '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', 'blank': 'True'}),
+ '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', 'blank': 'True'}),
+ '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', 'blank': 'True'}),
+ '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.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', [], {'related_name': "'valeurs_point'", 'db_column': "'implantation'", 'to': "orm['datamaster_modeles.Implantation']"}),
+ 'valeur': ('django.db.models.fields.FloatField', [], {})
+ },
+ 'workflow.workflowcommentaire': {
+ 'Meta': {'object_name': 'WorkflowCommentaire'},
+ 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+ 'date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'etat_final': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'etat_initial': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}),
+ 'owner': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}),
+ 'texte': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
+ }
+ }
+
+ complete_apps = ['dae']
--- /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):
+
+ # Deleting field 'Poste.pourvu'
+ db.delete_column('dae_poste', 'pourvu')
+
+
+ def backwards(self, orm):
+
+ # Adding field 'Poste.pourvu'
+ db.add_column('dae_poste', 'pourvu', self.gf('django.db.models.fields.BooleanField')(default=False, blank=True), keep_default=False)
+
+
+ models = {
+ 'auth.group': {
+ 'Meta': {'object_name': 'Group'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '80', 'unique': 'True'}),
+ 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
+ },
+ 'auth.permission': {
+ 'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
+ 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
+ },
+ 'auth.user': {
+ 'Meta': {'object_name': 'User'},
+ 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+ 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
+ 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+ 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
+ 'username': ('django.db.models.fields.CharField', [], {'max_length': '30', 'unique': 'True'})
+ },
+ 'contenttypes.contenttype': {
+ 'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
+ 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+ },
+ 'dae.dossier': {
+ 'Meta': {'object_name': 'Dossier'},
+ 'classement': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Classement']"}),
+ 'classement_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Classement']"}),
+ 'classement_titulaire_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Classement']"}),
+ 'compte_compta': ('django.db.models.fields.CharField', [], {'default': "'aucun'", 'max_length': '10'}),
+ 'compte_courriel': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ 'contrat_date_debut': ('django.db.models.fields.DateField', [], {}),
+ 'contrat_date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'date_creation': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'devise': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
+ 'employe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['dae.Employe']"}),
+ 'employe_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Employe']"}),
+ 'etat': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '20', 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'justif_nouveau_commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'justif_nouveau_salaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'justif_nouveau_statut': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'justif_nouveau_tmp_remplacement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'justif_rempl_commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'justif_rempl_evaluation': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'justif_rempl_salaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'justif_rempl_statut_employe': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'justif_rempl_type_contrat': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'organisme_bstg': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.OrganismeBstg']"}),
+ 'organisme_bstg_autre': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dossiers'", 'to': "orm['dae.Poste']"}),
+ 'regime_travail': ('django.db.models.fields.DecimalField', [], {'default': '100.0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'default': '35.0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'remplacement': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ 'salaire': ('django.db.models.fields.DecimalField', [], {'default': 'None', 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+ 'salaire_anterieur': ('django.db.models.fields.DecimalField', [], {'default': 'None', 'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'salaire_titulaire_anterieur': ('django.db.models.fields.DecimalField', [], {'default': 'None', 'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'statut': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Statut']"}),
+ 'statut_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Statut']"}),
+ 'statut_residence': ('django.db.models.fields.CharField', [], {'default': "'local'", 'max_length': '10'}),
+ 'statut_titulaire_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Statut']"}),
+ 'type_contrat': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.TypeContrat']"})
+ },
+ 'dae.dossiercomparaison': {
+ 'Meta': {'object_name': 'DossierComparaison'},
+ 'devise': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Devise']"}),
+ 'dossier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comparaisons'", 'to': "orm['dae.Dossier']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']", 'null': 'True', 'blank': 'True'}),
+ 'montant': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
+ 'montant_euros': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
+ 'personne': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'poste': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
+ },
+ 'dae.dossierpiece': {
+ 'Meta': {'object_name': 'DossierPiece'},
+ 'dossier': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Dossier']"}),
+ 'fichier': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+ },
+ 'dae.employe': {
+ 'Meta': {'object_name': 'Employe'},
+ 'genre': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'id_rh': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.Employe']"}),
+ 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+ 'prenom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+ },
+ 'dae.poste': {
+ 'Meta': {'object_name': 'Poste'},
+ 'actif': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
+ 'appel': ('django.db.models.fields.CharField', [], {'default': "'interne'", 'max_length': '10'}),
+ 'autre_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'autre_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'charges_patronales_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'charges_patronales_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'classement_max': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Classement']"}),
+ 'classement_min': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Classement']"}),
+ 'comp_autre_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'comp_autre_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'comp_fonctionpub_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'comp_fonctionpub_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'comp_locale_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'comp_locale_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'comp_ong_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'comp_ong_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'comp_universite_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'comp_universite_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'date_creation': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'date_debut': ('django.db.models.fields.DateField', [], {}),
+ 'date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'date_modification': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
+ 'devise_comparaison': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
+ 'devise_max': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
+ 'devise_min': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
+ 'etat': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '20', 'null': 'True', 'blank': 'True'}),
+ 'expatrie': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'id_rh': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.Poste']"}),
+ 'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']"}),
+ 'indemn_expat_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'indemn_expat_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'indemn_fct_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'indemn_fct_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'justification': ('django.db.models.fields.TextField', [], {}),
+ 'local': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
+ 'mise_a_disposition': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+ 'regime_travail': ('django.db.models.fields.DecimalField', [], {'default': '100.0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'default': '35.0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'responsable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Poste']"}),
+ 'salaire_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'salaire_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'service': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Service']"}),
+ 'type_intervention': ('django.db.models.fields.CharField', [], {'default': "'N'", 'max_length': '1'}),
+ 'type_poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.TypePoste']"}),
+ 'valeur_point_max': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.ValeurPoint']"}),
+ 'valeur_point_min': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.ValeurPoint']"})
+ },
+ 'dae.postecomparaison': {
+ 'Meta': {'object_name': 'PosteComparaison'},
+ 'devise': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Devise']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']", 'null': 'True', 'blank': 'True'}),
+ 'montant': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
+ 'montant_euros': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
+ 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comparaisons_internes'", 'to': "orm['dae.Poste']"})
+ },
+ 'dae.postefinancement': {
+ 'Meta': {'object_name': 'PosteFinancement'},
+ 'commentaire': ('django.db.models.fields.TextField', [], {}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'financements'", 'to': "orm['dae.Poste']"}),
+ 'pourcentage': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
+ 'type': ('django.db.models.fields.CharField', [], {'max_length': '1'})
+ },
+ 'dae.postepiece': {
+ 'Meta': {'object_name': 'PostePiece'},
+ 'fichier': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+ 'poste': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Poste']"})
+ },
+ 'dae.remuneration': {
+ 'Meta': {'object_name': 'Remuneration'},
+ 'date_creation': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'devise': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to_field': "'code'", 'db_column': "'devise'", 'to': "orm['rh_v1.Devise']"}),
+ 'dossier': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Dossier']", 'db_column': "'dossier'"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'montant': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+ 'precision': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'type'", 'to': "orm['rh_v1.TypeRemuneration']"}),
+ 'user_creation': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'datamaster_modeles.bureau': {
+ 'Meta': {'object_name': 'Bureau', 'db_table': "u'ref_bureau'"},
+ 'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ 'code': ('django.db.models.fields.CharField', [], {'max_length': '255', 'unique': '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'"}),
+ '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', 'blank': 'True'}),
+ 'adresse_physique_bureau': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+ 'adresse_physique_code_postal': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'adresse_physique_code_postal_avant_ville': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'adresse_physique_no': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'adresse_physique_pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'impl_adresse_physique'", 'to_field': "'code'", 'db_column': "'adresse_physique_pays'", 'to': "orm['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', [], {'max_length': '255', 'unique': 'True'}),
+ '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', 'blank': 'True'}),
+ 'code': ('django.db.models.fields.CharField', [], {'max_length': '2', 'unique': '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', [], {'max_length': '3', 'unique': 'True', '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', 'blank': 'True'}),
+ 'code': ('django.db.models.fields.CharField', [], {'max_length': '255', 'unique': 'True'}),
+ 'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+ 'implantation_bureau': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'gere_region'", 'db_column': "'implantation_bureau'", 'to': "orm['datamaster_modeles.Implantation']"}),
+ 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+ },
+ 'rh_v1.classement': {
+ 'Meta': {'object_name': 'Classement'},
+ 'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ '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', [], {'max_length': '10', 'unique': 'True'}),
+ 'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+ 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+ },
+ 'rh_v1.employe': {
+ 'Meta': {'object_name': 'Employe'},
+ 'adresse': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'code_postal': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'date_creation': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'date_entree': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'date_maj': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
+ 'date_naissance': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'genre': ('django.db.models.fields.CharField', [], {'max_length': '1', 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+ 'nationalite': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'nationalite'", 'to_field': "'code'", 'db_column': "'nationalite'", 'to': "orm['datamaster_modeles.Pays']"}),
+ 'no_rue': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+ 'pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'pays'", 'db_column': "'pays'", 'to_field': "'code'", 'to': "orm['datamaster_modeles.Pays']", 'blank': 'True', 'null': 'True'}),
+ 'prenom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+ 'province': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'situation_famille': ('django.db.models.fields.CharField', [], {'max_length': '1', 'null': 'True', 'blank': 'True'}),
+ 'tel_cellulaire': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'tel_domicile': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'ville': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
+ },
+ 'rh_v1.familleemploi': {
+ 'Meta': {'object_name': 'FamilleEmploi'},
+ 'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ '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', 'blank': 'True'}),
+ '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', 'blank': 'True'}),
+ 'date_modification': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+ 'implantation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'implantation'", 'to': "orm['datamaster_modeles.Implantation']"}),
+ 'proportion': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
+ 'type_poste': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['rh_v1.TypePoste']", 'db_column': "'type_poste'"})
+ },
+ 'rh_v1.service': {
+ 'Meta': {'object_name': 'Service'},
+ 'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ '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', 'blank': 'True'}),
+ 'code': ('django.db.models.fields.CharField', [], {'max_length': '25', 'unique': 'True'}),
+ 'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+ 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+ 'type_contrat_categorie': ('django.db.models.fields.CharField', [], {'max_length': '10'})
+ },
+ 'rh_v1.typecontrat': {
+ 'Meta': {'object_name': 'TypeContrat'},
+ 'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ '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', 'blank': 'True'}),
+ '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', 'blank': 'True'}),
+ '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', 'blank': 'True'}),
+ '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.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', [], {'related_name': "'valeurs_point'", 'db_column': "'implantation'", 'to': "orm['datamaster_modeles.Implantation']"}),
+ 'valeur': ('django.db.models.fields.FloatField', [], {})
+ },
+ 'workflow.workflowcommentaire': {
+ 'Meta': {'object_name': 'WorkflowCommentaire'},
+ 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+ 'date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'etat_final': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'etat_initial': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}),
+ 'owner': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}),
+ 'texte': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
+ }
+ }
+
+ complete_apps = ['dae']
--- /dev/null
+# encoding: utf-8
+import datetime
+from south.db import db
+from south.v2 import DataMigration
+from django.db import models
+from datamaster_modeles.models import Authentification
+from auf.django.auth.backends import CascadeBackend
+from django.conf import settings
+
+class Migration(DataMigration):
+
+ def forwards(self, orm):
+ "Write your forwards methods here."
+ backend = CascadeBackend()
+ bkp = settings.AUTH_PASSWORD_REQUIRED
+ settings.AUTH_PASSWORD_REQUIRED = False
+ for a in Authentification.objects.filter(actif=True):
+ backend.authenticate(a.courriel, "")
+ settings.AUTH_PASSWORD_REQUIRED = bkp
+
+ def backwards(self, orm):
+ "Write your backwards methods here."
+
+ models = {
+ 'auth.group': {
+ 'Meta': {'object_name': 'Group'},
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '80', 'unique': 'True'}),
+ 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
+ },
+ 'auth.permission': {
+ 'Meta': {'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
+ 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
+ },
+ 'auth.user': {
+ 'Meta': {'object_name': 'User'},
+ 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
+ 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
+ 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
+ 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
+ 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
+ 'username': ('django.db.models.fields.CharField', [], {'max_length': '30', 'unique': 'True'})
+ },
+ 'contenttypes.contenttype': {
+ 'Meta': {'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
+ 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
+ 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
+ },
+ 'dae.dossier': {
+ 'Meta': {'object_name': 'Dossier'},
+ 'classement': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Classement']"}),
+ 'classement_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Classement']"}),
+ 'classement_titulaire_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Classement']"}),
+ 'compte_compta': ('django.db.models.fields.CharField', [], {'default': "'aucun'", 'max_length': '10'}),
+ 'compte_courriel': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ 'contrat_date_debut': ('django.db.models.fields.DateField', [], {}),
+ 'contrat_date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'date_creation': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'devise': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
+ 'employe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['dae.Employe']"}),
+ 'employe_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Employe']"}),
+ 'etat': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '20', 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'justif_nouveau_commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'justif_nouveau_salaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'justif_nouveau_statut': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'justif_nouveau_tmp_remplacement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'justif_rempl_commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'justif_rempl_evaluation': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'justif_rempl_salaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'justif_rempl_statut_employe': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'justif_rempl_type_contrat': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'organisme_bstg': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.OrganismeBstg']"}),
+ 'organisme_bstg_autre': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dossiers'", 'to': "orm['dae.Poste']"}),
+ 'regime_travail': ('django.db.models.fields.DecimalField', [], {'default': '100.0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'default': '35.0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'remplacement': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ 'salaire': ('django.db.models.fields.DecimalField', [], {'default': 'None', 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+ 'salaire_anterieur': ('django.db.models.fields.DecimalField', [], {'default': 'None', 'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'salaire_titulaire_anterieur': ('django.db.models.fields.DecimalField', [], {'default': 'None', 'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'statut': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Statut']"}),
+ 'statut_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Statut']"}),
+ 'statut_residence': ('django.db.models.fields.CharField', [], {'default': "'local'", 'max_length': '10'}),
+ 'statut_titulaire_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Statut']"}),
+ 'type_contrat': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.TypeContrat']"})
+ },
+ 'dae.dossiercomparaison': {
+ 'Meta': {'object_name': 'DossierComparaison'},
+ 'devise': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Devise']"}),
+ 'dossier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comparaisons'", 'to': "orm['dae.Dossier']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']", 'null': 'True', 'blank': 'True'}),
+ 'montant': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
+ 'montant_euros': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
+ 'personne': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'poste': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
+ },
+ 'dae.dossierpiece': {
+ 'Meta': {'object_name': 'DossierPiece'},
+ 'dossier': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Dossier']"}),
+ 'fichier': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+ },
+ 'dae.employe': {
+ 'Meta': {'object_name': 'Employe'},
+ 'genre': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'id_rh': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.Employe']"}),
+ 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+ 'prenom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+ },
+ 'dae.poste': {
+ 'Meta': {'object_name': 'Poste'},
+ 'actif': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
+ 'appel': ('django.db.models.fields.CharField', [], {'default': "'interne'", 'max_length': '10'}),
+ 'autre_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'autre_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'charges_patronales_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'charges_patronales_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'classement_max': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Classement']"}),
+ 'classement_min': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Classement']"}),
+ 'comp_autre_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'comp_autre_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'comp_fonctionpub_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'comp_fonctionpub_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'comp_locale_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'comp_locale_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'comp_ong_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'comp_ong_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'comp_universite_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'comp_universite_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
+ 'date_creation': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'date_debut': ('django.db.models.fields.DateField', [], {}),
+ 'date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'date_modification': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
+ 'devise_comparaison': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
+ 'devise_max': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
+ 'devise_min': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh_v1.Devise']"}),
+ 'etat': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '20', 'null': 'True', 'blank': 'True'}),
+ 'expatrie': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'id_rh': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.Poste']"}),
+ 'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']"}),
+ 'indemn_expat_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'indemn_expat_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'indemn_fct_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'indemn_fct_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'justification': ('django.db.models.fields.TextField', [], {}),
+ 'local': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}),
+ 'mise_a_disposition': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+ 'regime_travail': ('django.db.models.fields.DecimalField', [], {'default': '100.0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'default': '35.0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'responsable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Poste']"}),
+ 'salaire_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'salaire_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
+ 'service': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh_v1.Service']"}),
+ 'type_intervention': ('django.db.models.fields.CharField', [], {'default': "'N'", 'max_length': '1'}),
+ 'type_poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh_v1.TypePoste']"}),
+ 'valeur_point_max': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.ValeurPoint']"}),
+ 'valeur_point_min': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.ValeurPoint']"})
+ },
+ 'dae.postecomparaison': {
+ 'Meta': {'object_name': 'PosteComparaison'},
+ 'devise': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'blank': 'True', 'null': 'True', 'to': "orm['rh_v1.Devise']"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['datamaster_modeles.Implantation']", 'null': 'True', 'blank': 'True'}),
+ 'montant': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
+ 'montant_euros': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
+ 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'comparaisons_internes'", 'to': "orm['dae.Poste']"})
+ },
+ 'dae.postefinancement': {
+ 'Meta': {'object_name': 'PosteFinancement'},
+ 'commentaire': ('django.db.models.fields.TextField', [], {}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'financements'", 'to': "orm['dae.Poste']"}),
+ 'pourcentage': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
+ 'type': ('django.db.models.fields.CharField', [], {'max_length': '1'})
+ },
+ 'dae.postepiece': {
+ 'Meta': {'object_name': 'PostePiece'},
+ 'fichier': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+ 'poste': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Poste']"})
+ },
+ 'dae.remuneration': {
+ 'Meta': {'object_name': 'Remuneration'},
+ 'date_creation': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'devise': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to_field': "'code'", 'db_column': "'devise'", 'to': "orm['rh_v1.Devise']"}),
+ 'dossier': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['dae.Dossier']", 'db_column': "'dossier'"}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'montant': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
+ 'precision': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'type'", 'to': "orm['rh_v1.TypeRemuneration']"}),
+ 'user_creation': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'})
+ },
+ 'datamaster_modeles.bureau': {
+ 'Meta': {'object_name': 'Bureau', 'db_table': "u'ref_bureau'"},
+ 'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ 'code': ('django.db.models.fields.CharField', [], {'max_length': '255', 'unique': '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'"}),
+ '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', 'blank': 'True'}),
+ 'adresse_physique_bureau': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
+ 'adresse_physique_code_postal': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'adresse_physique_code_postal_avant_ville': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
+ 'adresse_physique_no': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
+ 'adresse_physique_pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'impl_adresse_physique'", 'to_field': "'code'", 'db_column': "'adresse_physique_pays'", 'to': "orm['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', [], {'max_length': '255', 'unique': 'True'}),
+ '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', 'blank': 'True'}),
+ 'code': ('django.db.models.fields.CharField', [], {'max_length': '2', 'unique': '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', [], {'max_length': '3', 'unique': 'True', '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', 'blank': 'True'}),
+ 'code': ('django.db.models.fields.CharField', [], {'max_length': '255', 'unique': 'True'}),
+ 'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+ 'implantation_bureau': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'gere_region'", 'db_column': "'implantation_bureau'", 'to': "orm['datamaster_modeles.Implantation']"}),
+ 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+ },
+ 'rh_v1.classement': {
+ 'Meta': {'object_name': 'Classement'},
+ 'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ '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', [], {'max_length': '10', 'unique': 'True'}),
+ 'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+ 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
+ },
+ 'rh_v1.employe': {
+ 'Meta': {'object_name': 'Employe'},
+ 'adresse': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'code_postal': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
+ 'date_creation': ('django.db.models.fields.DateField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'date_entree': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'date_maj': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
+ 'date_naissance': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
+ 'genre': ('django.db.models.fields.CharField', [], {'max_length': '1', 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+ 'nationalite': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'nationalite'", 'to_field': "'code'", 'db_column': "'nationalite'", 'to': "orm['datamaster_modeles.Pays']"}),
+ 'no_rue': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+ 'pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'pays'", 'db_column': "'pays'", 'to_field': "'code'", 'to': "orm['datamaster_modeles.Pays']", 'blank': 'True', 'null': 'True'}),
+ 'prenom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+ 'province': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'situation_famille': ('django.db.models.fields.CharField', [], {'max_length': '1', 'null': 'True', 'blank': 'True'}),
+ 'tel_cellulaire': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'tel_domicile': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'ville': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
+ },
+ 'rh_v1.familleemploi': {
+ 'Meta': {'object_name': 'FamilleEmploi'},
+ 'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ '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', 'blank': 'True'}),
+ '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', 'blank': 'True'}),
+ 'date_modification': ('django.db.models.fields.DateField', [], {'auto_now': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+ 'implantation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'implantation'", 'to': "orm['datamaster_modeles.Implantation']"}),
+ 'proportion': ('django.db.models.fields.CharField', [], {'max_length': '10'}),
+ 'type_poste': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['rh_v1.TypePoste']", 'db_column': "'type_poste'"})
+ },
+ 'rh_v1.service': {
+ 'Meta': {'object_name': 'Service'},
+ 'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ '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', 'blank': 'True'}),
+ 'code': ('django.db.models.fields.CharField', [], {'max_length': '25', 'unique': 'True'}),
+ 'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}),
+ 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
+ 'type_contrat_categorie': ('django.db.models.fields.CharField', [], {'max_length': '10'})
+ },
+ 'rh_v1.typecontrat': {
+ 'Meta': {'object_name': 'TypeContrat'},
+ 'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}),
+ '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', 'blank': 'True'}),
+ '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', 'blank': 'True'}),
+ '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', 'blank': 'True'}),
+ '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.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', [], {'related_name': "'valeurs_point'", 'db_column': "'implantation'", 'to': "orm['datamaster_modeles.Implantation']"}),
+ 'valeur': ('django.db.models.fields.FloatField', [], {})
+ },
+ 'workflow.workflowcommentaire': {
+ 'Meta': {'object_name': 'WorkflowCommentaire'},
+ 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
+ 'date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
+ 'etat_final': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'etat_initial': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
+ 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
+ 'object_id': ('django.db.models.fields.PositiveIntegerField', [], {}),
+ 'owner': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}),
+ 'texte': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'})
+ }
+ }
+
+ complete_apps = ['dae']
verbose_name="Date de fin",
help_text=HELP_TEXT_DATE)
actif = models.BooleanField(default=True)
- pourvu = models.BooleanField(default=False)
# Managers
objects = PosteManager()
upload_to=poste_piece_dispatch,
storage=storage_prive)
+class PosteComparaison(models.Model):
+ poste = models.ForeignKey('Poste', related_name='comparaisons_internes')
+ implantation = models.ForeignKey(ref.Implantation, null=True, blank=True)
+ nom = models.CharField(verbose_name="Poste", max_length=255, null=True, blank=True)
+ montant = models.IntegerField(null=True)
+ devise = models.ForeignKey(rh.Devise, default=5, related_name='+', null=True, blank=True)
+ montant_euros = models.IntegerField(null=True)
+
+
### EMPLOYÉ/PERSONNE
# TODO : migration pour m -> M, f -> F
# Modèle existant
employe = models.ForeignKey('Employe', related_name='+', editable=False)
- poste = models.ForeignKey('Poste', related_name='+', editable=False)
+ poste = models.ForeignKey('Poste', related_name='dossiers', editable=False)
statut = models.ForeignKey(rh.Statut, related_name='+')
organisme_bstg = models.ForeignKey(rh.OrganismeBstg,
null=True, blank=True,
# Justifications
justif_nouveau_statut_label = u'Justifier le statut que ce type de poste nécessite (national, expatrié, màd ou détachement)'
justif_nouveau_statut = models.TextField(verbose_name=justif_nouveau_statut_label, null=True, blank=True)
- justif_nouveau_tmp_remplacement_label = u"Si l'employé effectue un remplacement temporaire, préciser le motif"
+ justif_nouveau_tmp_remplacement_label = u"Si l'employé effectue un remplacement temporaire, préciser"
justif_nouveau_tmp_remplacement = models.TextField(verbose_name=justif_nouveau_tmp_remplacement_label, null=True, blank=True)
- justif_nouveau_salaire_label = u"Si le salaire de l'employé ne correspond pas au classement du poste, ou est différent du salaire antérieur, jusitfier"
+ justif_nouveau_salaire_label = u"Si le salaire de l'employé ne correspond pas au classement du poste ou est différent du salaire antérieur, justifier "
justif_nouveau_salaire = models.TextField(verbose_name=justif_nouveau_salaire_label, null=True, blank=True)
- justif_nouveau_commentaire_label = u"Commentaires additionnels"
+ justif_nouveau_commentaire_label = u"COMMENTAIRES ADDITIONNELS"
justif_nouveau_commentaire = models.TextField(verbose_name=justif_nouveau_commentaire_label, null=True, blank=True)
justif_rempl_type_contrat_label = u"Changement de type de contrat, ex : d'un CDD en CDI"
justif_rempl_type_contrat = models.TextField(verbose_name=justif_rempl_type_contrat_label, null=True, blank=True)
- justif_rempl_statut_employe_label = u"Si le statut de l'employé a été modifié pour ce poste ; ex : national, expatrié, màd, détachement ? si oui, justifier"
+ justif_rempl_statut_employe_label = u"Si le statut de l'employé a été modifié pour ce poste ; ex :national, expatrié, màd, détachement ? Si oui, justifier"
justif_rempl_statut_employe = models.TextField(verbose_name=justif_rempl_statut_employe_label, null=True, blank=True)
- justif_rempl_evaluation_label = u"L'évaluation de l'employé est-elle favorable, préciser"
+ justif_rempl_evaluation_label = u"L'évaluation de l'employé est-elle favorable? Préciser"
justif_rempl_evaluation = models.TextField(verbose_name=justif_rempl_evaluation_label, null=True, blank=True)
justif_rempl_salaire_label = u"Si le salaire de l'employé est modifié et/ou ne correspond pas à son classement, justifier"
justif_rempl_salaire = models.TextField(verbose_name=justif_rempl_salaire_label, null=True, blank=True)
- justif_rempl_commentaire_label = u"Commentaires additionnels"
+ justif_rempl_commentaire_label = u"COMMENTAIRES ADDITIONNELS"
justif_rempl_commentaire = models.TextField(verbose_name=justif_rempl_commentaire_label, null=True, blank=True)
# Comptes
<td colspan=2> du {{ dossier.contrat_date_debut }}</td>
<td colspan=2>au {{ dossier.contrat_date_fin }}</td>
<th>Régime de travail</th>
- <td>{{ dossier.regime_travail }}%</td>
+ <td>{{ dossier.regime_travail|floatformat:0 }}%</td>
</tr>
<tr>
<th>Nombre d'heure par semaine</th>
- <td colspan=5>{{ dossier.regime_travail_nb_heure_semaine }}H</td>
+ <td colspan=5>{{ dossier.regime_travail_nb_heure_semaine|floatformat:0 }}H</td>
</tr>
<tr>
<th>Statut : </th>
<tbody>
<tr>
<td colspan="7">
- {{ dossier.employe }} <span class="info">{{ dossier.employe.id_rh.dossier_set.all.reverse }}</span>
+ {{ dossier.employe }} <span class="info">{{ dossier.employe.id_rh.dossier_set.all.0.poste1.type_poste.nom }} {{ dossier.employe.id_rh.dossier_set.all.0.complement1 }}</span>
</td>
</tr>
<tr>
<th>Précision</th>
</tr>
-<tr>
- <th colspan="5">Salaire brut</th>
- <th id="sous-total-cout" class="montant">{{ dossier.get_salaire_brut|floatformat:0 }}€</th>
- <th></th>
-</tr>
-
-
{% for remun in dossier.get_remunerations_brutes %}
<tr class="cout">
<td>{{ remun.type }}</td>
{% endfor %}
<tr>
- <th colspan="5">Charges salariales</th>
- <th id="sous-total-aide" class="montant">{{ dossier.get_total_charges_salariales|floatformat:0 }}€</th>
+ <th colspan="5">Salaire brut</th>
+ <th id="sous-total-cout" class="montant">{{ dossier.get_salaire_brut|floatformat:0 }}€</th>
<th></th>
</tr>
+
{% for remun in dossier.get_charges_salariales %}
<tr class="aide">
<td>{{ remun.type }}</td>
{% endfor %}
<tr>
- <th colspan="5">Charges patronales</th>
- <th id="sous-total-cout" class="montant">{{ dossier.get_total_charges_patronales|floatformat:0 }}€</th>
+ <th colspan="5">Charges salariales</th>
+ <th id="sous-total-aide" class="montant">{{ dossier.get_total_charges_salariales|floatformat:0 }}€</th>
+ <th></th>
+</tr>
+
+<tr>
+ <th colspan="5">Salaire net</th>
+ <th id="sous-total-aide" class="montant">{{ dossier.get_salaire_net|floatformat:0 }}€</th>
<th></th>
</tr>
<td>{{ remun.precision }}</td>
</tr>
{% endfor %}
+<tr>
+ <th colspan="5">Charges patronales</th>
+ <th id="sous-total-cout" class="montant">{{ dossier.get_total_charges_patronales|floatformat:0 }}€</th>
+ <th></th>
+</tr>
+
<tr>
<th colspan="5">Côuts AUF</th>
{% block main %}
<h1 class="gauche">Demande d'autorisation d'engagement de personnel</h1>
<a class="droite bouton-action" target="_blank" href="?mode=vpdf">Format impression</a>
-{% if dossier|est_editable %}<a class="droite bouton-action" href="{% url embauche dossier.poste.key dossier.id %}">Modifier</a>{% endif %}
+{% if dossier|est_editable:request.user %}<a class="droite bouton-action" href="{% url embauche dossier.poste.key dossier.id %}">Modifier</a>{% endif %}
<div class="visualClear"></div>
<h2 class="section">SECTION 1 - POSTE</h2>
<h2>Comparaison salariale</h2>
<span class="info">dans la région pour les employés occupant un poste similaire</span>
<table>
- <tbody>
- <tr>
- <th>Implantation</th>
- <th>Employé</th>
- <th>Poste</th>
- <th>Salaire</th>
- <th>Salaire EUR</th>
- </tr>
- {% for dc in dossier.comparaisons.all %}
- <tr>
- <td>{{ dc.implantation }}</td>
- <td>{{ dc.personne }}</td>
- <td>{{ dc.poste }}</td>
- <td>{{ dc.montant }} {{ dc.devise }}</td>
- <td>{{ dc.montant_euros }} EUR</td>
- </tr>
- {% endfor %}
- </tbody>
-</table>
-</fieldset>
+ <tbody>
+ <tr>
+ <th>Implantation</th>
+ <th>Employé</th>
+ <th>Poste</th>
+ <th>Salaire</th>
+ <th>Salaire EUR</th>
+ </tr>
+ {% for dc in dossier.comparaisons.all %}
+ <tr>
+ <td>{{ dc.implantation }}</td>
+ <td>{{ dc.personne }}</td>
+ <td>{{ dc.poste }}</td>
+ <td>{{ dc.montant }} {{ dc.devise }}</td>
+ <td>{{ dc.montant_euros }} EUR</td>
+ </tr>
+ {% endfor %}
+ </tbody>
+<table>
+<fieldset>
- <div id="form-dossier">
- {% comment %}Wrapper du formulaire de dossier{% endcomment %}
- {% include "dae/embauche-dossier-consulter.html" %}
- </div>
-
- <fieldset>
- <h2>Pièces jointes</h2>
- <ul>
- {% for pj in dossier.dossierpiece_set.all %}
- <li><a href="{{ pj.fichier.url }}" target="_blank">{{ pj.nom }}</a></li>
- {% endfor %}
- </ul>
-
- </fieldset>
-
- <h2 class="section">SECTION 3 - COÛT GLOBAL</h2>
-
- <fieldset>
- <table cellspacing="0" id="global-cost">
- {% include 'dae/embauche-remun-consulter.html' %}
- </table>
- </fieldset>
-
- <h2 class="section">SECTION 4 - JUSTIFICATION DE LA DEMANDE (OBLIGATOIRE)</h2>
- <h3>A - Justification du poste</h3>
- <p>{{ poste.justification }}</p>
-
- <h3>B - Justification de l'employé</h3>
- <table>
- <tr>
- <th>Nouvel employé</th>
- <th>Renouvellement, prolongation, reclassement, mobilité interne</th>
- </tr>
- <tr>
- <td>
- <h4>{{ dossier.justif_nouveau_statut_label }}</h4>
- {{ dossier.justif_nouveau_statut|default:"∅" }}
- <h4>{{ dossier.justif_nouveau_tmp_remplacement_label }}</h4>
- {{ dossier.justif_nouveau_tmp_remplacement|default:"∅" }}
- <h4>{{ dossier.justif_nouveau_salaire_label }}</h4>
- {{ dossier.justif_nouveau_salaire|default:"∅" }}
- <h4>{{ dossier.justif_nouveau_commentaire_label }}</h4>
- {{ dossier.justif_nouveau_commentaire|default:"∅" }}
- </td>
- <td>
- <h4>{{ dossier.justif_rempl_type_contrat_label }}</h4>
- {{ dossier.justif_rempl_type_contrat|default:"∅"}}
- <h4>{{ dossier.justif_rempl_statut_employe_label }}</h4>
- {{ dossier.justif_rempl_statut_employe|default:"∅"}}
- <h4>{{ dossier.justif_rempl_evaluation_label }}</h4>
- {{ dossier.justif_rempl_evaluation|default:"∅"}}
- <h4>{{ dossier.justif_rempl_salaire_label }}</h4>
- {{ dossier.justif_rempl_salaire|default:"∅" }}
- <h4>{{ dossier.justif_rempl_commentaire_label }}</h4>
- {{ dossier.justif_rempl_commentaire|default:"∅" }}
- </td>
- </tr>
- </table>
+<div id="form-dossier">
+ {% comment %}Wrapper du formulaire de dossier{% endcomment %}
+ {% include "dae/embauche-dossier-consulter.html" %}
+</div>
- <fieldset>
- <h2>Validations</h2>
-
- <table>
- <tr>
- <th>Action</th>
- <th>Destinataire de l'action</th>
- <th>Commentaire</th>
- </tr>
- {% for commentaire in dossier.historique_desc %}
- {% include "dae/ligne_validation.html" %}
+<fieldset>
+ <h2>Pièces jointes</h2>
+ <ul>
+ {% for pj in dossier.dossierpiece_set.all %}
+ <li><a href="{{ pj.fichier.url }}" target="_blank">{{ pj.nom }}</a></li>
{% endfor %}
- </table>
+ </ul>
+
+</fieldset>
- <h2>Votre validation (ou commentaire)</h2>
- <p>Ce dossier est actuellement à l'état <span class="note">{{ dossier.get_etat_display }}</span>.</p>
-
- <form action="" method="post">
- <table>
- {{ validationForm.commentaire }}
+<h2 class="section">SECTION 3 - COÛT GLOBAL</h2>
+
+<fieldset>
+ <table cellspacing="0" id="global-cost">
+ {% include 'dae/embauche-remun-consulter.html' %}
</table>
- {{ validationForm.get_input_etats_as_buttons|safe }}
- </form>
- </fieldset>
+</fieldset>
+
+<h2 class="section">SECTION 4 - JUSTIFICATION DE LA DEMANDE (OBLIGATOIRE)</h2>
+<h3>A - Justification du poste</h3>
+<p>{{ poste.justification }}</p>
+
+<h3>B - Justification de l'employé</h3>
+<table>
+<tr>
+ <th>Nouvel employé</th>
+ <th>Renouvellement, prolongation, reclassement, mobilité interne</th>
+</tr>
+<tr>
+ <td>
+ <h4>{{ dossier.justif_nouveau_statut_label }}</h4>
+ {{ dossier.justif_nouveau_statut|default:"∅" }}
+ <h4>{{ dossier.justif_nouveau_tmp_remplacement_label }}</h4>
+ {{ dossier.justif_nouveau_tmp_remplacement|default:"∅" }}
+ <h4>{{ dossier.justif_nouveau_salaire_label }}</h4>
+ {{ dossier.justif_nouveau_salaire|default:"∅" }}
+ <h4>{{ dossier.justif_nouveau_commentaire_label }}</h4>
+ {{ dossier.justif_nouveau_commentaire|default:"∅" }}
+ </td>
+ <td>
+ <h4>{{ dossier.justif_rempl_type_contrat_label }}</h4>
+ {{ dossier.justif_rempl_type_contrat|default:"∅"}}
+ <h4>{{ dossier.justif_rempl_statut_employe_label }}</h4>
+ {{ dossier.justif_rempl_statut_employe|default:"∅"}}
+ <h4>{{ dossier.justif_rempl_evaluation_label }}</h4>
+ {{ dossier.justif_rempl_evaluation|default:"∅"}}
+ <h4>{{ dossier.justif_rempl_salaire_label }}</h4>
+ {{ dossier.justif_rempl_salaire|default:"∅" }}
+ <h4>{{ dossier.justif_rempl_commentaire_label }}</h4>
+ {{ dossier.justif_rempl_commentaire|default:"∅" }}
+ </td>
+</tr>
+</table>
+
+<fieldset>
+<h2>Validations</h2>
+
+<table>
+<tr>
+ <th>Action</th>
+ <th>Commentaire</th>
+</tr>
+{% for commentaire in dossier.historique_desc %}
+ {% include "dae/ligne_validation.html" %}
+{% endfor %}
+</table>
+
+<h2>Votre validation (ou commentaire)</h2>
+<p>Ce dossier est actuellement à l'état <span class="note">{{ dossier.get_etat_display }}</span>.</p>
+
+<form action="" method="post">
+<table>
+ {% if validationForm.get_etats_disponibles %}{{ validationForm.commentaire }}{% endif %}
+</table>
+{{ validationForm.get_input_etats_as_buttons|safe }}
+</form>
+</fieldset>
{% endblock %}
</table>
<fieldset>
-<h2>Validation</h2>
+<h2>Validations</h2>
-<ul>
+<table>
+<tr>
+ <th>Action</th>
+ <th>Commentaire</th>
+</tr>
{% for commentaire in dossier.historique_desc %}
- <li>{{ commentaire }}</li>
+ {% include "dae/ligne_validation.html" %}
{% endfor %}
-</ul>
+</table>
</fieldset>
<fieldset>
{% block main %}
<h1>Liste des demandes d'autorisation d'engagement de personnel</h1>
-<h2>Mes embauches à traiter</h2>
+<h2>Mes demandes à traiter</h2>
{% if embauches_a_traiter %}
<table>
<tr>
<th>Embauche</th>
+ <th>Service</th>
<th>Région</th>
<th>État</th>
</tr>
{% for dossier in embauches_a_traiter %}
<tr>
<td><a href="{% url embauche_consulter dossier.id %}">{{ dossier }}</a></td>
+ <td>{{ dossier.poste.service }}</td>
<td>{{ dossier.poste.implantation.region }}</td>
<td>{{ dossier.get_etat_display }}</td>
</tr>
{% endfor %}
</table>
{% else %}
- <p>Vous n'avez aucune embauche à traiter.</p>
+ <p>Vous n'avez aucune demande à traiter.</p>
{% endif %}
-<h2>Les embauches en cours</h2>
+<h2>Les demandes en cours</h2>
{% if embauches_en_cours %}
<table>
<tr>
<th>Embauche</th>
+ <th>Service</th>
<th>Région</th>
<th>État</th>
</tr>
{% for dossier in embauches_en_cours %}
<tr>
<td><a href="{% url embauche_consulter dossier.id %}">{{ dossier }}</a></td>
+ <td>{{ dossier.poste.service }}</td>
<td>{{ dossier.poste.implantation.region }}</td>
<td>{{ dossier.get_etat_display }}</td>
</tr>
{% endfor %}
</table>
{% else %}
- <p>Il n'y a aucune embauche en cours.</p>
+ <p>Il n'y a aucune demande en cours.</p>
{% endif %}
-<h2>Les embauches non retenues</h2>
+<h2>Les demandes non retenues</h2>
{% if embauches_non_retenues %}
<table>
<tr>
<th>Embauche</th>
+ <th>Service</th>
<th>Région</th>
<th>État</th>
</tr>
{% for dossier in embauches_non_retenues %}
<tr>
<td><a href="{% url embauche_consulter dossier.id %}">{{ dossier }}</a></td>
+ <td>{{ dossier.poste.service }}</td>
<td>{{ dossier.poste.implantation.region }}</td>
<td>{{ dossier.get_etat_display }}</td>
</tr>
{% endfor %}
</table>
{% else %}
- <p>Il n'y a aucune embauche non retenue.</p>
+ <p>Il n'y a aucune demande non retenue.</p>
{% endif %}
{% endif %}
</td>
<td>
- {{ commentaire.get_etat_final_label }}
-</td>
-<td>
{% if commentaire.texte %} ({{ commentaire.texte }}){% endif %}
</td>
</tr>
{% comment %}{% if new %}{% endcomment %}
<fieldset>
- <h2>Éléments de comparaison</h2>
+ <h2>Éléments de comparaison (externe)</h2>
<span class="info">Compléter uniquement lors de la création d'un poste</span>
<table>
<tbody>
</tbody>
</table>
</fieldset>
+
+ <fieldset>
+ <h2>Éléments de comparaison (interne)</h2>
+ {% for f in postesComparaisonsForm.management_form %}
+ {{ f }}
+ {% endfor %}
+
+ {% for f in postesComparaisonsForm.forms %}
+ <table>
+ {% for field in f %}
+ {% if field.is_hidden %}{{ field }}{% endif %}
+ {% endfor %}
+
+ <tr class="comparaison-interne"><td colspan=2>Rechercher un poste : {{ f.recherche }}</td></tr>
+ <tr><th>{{ f.implantation.label }}</th><td>{{ f.implantation.errors }} {{ f.implantation }}</td></tr>
+ <tr><th>{{ f.nom.label }}</th><td>{{ f.nom.errors }} {{ f.nom }}</td></tr>
+ <tr><th>{{ f.montant.label }} ({{f.devise.label }})</th><td>{{ f.montant.errors }} {{ f.montant }} {{ f.devise.errors }} {{f.devise }} ({{ f.montant_euros.errors }} {{ f.montant_euros }} EUR)</td></tr>
+ </table>
+ {% endfor %}
+ </fieldset>
{% comment %}{% endif %}{% endcomment %}
<fieldset>
<h1 class="gauche">Demande d'autorisation de création de poste</h1>
<a class="droite bouton-action" target="_blank" href="?mode=vpdf">Format impression</a>
-{% if poste|est_editable %}<a class="droite bouton-action" href="{% url poste poste.key %}">Modifier</a>{% endif %}
+{% if poste|est_editable:request.user %}<a class="droite bouton-action" href="{% url poste poste.key %}">Modifier</a>{% endif %}
<div class="visualClear"></div>
{% include "dae/poste_resume.html" %}
<table>
<tr>
<th>Action</th>
- <th>Destinataire de l'action</th>
<th>Commentaire</th>
</tr>
{% for commentaire in poste.historique_desc %}
<form action="" method="post">
<table>
-{{ validationForm.commentaire }}
+ {% if validationForm.get_etats_disponibles %}{{ validationForm.commentaire }}{% endif %}
</table>
{{ validationForm.get_input_etats_as_buttons|safe }}
</form>
<div class="visualClear"></div>
{% include "dae/poste_resume.html" %}
-
+
<fieldset>
- <h2>Validation</h2>
+ <h2>Validations</h2>
- <ul>
+ <table>
+ <tr>
+ <th>Action</th>
+ <th>Commentaire</th>
+ </tr>
{% for commentaire in poste.historique_desc %}
- <li>{{ commentaire }}</li>
+ {% include "dae/ligne_validation.html" %}
{% endfor %}
- </ul>
+ </table>
</fieldset>
<fieldset>
<th></th>
<th>Échelon AUF</th>
<th>Salaire de base</th>
- <th>Indemnités d'expatriation</th>
- <th>Indemnités de fonction</th>
+ <th>Indem. d'expatriation</th>
+ <th>Indem. de fonction</th>
<th>Charges patronales</th>
<th>Autres</th>
<th>TOTAL</th>
<th>Taux > €</th>
- <th>Conversion EUR</th>
+ <th>EUR</th>
</tr>
<tr>
- <th>Minimum</th>
+ <th>Min.</th>
<td>{{ poste.classement_min }}</td>
<td class="montant">{{ poste.salaire_min|floatformat:0 }} {{ poste.devise_min.code }}</td>
<td class="montant">{{ poste.indemn_expat_min|floatformat:0 }} {{ poste.devise_min.code }}</td>
<td class="montant">{{ poste.autre_min|floatformat:0 }} {{ poste.devise_min.code }}</td>
<td class="montant">{{ poste.get_couts_minimum|floatformat:0 }} {{ poste.devise_min.code }}</td>
<td>{{ poste.show_taux_minimum }}</td>
- <td class="montant">{{ poste.show_couts_minimum_euros|floatformat:0 }} EUR</td>
+ <td class="montant">{{ poste.show_couts_minimum_euros|floatformat:0 }}</td>
</tr>
<tr>
- <th>Maximum</th>
+ <th>Max.</th>
<td>{{ poste.classement_max }}</td>
<td class="montant">{{ poste.salaire_max|floatformat:0 }} {{ poste.devise_max.code }}</td>
<td class="montant">{{ poste.indemn_expat_max|floatformat:0 }} {{ poste.devise_max.code }}</td>
<td class="montant">{{ poste.autre_max|floatformat:0 }} {{ poste.devise_max.code }}</td>
<td class="montant">{{ poste.get_couts_maximum|floatformat:0 }} {{ poste.devise_max.code }}</td>
<td>{{ poste.show_taux_maximum }}</td>
- <td class="montant">{{ poste.show_couts_maximum_euros|floatformat:0 }} EUR</td>
+ <td class="montant">{{ poste.show_couts_maximum_euros|floatformat:0 }}</td>
</tr>
</tbody>
</table>
{% comment %}{% if new %}{% endcomment %}
<fieldset>
-<h2>Éléments de comparaison</h2>
-<span class="info">Compléter uniquement lors de la création d'un poste</span>
+<h2>Éléments de comparaison (externe)</h2>
+{% if poste.est_comparable %}
<table>
<tbody>
<tr>
</tr>
</tbody>
</table>
-{% if poste.est_comparable %}
<table id="elements-comparaison">
<tbody>
<tr>
</fieldset>
<fieldset>
+<h2>Éléments de comparaison (interne)</h2>
+{% if poste.comparaisons_internes.count > 0 %}
+<table>
+ <tbody>
+ <tr>
+ <th>Poste</th>
+ <th>Implantation</th>
+ <th>Montant</th>
+ <th>EUR</th>
+ </tr>
+ {% for poste_connexe in poste.comparaisons_internes.all %}
+ <tr>
+ <td>{{ poste_connexe.nom }}</td>
+ <td>{{ poste_connexe.implantation }}</td>
+ <td>{{ poste_connexe.montant }} {{ poste_connexe.devise.code }}</td>
+ <td>{{ poste_connexe.montant_euros }} €</td>
+ </tr>
+ {% endfor %}
+ </tbody>
+</table>
+{% else %}
+ <p>Il n'y a pas de comparaisons disponibles</p>
+{% endif %}
+</fieldset>
+
+<fieldset>
<h2>Pièces jointes</h2>
<ul>
{% for pj in poste.postepiece_set.all %}
{% block sous_titre %}Demande d'autorisation d'engagement{% endblock %}
{% block main %}
-<h1>Liste des demandes d'autorisation de création de poste</h1>
+<h1>Liste des demandes d'autorisation de poste</h1>
<h2>Mes postes à traiter</h2>
{% if postes_a_traiter %}
<table>
<tr>
<th>Poste</th>
+ <th>Dossiers</th>
+ <th>Service</th>
<th>Région</th>
<th>État</th>
</tr>
{% for poste in postes_a_traiter %}
<tr>
<td><a href="{% url poste_consulter poste.key %}">{{ poste }}</a></td>
+ <td>
+ <ul>
+ {% for dossier in poste.dossiers.all %}
+ <li><a href="{% url embauche_consulter dossier.id %}">{{ dossier.employe }}</a> ({{ dossier.get_etat_display }})</li>
+ {% empty %}
+ Vacant
+ {% endfor %}
+ <ul>
+ </td>
+ <td>{{ poste.service }}</td>
<td>{{ poste.implantation.region }}</td>
<td>{{ poste.get_etat_display }}</td>
</tr>
{% endif %}
<h2>Les postes en cours de validation</h2>
-{% if postes_vacants %}
+{% if postes_non_valides %}
<table>
<tr>
<th>Poste</th>
+ <th>Dossiers</th>
+ <th>Service</th>
<th>Région</th>
<th>État</th>
</tr>
-{% for poste in postes_vacants %}
+{% for poste in postes_non_valides %}
<tr>
<td><a href="{% url poste_consulter poste.key %}">{{ poste }}</a></td>
+ <td>
+ <ul>
+ {% for dossier in poste.dossiers.all %}
+ <li><a href="{% url embauche_consulter dossier.id %}">{{ dossier.employe }}</a> ({{ dossier.get_etat_display }})</li>
+ {% empty %}
+ Vacant
+ {% endfor %}
+ <ul>
+ </td>
+ <td>{{ poste.service }}</td>
<td>{{ poste.implantation.region }}</td>
<td>{{ poste.get_etat_display }}</td>
</tr>
<p>Il n'y a aucun poste en cours de validation.</p>
{% endif %}
-<h2>Les postes pourvus</h2>
-{% if postes_pourvus %}
+<h2>Les postes validés</h2>
+{% if postes_valides %}
<table>
<tr>
<th>Poste</th>
+ <th>Dossiers</th>
+ <th>Service</th>
<th>Région</th>
<th>État</th>
</tr>
-{% for poste in postes_pourvus %}
+{% for poste in postes_valides %}
<tr>
<td><a href="{% url poste_consulter poste.key %}">{{ poste }}</a></td>
+ <td>
+ <ul>
+ {% for dossier in poste.dossiers.all %}
+ <li><a href="{% url embauche_consulter dossier.id %}">{{ dossier.employe }}</a> ({{ dossier.get_etat_display }})</li>
+ {% empty %}
+ Vacant
+ {% endfor %}
+ <ul>
+ </td>
+ <td>{{ poste.service }}</td>
<td>{{ poste.implantation.region }}</td>
<td>{{ poste.get_etat_display }}</td>
</tr>
from django import template
from project.dae.workflow import ETATS_EDITABLE
-from project.dae.workflow import grp_gestionnaires, grp_service_utilisateurs, grp_correspondants_rh, grp_administrateurs, grp_directeurs_bureau, grp_drh, grp_directeurs_service, grp_correspondants_rh
+from project.dae.workflow import grp_correspondants_rh, grp_administrateurs, grp_drh
register = template.Library()
@register.filter
def peut_ajouter(user):
for g in user.groups.all():
- if g in (grp_gestionnaires, grp_service_utilisateurs, grp_administrateurs, grp_drh, grp_directeurs_bureau, grp_directeurs_service, grp_correspondants_rh):
+ if g in (grp_administrateurs, grp_correspondants_rh, grp_drh):
return True
return False
@register.filter
-def est_editable(obj):
- if obj.etat in ETATS_EDITABLE:
+def est_editable(obj, user):
+ klass = obj.__class__
+ groupes_users = user.groups.all()
+ if (obj.etat in ETATS_EDITABLE and obj in klass.objects.mes_choses_a_faire(user).all()) or grp_drh in groupes_users:
return True
else:
return False
# -*- encoding: utf-8 -*
from django.conf.urls.defaults import patterns, url, include
+from django.conf import settings
urlpatterns = patterns(
'project.dae.views',
+ (r'^prive/(?P<path>.*)$', 'mediaserve', {'document_root': settings.PRIVE_MEDIA_ROOT}),
url(r'^$', 'index', name='dae_index'),
# poste
url(r'^dossier$', 'dossier', name='dossier'),
url(r'^dossier/(?P<poste_key>.*)/(?P<employe_key>.*)$', 'dossier', name='dossier'),
url(r'^dossier_resume/(?P<dossier_id>.*)$', 'dossier_resume', name='dossier_resume'),
+ url(r'^poste_resume/(?P<dossier_id>.*)$', 'poste_resume', name='poste_resume'),
url(r'^salaire$', 'salaire', name='salaire'),
url(r'^salaire/(.*)/(.*)/(.*)$', 'salaire', name='salaire'),
url(r'^coefficient$', 'coefficient', name='dae_coefficient'),
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_service(user):
+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_service(user)
+ return not is_user_dans_services_centraux(user)
from django.core.urlresolvers import reverse
from django.http import Http404, HttpResponse, HttpResponseGone
from django.shortcuts import redirect, render_to_response, get_object_or_404
+from django.views.static import serve
from django.template import Context, RequestContext
from django.template.loader import get_template
from django.contrib import messages
dossier_est_modifiable, \
poste_est_modifiable
from forms import *
+from workflow import POSTE_ETAT_DRH_FINALISATION, DOSSIER_ETAT_REFUSE
+from decorators import redirect_interdiction
def devises():
liste = []
form = PosteForm(data, instance=poste, request=request)
financementForm = FinancementForm(request.POST, instance=poste)
piecesForm = PostePieceForm(request.POST, request.FILES, instance=poste)
+ postesComparaisonsForm = PosteComparaisonForm(request.POST, instance=poste)
if form.is_valid() and piecesForm.is_valid() and financementForm.is_valid():
poste = form.save()
piecesForm.instance = poste
piecesForm.save()
financementForm.instance = poste
financementForm.save()
+ postesComparaisonsForm.instance = poste
+ postesComparaisonsForm.save()
messages.add_message(request, messages.SUCCESS, "Le poste %s a été sauvegardé." % poste)
if request.POST.has_key('save'):
return redirect('poste_consulter', key='dae-%s' % poste.id)
form = PosteForm(initial=data, instance=poste, request=request)
piecesForm = PostePieceForm(instance=poste)
financementForm = FinancementForm(instance=poste)
+ postesComparaisonsForm = PosteComparaisonForm(instance=poste)
- vars.update(dict(form=form, poste=poste, poste_key=key, piecesForm=piecesForm, financementForm=financementForm))
+ vars.update(dict(form=form, poste=poste, poste_key=key, piecesForm=piecesForm, financementForm=financementForm, postesComparaisonsForm=postesComparaisonsForm))
return render_to_response('dae/poste.html', vars, RequestContext(request))
def postes_liste(request):
""" Liste des postes. """
vars = dict()
- vars['postes_a_traiter'] = dae.Poste.objects.mes_choses_a_faire(request.user).filter(pourvu=False).order_by('-date_creation')
- vars['postes_vacants'] = dae.Poste.objects.ma_region_ou_service(request.user).filter(pourvu=False).order_by('-date_creation')
- vars['postes_pourvus'] = dae.Poste.objects.ma_region_ou_service(request.user).filter(pourvu=True).order_by('-date_creation')
+ vars['postes_a_traiter'] = dae.Poste.objects.mes_choses_a_faire(request.user).all().order_by('-date_creation')
+ vars['postes_non_valides'] = dae.Poste.objects.ma_region_ou_service(request.user).filter(~Q(etat=POSTE_ETAT_DRH_FINALISATION)).order_by('-date_creation')
+ vars['postes_valides'] = dae.Poste.objects.ma_region_ou_service(request.user).filter(etat=POSTE_ETAT_DRH_FINALISATION).order_by('-date_creation')
return render_to_response('dae/postes_liste.html', vars, RequestContext(request))
def filtered_type_remun():
def embauches_liste(request):
""" Liste des embauches. """
vars = dict()
- vars['embauches_a_traiter'] = dae.Dossier.objects.ma_region_ou_service(request.user).filter(poste__pourvu=False).order_by('-date_creation')
- vars['embauches_en_cours'] = dae.Dossier.objects.ma_region_ou_service(request.user).filter(poste__pourvu=False).order_by('-date_creation')
- vars['embauches_non_retenues'] = dae.Dossier.objects.ma_region_ou_service(request.user).filter(poste__pourvu=True).order_by('-date_creation')
+ vars['embauches_a_traiter'] = dae.Dossier.objects.mes_choses_a_faire(request.user).all().order_by('-date_creation')
+ vars['embauches_en_cours'] = dae.Dossier.objects.ma_region_ou_service(request.user).filter(~Q(etat=DOSSIER_ETAT_REFUSE)).order_by('-date_creation')
+ vars['embauches_non_retenues'] = dae.Dossier.objects.ma_region_ou_service(request.user).filter(etat=DOSSIER_ETAT_REFUSE).order_by('-date_creation')
return render_to_response('dae/embauches_liste.html', vars, RequestContext(request))
def employe(request, key):
dossier.classement_anterieur = dossier_rh.classement
# Récupération du salaire de base
- remun = dossier_rh.remuneration_set.filter(type=1)
+ remun = dossier_rh.remuneration_set.filter(type=1).order_by('-date_effective')
if remun:
dossier.salaire_anterieur = remun[0].montant
# Récupération du titulaire précédent
try:
dossiers = rh.Dossier.objects.order_by('-mandat_date_fin')
- dossiers = dossiers.filter(poste1=poste_rh) | dossiers.filter(poste2=poste_rh)
+ if poste_rh:
+ dossiers = dossiers.filter(poste1=poste_rh) | dossiers.filter(poste2=poste_rh)
+ else:
+ dossiers = rh.Dossier.objects.none()
if len(dossiers):
# Ce bloc ignore toutes les erreurs, car les données de rh
# manquantes peuvent en générer
dossier.employe_anterieur = titulaire
dossier.classement_titulaire_anterieur = d.classement
dossier.statut_titulaire_anterieur = d.statut
- dossier.salaire_titulaire_anterieur = \
- d.remuneration_set.all()[0].montant
+ dossier.salaire_titulaire_anterieur = d.remuneration_set.filter(type=1).order_by('-date_effective')[0].montant
except:
pass
# TODO: afficher l'info, les champs ne sont pas dans le
@dae_groupe_requis
@vieux_dossier_dans_ma_region_ou_service
def dossier_resume(request, dossier_id=None):
- """ Appel AJAX :
- input : valeur_point
- output : devise, devise_code, taux_euro
- """
try:
dossier = rh.Dossier.objects.get(id=dossier_id)
except:
data['montant_euros'] = 0
return HttpResponse(dumps(data))
+@dae_groupe_requis
+@vieux_dossier_dans_ma_region_ou_service
+def poste_resume(request, dossier_id=None):
+ """
+ On travaille, en réalité sur le dossier mais on cache
+ l'identité de la personne.
+ """
+ try:
+ dossier = rh.Dossier.objects.get(id=dossier_id)
+ except:
+ return HttpResponseGone("Ce dossier n'est pas accessible")
+
+ data = {}
+ 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:
+ data['devise'] = salaire.devise.id
+ data['montant_euros'] = salaire.en_euros()
+ else:
+ data['devise'] = None
+ data['montant_euros'] = 0
+ return HttpResponse(dumps(data))
+
def liste_postes(request):
""" Appel AJAX :
input : implantation_id
data.append({'id' : o.id, 'label' : o.__unicode__(), })
return HttpResponse(dumps(data))
+################################################################################
+# MEDIA PRIVE
+################################################################################
+
+def mediaserve(request, path, document_root=None, show_indexes=False):
+ """
+ Sécuriser l'accès aux fichiers uploadés
+ """
+ ct, id, filename = path.split('/')
+
+ grant_ok = False
+ user = request.user
+ if not user.is_authenticated():
+ return redirect_interdiction(request)
+
+ if ct == 'poste':
+ grant_ok = dae.Poste.objects.ma_region_ou_service(user).filter(id=id).count() > 0
+ if ct == 'dossier':
+ grant_ok = dae.Dossier.objects.ma_region_ou_service(user).filter(id=id).count() > 0
+
+ if not grant_ok:
+ return redirect_interdiction(request)
+
+ return serve(request, path, document_root, show_indexes)
+
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):
"""
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_gestionnaires = safe_create_groupe(name='Gestionnaires')
grp_directeurs_bureau = safe_create_groupe(name='Directeurs de bureau')
grp_drh = safe_create_groupe(name='DRH')
-grp_pole_financier = safe_create_groupe(name='Pôle financier')
+grp_accior = safe_create_groupe(name='ACCIOR')
+grp_afb = safe_create_groupe(name='AFB')
grp_haute_direction = safe_create_groupe(name='Haute direction')
grp_service_utilisateurs = safe_create_groupe(name='Service utilisateurs')
-grp_directeurs_service = safe_create_groupe(name='Directeurs de service / pôle')
-grp_correspondants_rh = safe_create_groupe(name='Correspondants RH')
-dae_groupes = (grp_administrateurs, grp_gestionnaires, grp_directeurs_bureau, grp_drh,
- grp_pole_financier, grp_haute_direction, grp_service_utilisateurs,
- grp_directeurs_service, grp_correspondants_rh, )
+dae_groupes = (
+ grp_correspondants_rh,
+ grp_administrateurs,
+ grp_directeurs_bureau,
+ grp_drh,
+ grp_accior,
+ grp_afb,
+ grp_haute_direction,
+ grp_service_utilisateurs,
+)
# codes états
POSTE_ETAT_REFUSE = 'REFUSE'
POSTE_ETAT_BROUILLON = 'BROUILLON'
-POSTE_ETAT_DIRECTEUR_BUREAU_OU_SERVICE = 'DIRECTEUR_BUR_SRV'
POSTE_ETAT_ADMINISTRATEUR = 'ADMINISTRATEUR'
+POSTE_ETAT_DIRECTEUR_BUREAU = 'DIRECTEUR_BUREAU'
+POSTE_ETAT_SERVICE_UTILISATEURS = 'SRV_UTILISATEURS'
POSTE_ETAT_DRH_CONTROLE = 'DRH_CONTROLE'
-POSTE_ETAT_POLE_FINANCIER = 'FINANCE'
+POSTE_ETAT_ACCIOR = 'ACCIOR'
+POSTE_ETAT_AFB = 'AFB'
POSTE_ETAT_HAUTE_DIRECTION = 'HAUTE_DIRECTION'
POSTE_ETAT_DRH_FINALISATION = 'DRH_FINALISATION'
#codes actions
POSTE_ACTION_ENVOYER_REFUSE = POSTE_ETAT_REFUSE
POSTE_ACTION_ENVOYER_BROUILLON = POSTE_ETAT_BROUILLON
-POSTE_ACTION_ENVOYER_DIRECTEUR_BUREAU_OU_SERVICE = POSTE_ETAT_DIRECTEUR_BUREAU_OU_SERVICE
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_POLE_FINANCIER = POSTE_ETAT_POLE_FINANCIER
+POSTE_ACTION_ENVOYER_ACCIOR = POSTE_ETAT_ACCIOR
+POSTE_ACTION_ENVOYER_AFB = POSTE_ETAT_AFB
POSTE_ACTION_ENVOYER_HAUTE_DIRECTION = POSTE_ETAT_HAUTE_DIRECTION
POSTE_ACTION_ENVOYER_DRH_FINALISATION = POSTE_ETAT_DRH_FINALISATION
POSTE_ETATS = {
POSTE_ETAT_REFUSE : u"Refusé",
POSTE_ETAT_BROUILLON : u"En rédaction",
- POSTE_ETAT_DIRECTEUR_BUREAU_OU_SERVICE : u"Directeur de bureau, pôle ou service",
POSTE_ETAT_ADMINISTRATEUR : u"Validation de l'adminstrateur",
+ POSTE_ETAT_DIRECTEUR_BUREAU : u"Directeur de bureau",
+ POSTE_ETAT_SERVICE_UTILISATEURS : u"Service utilisateurs",
POSTE_ETAT_DRH_CONTROLE : u"Validation DRH",
- POSTE_ETAT_POLE_FINANCIER : u"Pôle finances",
+ POSTE_ETAT_ACCIOR : u"ACCIOR",
+ POSTE_ETAT_AFB : u"AFB",
POSTE_ETAT_HAUTE_DIRECTION : u"Validation : Secrétaire général / Recteur",
POSTE_ETAT_DRH_FINALISATION : u'Retour à la DRH et région',
}
#libellés états pour boutons
POSTE_ETATS_BOUTONS = {
POSTE_ETAT_REFUSE : u"Refuser",
- POSTE_ETAT_DIRECTEUR_BUREAU_OU_SERVICE : u"Envoyer au directeur de bureau, pôle ou service",
+ 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_POLE_FINANCIER : u"Envoyer au pôle finances",
+ POSTE_ETAT_ACCIOR : u"Envoyer à l'ACCIOR",
+ POSTE_ETAT_AFB : u"Envoyer à l'AFB",
POSTE_ETAT_HAUTE_DIRECTION : u"Envoyer à la haute direction",
POSTE_ETAT_DRH_FINALISATION : u'Envoyer à la DRH (traitement)',
}
POSTE_ACTIONS = {
POSTE_ACTION_ENVOYER_REFUSE : {
'nom' : u'Refuser',
- 'etat_initial' : (POSTE_ETAT_DIRECTEUR_BUREAU_OU_SERVICE, POSTE_ETAT_ADMINISTRATEUR, POSTE_ETAT_DRH_CONTROLE, POSTE_ETAT_POLE_FINANCIER, POSTE_ETAT_HAUTE_DIRECTION),
+ 'etat_initial' : (POSTE_ETAT_DIRECTEUR_BUREAU, POSTE_ETAT_ADMINISTRATEUR, POSTE_ETAT_SERVICE_UTILISATEURS, POSTE_ETAT_DRH_CONTROLE, POSTE_ETAT_HAUTE_DIRECTION),
'etat_final' : POSTE_ETAT_REFUSE,
},
POSTE_ACTION_ENVOYER_BROUILLON : {
'etat_initial' : None,
'etat_final' : POSTE_ETAT_BROUILLON,
},
- POSTE_ACTION_ENVOYER_DIRECTEUR_BUREAU_OU_SERVICE : {
- 'nom' : u'Envoyer',
- 'etat_initial' : POSTE_ETAT_BROUILLON,
- 'etat_final' : POSTE_ETAT_DIRECTEUR_BUREAU_OU_SERVICE,
- },
POSTE_ACTION_ENVOYER_ADMINISTRATEUR : {
'nom' : u'Envoyer',
- 'etat_initial' : (POSTE_ETAT_REFUSE, POSTE_ETAT_DIRECTEUR_BUREAU_OU_SERVICE),
+ 'etat_initial' : (POSTE_ETAT_BROUILLON, POSTE_ETAT_REFUSE, ),
'etat_final' : POSTE_ETAT_ADMINISTRATEUR,
},
+ POSTE_ACTION_ENVOYER_SRV_UTILISATEURS : {
+ 'nom' : u'Envoyer',
+ 'etat_initial' : (POSTE_ETAT_ADMINISTRATEUR, POSTE_ETAT_REFUSE, ),
+ 'etat_final' : POSTE_ETAT_SERVICE_UTILISATEURS,
+ },
+ POSTE_ACTION_ENVOYER_DIRECTEUR_BUREAU : {
+ 'nom' : u'Envoyer',
+ 'etat_initial' : (POSTE_ETAT_ADMINISTRATEUR, POSTE_ETAT_REFUSE,),
+ 'etat_final' : POSTE_ETAT_DIRECTEUR_BUREAU,
+ },
POSTE_ACTION_ENVOYER_DRH_CONTROLE : {
'nom' : u'Envoyer',
- 'etat_initial' : (POSTE_ETAT_REFUSE, POSTE_ETAT_DIRECTEUR_BUREAU_OU_SERVICE, POSTE_ETAT_ADMINISTRATEUR, ),
+ 'etat_initial' : (POSTE_ETAT_ADMINISTRATEUR, POSTE_ETAT_DIRECTEUR_BUREAU, POSTE_ETAT_SERVICE_UTILISATEURS, POSTE_ETAT_REFUSE, ),
'etat_final' : POSTE_ETAT_DRH_CONTROLE,
},
- POSTE_ACTION_ENVOYER_POLE_FINANCIER : {
+ POSTE_ACTION_ENVOYER_ACCIOR : {
'nom' : u'Envoyer',
- 'etat_initial' : (POSTE_ETAT_REFUSE, POSTE_ETAT_DRH_CONTROLE, ),
- 'etat_final' : POSTE_ETAT_POLE_FINANCIER,
+ 'etat_initial' : (POSTE_ETAT_DRH_CONTROLE, POSTE_ETAT_REFUSE, ),
+ 'etat_final' : POSTE_ETAT_ACCIOR,
+ },
+ POSTE_ACTION_ENVOYER_AFB : {
+ 'nom' : u'Envoyer',
+ 'etat_initial' : (POSTE_ETAT_ACCIOR, POSTE_ETAT_REFUSE, ),
+ 'etat_final' : POSTE_ETAT_AFB,
},
POSTE_ACTION_ENVOYER_HAUTE_DIRECTION : {
'nom' : u'Envoyer',
- 'etat_initial' : (POSTE_ETAT_REFUSE, POSTE_ETAT_POLE_FINANCIER, ),
+ 'etat_initial' : (POSTE_ETAT_AFB, POSTE_ETAT_REFUSE, ),
'etat_final' : POSTE_ETAT_HAUTE_DIRECTION,
},
POSTE_ACTION_ENVOYER_DRH_FINALISATION : {
'nom' : u'Envoyer',
- 'etat_initial' : (POSTE_ETAT_REFUSE, POSTE_ETAT_HAUTE_DIRECTION, ),
+ 'etat_initial' : (POSTE_ETAT_HAUTE_DIRECTION, POSTE_ETAT_REFUSE, ),
'etat_final' : POSTE_ETAT_DRH_FINALISATION,
},
}
-def refuse_sauf_pour_drh(f):
+def acces_etat_refuse(f):
"""
- Personne ne peut manipuler quelque chose à l'état refusé excepté la DRH
+ Personne ne peut manipuler quelque chose à l'état refusé excepté la DRH et les administrateurs
"""
def inner(obj, action, request):
if obj.etat != 'REFUSE':
return f(obj, action, request)
- if grp_drh in request.user.groups.all():
+ user_groupes = request.user.groups.all()
+ if grp_drh in user_groupes or grp_administrateurs in user_groupes:
return f(obj, action, request)
else:
return False
abstract = True
def acces_refuse(self, action, request):
- if grp_pole_financier in request.user.groups.all():
+ klass = self.__class__
+ user_groupes = request.user.groups.all()
+ if (grp_accior in user_groupes or grp_afb in user_groupes) and len(user_groupes) == 1:
return False
user_groupes = request.user.groups.all()
+ en_cours = klass.objects.mes_choses_a_faire(request.user).all()
for g, etats in MAP_GROUPE_ETATS_A_FAIRE.items():
- if g in user_groupes and self.etat in etats:
+ if g in user_groupes and self.etat in etats and self in en_cours:
return True
return False
- @refuse_sauf_pour_drh
- def acces_directeur_bur_srv(self, action, request):
+ @acces_etat_refuse
+ def acces_directeur_bureau(self, action, request):
+ if is_user_dans_services_centraux(request.user):
+ return False
for g in request.user.groups.all():
- if g in (grp_administrateurs, grp_gestionnaires, grp_service_utilisateurs, grp_correspondants_rh, grp_drh,):
+ if g in (grp_administrateurs, grp_drh,):
return True
return False
- @refuse_sauf_pour_drh
+ @acces_etat_refuse
def acces_administrateur(self, action, request):
for g in request.user.groups.all():
- if g in (grp_directeurs_service, grp_drh,):
+ if g in (grp_correspondants_rh, grp_drh,):
return True
return False
- @refuse_sauf_pour_drh
+ @acces_etat_refuse
def acces_drh_controle(self, action, request):
for g in request.user.groups.all():
- if g in (grp_directeurs_bureau, grp_administrateurs, grp_drh,):
+ if g in (grp_directeurs_bureau, grp_service_utilisateurs, grp_drh,) or g == grp_administrateurs and is_user_dans_region(request.user):
+ return True
+ return False
+
+ @acces_etat_refuse
+ def acces_srv_utilisateurs(self, action, request):
+ if not is_user_dans_services_centraux(request.user):
+ return False
+ for g in request.user.groups.all():
+ if g in (grp_administrateurs, grp_drh, ):
return True
return False
- @refuse_sauf_pour_drh
- def acces_finance(self, action, request):
+ @acces_etat_refuse
+ def acces_accior(self, action, request):
for g in request.user.groups.all():
if g in (grp_drh, ):
return True
return False
- @refuse_sauf_pour_drh
+ @acces_etat_refuse
+ def acces_afb(self, action, request):
+ for g in request.user.groups.all():
+ if g in (grp_accior, grp_drh, ):
+ return True
+ return False
+
+ @acces_etat_refuse
def acces_haute_direction(self, action, request):
for g in request.user.groups.all():
- if g in (grp_pole_financier, grp_drh, ):
+ if g in (grp_afb, grp_drh, ):
return True
return False
- @refuse_sauf_pour_drh
+ @acces_etat_refuse
def acces_drh_finalisation(self, action, request):
for g in request.user.groups.all():
if g in (grp_haute_direction, grp_drh, ):
#codes actions
DOSSIER_ETAT_REFUSE = POSTE_ETAT_REFUSE
DOSSIER_ETAT_BROUILLON = POSTE_ETAT_BROUILLON
-DOSSIER_ETAT_DIRECTEUR_BUREAU_OU_SERVICE = POSTE_ETAT_DIRECTEUR_BUREAU_OU_SERVICE
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_POLE_FINANCIER = POSTE_ETAT_POLE_FINANCIER
+DOSSIER_ETAT_ACCIOR = POSTE_ETAT_ACCIOR
+DOSSIER_ETAT_AFB = POSTE_ETAT_AFB
DOSSIER_ETAT_HAUTE_DIRECTION = POSTE_ETAT_HAUTE_DIRECTION
DOSSIER_ETAT_DRH_FINALISATION = POSTE_ETAT_DRH_FINALISATION
class Meta:
abstract = True
- def save(self, force_insert=False, force_update=False, using=None):
- """
- Lorsqu'un dossier est retenu, on flag le poste pourvu
- """
- super(PosteWorkflow, self).save(force_insert, force_update, using)
- if self.etat == DOSSIER_ETAT_DRH_FINALISATION:
- self.poste.pourvu = True
- self.poste.save()
-
MAP_GROUPE_ETATS_A_FAIRE = {
- grp_gestionnaires : (),
- grp_service_utilisateurs : (),
- grp_correspondants_rh : (),
- grp_administrateurs : (POSTE_ETAT_ADMINISTRATEUR, DOSSIER_ETAT_ADMINISTRATEUR,),
- grp_directeurs_bureau : (POSTE_ETAT_DIRECTEUR_BUREAU_OU_SERVICE, DOSSIER_ETAT_DIRECTEUR_BUREAU_OU_SERVICE,),
+ grp_correspondants_rh : (POSTE_ETAT_BROUILLON, DOSSIER_ETAT_BROUILLON, ),
+ grp_service_utilisateurs : (POSTE_ETAT_SERVICE_UTILISATEURS, DOSSIER_ETAT_SERVICE_UTILISATEURS,),
+ grp_administrateurs : (POSTE_ETAT_ADMINISTRATEUR, DOSSIER_ETAT_ADMINISTRATEUR, ),
+ 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,),
- grp_pole_financier : (POSTE_ETAT_POLE_FINANCIER, DOSSIER_ETAT_POLE_FINANCIER, ),
+ grp_accior : (POSTE_ETAT_ACCIOR, DOSSIER_ETAT_ACCIOR, ),
+ grp_afb : (POSTE_ETAT_AFB, DOSSIER_ETAT_AFB, ),
grp_haute_direction : (POSTE_ETAT_HAUTE_DIRECTION, DOSSIER_ETAT_HAUTE_DIRECTION, ),
- grp_directeurs_service : (POSTE_ETAT_DIRECTEUR_BUREAU_OU_SERVICE, DOSSIER_ETAT_DIRECTEUR_BUREAU_OU_SERVICE,),
}
-ETATS_EDITABLE = (POSTE_ETAT_BROUILLON, POSTE_ETAT_ADMINISTRATEUR, POSTE_ETAT_DRH_CONTROLE, POSTE_ETAT_DIRECTEUR_BUREAU_OU_SERVICE,
- DOSSIER_ETAT_BROUILLON, DOSSIER_ETAT_ADMINISTRATEUR, DOSSIER_ETAT_DRH_CONTROLE, DOSSIER_ETAT_DIRECTEUR_BUREAU_OU_SERVICE,
+ETATS_EDITABLE = (POSTE_ETAT_REFUSE, POSTE_ETAT_BROUILLON, POSTE_ETAT_ADMINISTRATEUR, POSTE_ETAT_DRH_CONTROLE, POSTE_ETAT_DIRECTEUR_BUREAU, POSTE_ETAT_SERVICE_UTILISATEURS,
+ DOSSIER_ETAT_REFUSE, DOSSIER_ETAT_BROUILLON, DOSSIER_ETAT_ADMINISTRATEUR, DOSSIER_ETAT_DRH_CONTROLE, DOSSIER_ETAT_DIRECTEUR_BUREAU, DOSSIER_ETAT_SERVICE_UTILISATEURS,
)
p, ul { margin: 6px 0;}
-body { margin:0; padding:0; background:#fff; color:#454545; font:0.8em verdana, arial, helvetica, sans-serif; }
+body { margin:0; padding:0; background:#fff; color:#454545; font:0.7em verdana, arial, helvetica, sans-serif; }
h1 { margin:10px 0 0 0; padding:0; color:#d15517; font-size:120%;font-weight:bold; }
h2 { margin:10px 0 0 0; padding:0; color:#5f5f5f; font-size:100%; }
label {font-weight: bold;}
table { margin:10px 0px; border-collapse:collapse; padding:5px; }
-table th, table td{ font-size: 80%; border-top:1px solid #d0e8f8; border-left:1px solid #d0e8f8; padding: 5px; }
+table th, table td{ font-size: 70%; border-top:1px solid #d0e8f8; border-left:1px solid #d0e8f8; padding: 5px; }
table { border-bottom:1px solid #d0e8f8; border-right:1px solid #d0e8f8; }
th { height:28px; border-top:2px solid #d0e8f8; padding:0 10px; background-color:#F8FBFD; font-size:14px; text-align:left; font-weight: bold;}
td { vertical-align: top; }
else {
value = (montant_annuel.val());
}
+ value = roundNumber(value, 2)
- montant_mensuel.val(clean_float(value / 12));
- montant_annuel.val(value);
+ montant_mensuel.val(roundNumber((value / 12), 2));
+ montant_annuel.val(roundNumber(value, 0));
var devise = $('#' + prefix + '-devise').val();
var taux = parseFloat(DEVISES[devise]);
if (isNaN(taux)) taux = 0;
- montant_mensuel_euros.text(clean_float(value / 12 * taux))
- montant_annuel_euros.text(clean_float(value * taux))
+ montant_mensuel_euros.text(roundNumber((value / 12 * taux), 2))
+ montant_annuel_euros.text(roundNumber((value * taux), 0))
}
});
elements_comparaison($('#id_devise_comparaison').val());
+ /* Traitement de la recherche AJAX pour les postes de comparaison */
+ $(".comparaison-interne .results_on_deck").bind('added', function() {
+ /* récupération du choix dans la liste */
+ var input_id = $(this).attr('id').replace('_on_deck', '');
+ var prefix_poste_connexe = $(this).attr('id').replace('recherche_on_deck', '');
+ var input = $('#'+input_id);
+ var poste_id = input.val();
+
+ /* interrogation par AJAX pour récupérer les données du poste */
+ var chargement_poste = $.getJSON("/dae/poste_resume/" + poste_id);
+ chargement_poste.success(function(data) {
+ $('#' + prefix_poste_connexe + 'implantation').val(data['implantation']);
+ $('#' + prefix_poste_connexe + 'nom').val(data['poste']);
+ $('#' + prefix_poste_connexe + 'montant').val(data['montant']);
+ $('#' + prefix_poste_connexe + 'devise').val(data['devise']);
+ $('#' + prefix_poste_connexe + 'montant_euros').val(data['montant_euros']);
+ });
+ chargement_poste.error(function(data) {
+ alert(data.responseText);
+ });
+
+ /* on ne veut pas afficher la personne en-dessous */
+ $(this).find('div').remove();
+ input.val('');
+
+ });
+
+
});
return parseInt(output);
}
+function roundNumber(num, dec) {
+ var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
+ return result;
+}
+
/* stocker le texte par défaut à afficher */
var note_duree_indeterminee = "";
class TypeContratAdmin(admin.ModelAdmin):
pass
+class ResponsableImplantationAdmin(admin.ModelAdmin):
+ pass
+
-admin.site.register(Commentaire, CommentaireAdmin)
+#admin.site.register(Commentaire, CommentaireAdmin)
admin.site.register(Poste, PosteAdmin)
-admin.site.register(PosteFinancement, PosteFinancementAdmin)
-admin.site.register(PostePiece, PostePieceAdmin)
-admin.site.register(PosteCommentaire, PosteCommentaireAdmin)
+#admin.site.register(PosteFinancement, PosteFinancementAdmin)
+#admin.site.register(PostePiece, PostePieceAdmin)
+#admin.site.register(PosteCommentaire, PosteCommentaireAdmin)
admin.site.register(Employe, EmployeAdmin)
-admin.site.register(EmployePiece, EmployePieceAdmin)
-admin.site.register(EmployeCommentaire, EmployeCommentaireAdmin)
+#admin.site.register(EmployePiece, EmployePieceAdmin)
+#admin.site.register(EmployeCommentaire, EmployeCommentaireAdmin)
admin.site.register(AyantDroit, AyantDroitAdmin)
-admin.site.register(AyantDroitCommentaire, AyantDroitCommentaireAdmin)
+#admin.site.register(AyantDroitCommentaire, AyantDroitCommentaireAdmin)
admin.site.register(Dossier, DossierAdmin)
-admin.site.register(DossierPiece, DossierPieceAdmin)
-admin.site.register(DossierCommentaire, DossierCommentaireAdmin)
+#admin.site.register(DossierPiece, DossierPieceAdmin)
+#admin.site.register(DossierCommentaire, DossierCommentaireAdmin)
admin.site.register(Remuneration, RemunerationAdmin)
admin.site.register(Contrat, ContratAdmin)
admin.site.register(Evenement, EvenementAdmin)
admin.site.register(ValeurPoint, ValeurPointAdmin)
admin.site.register(Devise, DeviseAdmin)
admin.site.register(TypeContrat, TypeContratAdmin)
+admin.site.register(ResponsableImplantation, ResponsableImplantationAdmin)
# Constantes
-HELP_TEXT_DATE = u"format: aaaa-mm-jj"
+HELP_TEXT_DATE = "format: aaaa-mm-jj"
REGIME_TRAVAIL_DEFAULT = 100.00
REGIME_TRAVAIL_NB_HEURE_SEMAINE_DEFAULT = 35.00
"""
# Identification
nom = models.CharField(max_length=255,
- verbose_name=u"Titre du poste", )
+ verbose_name="Titre du poste", )
nom_feminin = models.CharField(max_length=255,
- verbose_name=u"Titre du poste (au féminin)",
+ verbose_name="Titre du poste (au féminin)",
null=True)
implantation = models.ForeignKey(ref.Implantation,
db_column='implantation', related_name='+')
null=True)
service = models.ForeignKey('Service', db_column='service',
related_name='+',
- verbose_name=u"Direction/Service/Pôle support",
+ verbose_name="Direction/Service/Pôle support",
default=1) # default = Rectorat
responsable = models.ForeignKey('Poste', db_column='responsable',
related_name='+',
- verbose_name=u"Poste du responsable",
+ verbose_name="Poste du responsable",
default=149) # default = Recteur
# Contrat
regime_travail = models.DecimalField(max_digits=12, decimal_places=2,
default=REGIME_TRAVAIL_DEFAULT,
- verbose_name=u"Temps de travail",
- help_text=u"% du temps complet")
+ verbose_name="Temps de travail",
+ help_text="% du temps complet")
regime_travail_nb_heure_semaine = models.DecimalField(max_digits=12,
decimal_places=2,
default=REGIME_TRAVAIL_NB_HEURE_SEMAINE_DEFAULT,
- verbose_name=u"Nb. heures par semaine")
+ verbose_name="Nb. heures par semaine")
# Recrutement
- local = models.BooleanField(verbose_name=u"Local", default=True,
+ local = models.BooleanField(verbose_name="Local", default=True,
blank=True)
- expatrie = models.BooleanField(verbose_name=u"Expatrié", default=False,
+ expatrie = models.BooleanField(verbose_name="Expatrié", default=False,
blank=True)
mise_a_disposition = models.BooleanField(
- verbose_name=u"Mise à disposition",
+ verbose_name="Mise à disposition",
default=False)
appel = models.CharField(max_length=10,
- verbose_name=u"Appel à candidature",
+ verbose_name="Appel à candidature",
choices=POSTE_APPEL_CHOICES,
default='interne')
# Autres Metadata
date_validation = models.DateTimeField(null=True, blank=True) # de dae
- date_debut = models.DateField(verbose_name=u"Date de début",
+ date_debut = models.DateField(verbose_name="Date de début",
help_text=HELP_TEXT_DATE)
- date_fin = models.DateField(verbose_name=u"Date de fin",
+ date_fin = models.DateField(verbose_name="Date de fin",
help_text=HELP_TEXT_DATE,
null=True, blank=True)
class Meta:
abstract = True
ordering = ['implantation__nom', 'nom']
+ verbose_name = "Poste"
+ verbose_name_plural = "Postes"
def __unicode__(self):
- # TODO : gérer si poste est vacant ou non dans affichage
- # TODO : gérer le nom_feminin (autre méthode appelée par __unicode__ ?)
- return u'%s - %s [%s]' % (self.implantation, self.nom, self.id)
+ representation = u'%s - %s [%s]' % (self.implantation, self.nom,
+ self.id)
+ if self.is_vacant():
+ representation = representation + u' (vacant)'
+ return representation
+
+ def is_vacant(self):
+ # TODO : si existe un dossier actif pour ce poste, return False
+ # self.dossier_set.all() fonctionne pas
+ return False
class Poste(Poste_):
related_name='%(app_label)s_financements')
type = models.CharField(max_length=1, choices=POSTE_FINANCEMENT_CHOICES)
pourcentage = models.DecimalField(max_digits=12, decimal_places=2,
- help_text=u"ex.: 33.33 % (décimale avec point)")
+ help_text="ex.: 33.33 % (décimale avec point)")
commentaire = models.TextField(
- help_text=u"Spécifiez la source de financement.")
+ help_text="Spécifiez la source de financement.")
class Meta:
abstract = True
"""Documents relatifs au Poste.
Ex.: Description de poste
"""
- poste = models.ForeignKey("Poste", db_column='poste',
+ poste = models.ForeignKey('Poste', db_column='poste',
related_name='pieces')
- nom = models.CharField(verbose_name=u"Nom", max_length=255)
- fichier = models.FileField(verbose_name=u"Fichier",
+ nom = models.CharField(verbose_name="Nom", max_length=255)
+ fichier = models.FileField(verbose_name="Fichier",
upload_to=poste_piece_dispatch,
storage=storage_prive)
def __unicode__(self):
return u'%s' % (self.nom)
+class PosteComparaison(models.Model):
+ """
+ De la même manière qu'un dossier, un poste peut-être comparé à un autre poste.
+ """
+ poste = models.ForeignKey('Poste', related_name='comparaisons_internes')
+ implantation = models.ForeignKey(ref.Implantation, null=True, blank=True)
+ nom = models.CharField(verbose_name="Poste", max_length=255, null=True, blank=True)
+ montant = models.IntegerField(null=True)
+ devise = models.ForeignKey("Devise", default=5, related_name='+', null=True, blank=True)
+ montant_euros = models.IntegerField(null=True)
+
+
class PosteCommentaire(Commentaire):
- poste = models.ForeignKey("Poste", db_column='poste', related_name='+')
+ poste = models.ForeignKey('Poste', db_column='poste', related_name='+')
### EMPLOYÉ/PERSONNE
"""
# Identification
nom = models.CharField(max_length=255)
- prenom = models.CharField(max_length=255, verbose_name=u"Prénom")
- # TODO : nom_affichage doit être obligatoire, pas nom et prenom
+ prenom = models.CharField(max_length=255, verbose_name="Prénom")
nom_affichage = models.CharField(max_length=255,
- verbose_name=u"Nom d'affichage",
+ verbose_name="Nom d'affichage",
null=True, blank=True)
nationalite = models.ForeignKey(ref.Pays, to_field='code',
db_column='nationalite',
- related_name='employes_nationalite')
+ related_name='employes_nationalite',
+ verbose_name="Nationalité")
date_naissance = models.DateField(help_text=HELP_TEXT_DATE,
+ verbose_name="Date de naissance",
null=True, blank=True)
genre = models.CharField(max_length=1, choices=GENRE_CHOICES)
# Infos personnelles
situation_famille = models.CharField(max_length=1,
choices=SITUATION_CHOICES,
+ verbose_name="Situation familiale",
null=True, blank=True)
- date_entree = models.DateField(verbose_name=u"Date d'entrée à l'AUF",
+ date_entree = models.DateField(verbose_name="Date d'entrée à l'AUF",
help_text=HELP_TEXT_DATE,
null=True, blank=True)
# Coordonnées
- tel_domicile = models.CharField(max_length=255, null=True, blank=True)
- tel_cellulaire = models.CharField(max_length=255, null=True, blank=True)
+ tel_domicile = models.CharField(max_length=255,
+ verbose_name="Tél. domicile",
+ null=True, blank=True)
+ tel_cellulaire = models.CharField(max_length=255,
+ verbose_name="Tél. cellulaire",
+ null=True, blank=True)
adresse = 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)
class Meta:
ordering = ['nom_affichage','nom','prenom']
+ verbose_name = "Employé"
+ verbose_name_plural = "Employés"
def __unicode__(self):
- # TODO : gérer nom d'affichage
+ return u'%s' % (self.get_nom())
+
+ def get_nom(self):
nom_affichage = self.nom_affichage
if not nom_affichage:
nom_affichage = u'%s %s' % (self.nom.upper(), self.prenom)
- return u'%s' % (nom_affichage)
+ return nom_affichage
class EmployePiece(models.Model):
"""Documents relatifs à un employé.
Ex.: CV...
"""
- employe = models.ForeignKey("Employe", db_column='employe',
+ employe = models.ForeignKey('Employe', db_column='employe',
related_name='+')
- nom = models.CharField(verbose_name=u"Nom", max_length=255)
- fichier = models.FileField(verbose_name=u"Fichier",
+ nom = models.CharField(verbose_name="Nom", max_length=255)
+ fichier = models.FileField(verbose_name="Fichier",
upload_to=dossier_piece_dispatch,
storage=storage_prive)
return u'%s' % (self.nom)
class EmployeCommentaire(Commentaire):
- employe = models.ForeignKey("Employe", db_column='employe',
+ employe = models.ForeignKey('Employe', db_column='employe',
related_name='+')
"""
# Identification
nom = models.CharField(max_length=255)
- prenom = models.CharField(max_length=255)
- # TODO : nom_affichage doit être obligatoire, pas nom et prenom
+ prenom = models.CharField(max_length=255,
+ verbose_name="Prénom",)
nom_affichage = models.CharField(max_length=255,
- verbose_name=u"Nom d'affichage",
+ verbose_name="Nom d'affichage",
null=True, blank=True)
nationalite = models.ForeignKey(ref.Pays, to_field='code',
db_column='nationalite',
- related_name='ayantdroits_nationalite')
+ related_name='ayantdroits_nationalite',
+ verbose_name="Nationalité")
date_naissance = models.DateField(help_text=HELP_TEXT_DATE,
+ verbose_name="Date de naissance",
null=True, blank=True)
genre = models.CharField(max_length=1, choices=GENRE_CHOICES)
# Relation
employe = models.ForeignKey('Employe', db_column='employe',
- related_name='ayantdroits')
+ related_name='ayantdroits',
+ verbose_name="Employé")
lien_parente = models.CharField(max_length=10,
choices=LIEN_PARENTE_CHOICES,
+ verbose_name="Lien de parenté",
null=True, blank=True)
class Meta:
ordering = ['nom_affichage']
+ verbose_name = "Ayant droit"
+ verbose_name_plural = "Ayants droit"
+
def __unicode__(self):
- # TODO : gérer nom d'affichage
- return u'%s %s' % (self.prenom, self.nom.upper())
+ return u'%s' % (self.get_nom())
+
+ def get_nom(self):
+ nom_affichage = self.nom_affichage
+ if not nom_affichage:
+ nom_affichage = u'%s %s' % (self.nom.upper(), self.prenom)
+ return nom_affichage
class AyantDroitCommentaire(Commentaire):
- ayant_droit = models.ForeignKey("AyantDroit", db_column='ayant_droit',
+ ayant_droit = models.ForeignKey('AyantDroit', db_column='ayant_droit',
related_name='+')
"""
# Identification
employe = models.ForeignKey('Employe', db_column='employe',
- related_name='+')
+ related_name='+',
+ verbose_name="Employé")
poste = models.ForeignKey('Poste', db_column='poste',
related_name='+', editable=False)
statut = models.ForeignKey('Statut', related_name='+', default=3)
organisme_bstg = models.ForeignKey('OrganismeBstg',
db_column='organisme_bstg',
related_name='+',
- verbose_name=u"Organisme",
- help_text=u"Si détaché (DET) ou \
+ verbose_name="Organisme",
+ help_text="Si détaché (DET) ou \
mis à disposition (MAD), \
préciser l'organisme.",
null=True, blank=True)
# Recrutement
remplacement = models.BooleanField(default=False)
statut_residence = models.CharField(max_length=10, default='local',
- verbose_name=u"Statut",
+ verbose_name="Statut",
choices=STATUT_RESIDENCE_CHOICES)
# Rémunération
regime_travail = models.DecimalField(max_digits=12,
decimal_places=2,
default=REGIME_TRAVAIL_DEFAULT,
- verbose_name=u"Régime de travail",
- help_text=u"% du temps complet")
+ verbose_name="Régime de travail",
+ help_text="% du temps complet")
regime_travail_nb_heure_semaine = models.DecimalField(max_digits=12,
decimal_places=2,
default=REGIME_TRAVAIL_NB_HEURE_SEMAINE_DEFAULT,
- verbose_name=u"Nb. heures par semaine")
+ verbose_name="Nb. heures par semaine")
# Occupation du Poste par cet Employe (anciennement "mandat")
- date_debut = models.DateField(verbose_name=u"Date de début d'occupation \
+ date_debut = models.DateField(verbose_name="Date de début d'occupation \
de poste",
help_text=HELP_TEXT_DATE)
- date_fin = models.DateField(verbose_name=u"Date de fin d'occupation \
+ date_fin = models.DateField(verbose_name="Date de fin d'occupation \
de poste",
help_text=HELP_TEXT_DATE,
null=True, blank=True)
class Meta:
abstract = True
ordering = ['employe__nom_affichage', 'employe__nom', 'poste__nom']
+ verbose_name = "Dossier"
+ verbose_name_plural = "Dossiers"
def __unicode__(self):
- return u'%s - %s' % (self.employe, self.poste.nom)
+ poste = self.poste.nom
+ if self.employe.genre == 'F':
+ poste = self.poste.nom_feminin
+ return u'%s - %s' % (self.employe, poste)
class Dossier(Dossier_):
"""Documents relatifs au Dossier (à l'occupation de ce poste par employé).
Ex.: Lettre de motivation.
"""
- dossier = models.ForeignKey("Dossier", db_column='dossier',
+ dossier = models.ForeignKey('Dossier', db_column='dossier',
related_name='+')
- nom = models.CharField(verbose_name=u"Nom", max_length=255)
- fichier = models.FileField(verbose_name=u"Fichier",
+ nom = models.CharField(verbose_name="Nom", max_length=255)
+ fichier = models.FileField(verbose_name="Fichier",
upload_to=dossier_piece_dispatch,
storage=storage_prive)
return u'%s' % (self.nom)
class DossierCommentaire(Commentaire):
- dossier = models.ForeignKey("Dossier", db_column='dossier',
+ dossier = models.ForeignKey('Dossier', db_column='dossier',
related_name='+')
dossier = models.ForeignKey('Dossier', db_column='dossier',
related_name='%(app_label)s_%(class)s_remunerations')
type = models.ForeignKey('TypeRemuneration', db_column='type',
- related_name='+')
+ related_name='+',
+ verbose_name="Type de rémunération")
type_revalorisation = models.ForeignKey('TypeRevalorisation',
db_column='type_revalorisation',
related_name='+',
+ verbose_name="Type de revalorisation",
null=True, blank=True)
montant = models.FloatField(null=True, blank=True,
default=0)
# commentaire = precision
commentaire = models.CharField(max_length=255, null=True, blank=True)
# date_debut = anciennement date_effectif
- date_debut = models.DateField(help_text=HELP_TEXT_DATE,
+ date_debut = models.DateField(help_text=HELP_TEXT_DATE,
+ verbose_name="Date de début",
null=True, blank=True)
date_fin = models.DateField(help_text=HELP_TEXT_DATE,
+ verbose_name="Date de fin",
null=True, blank=True)
class Meta:
class Meta:
abstract = True
+ verbose_name = "Rémunération"
+ verbose_name_plural = "Rémunérations"
class Remuneration(Remuneration_):
dossier = models.ForeignKey('Dossier', db_column='dossier',
related_name='+')
type_contrat = models.ForeignKey('TypeContrat', db_column='type_contrat',
- related_name='+')
- date_debut = models.DateField(help_text=HELP_TEXT_DATE)
+ related_name='+',
+ verbose_name="Type de contrat")
+ date_debut = models.DateField(help_text=HELP_TEXT_DATE,
+ verbose_name="Date de début")
date_fin = models.DateField(help_text=HELP_TEXT_DATE,
+ verbose_name="Date de fin",
null=True, blank=True)
class Meta:
ordering = ['dossier__employe__nom_affichage']
+ verbose_name = "Contrat"
+ verbose_name_plural = "Contrats"
def __unicode__(self):
- return u'%s - %s' % (self.dossier.employe.nom_affichage, self.id)
+ return u'%s - %s' % (self.dossier, self.id)
# TODO? class ContratPiece(models.Model):
conserver le Dossier intact afin d'éviter une re-saisie des données lors
du retour à la normale.
"""
- dossier = models.ForeignKey("Dossier", db_column='dossier',
+ dossier = models.ForeignKey('Dossier', db_column='dossier',
related_name='+')
nom = models.CharField(max_length=255)
- date_debut = models.DateField(help_text=HELP_TEXT_DATE)
- date_fin = models.DateField(help_text=HELP_TEXT_DATE,
+ date_debut = models.DateField(help_text=HELP_TEXT_DATE,
+ verbose_name="Date de début")
+ date_fin = models.DateField(help_text=HELP_TEXT_DATE,
+ verbose_name="Date de fin",
null=True, blank=True)
class Meta:
abstract = True
ordering = ['nom']
+ verbose_name = "Évènement"
+ verbose_name_plural = "Évènements"
def __unicode__(self):
return u'%s' % (self.nom)
de l'Evenement.
"""
evenement = models.ForeignKey("Evenement", db_column='evenement',
- related_name='+')
+ related_name='+',
+ verbose_name="Évènement")
+ # TODO : le champ dossier hérité de Remuneration doit être dérivé
+ # de l'Evenement associé
class Meta:
abstract = True
+ ordering = ['evenement', 'type__nom', '-date_fin']
+ verbose_name = "Évènement - rémunération"
+ verbose_name_plural = "Évènements - rémunérations"
class EvenementRemuneration(EvenementRemuneration_):
"""
nom = models.CharField(max_length=255)
+ class Meta:
+ ordering = ['nom']
+ verbose_name = "Famille d'emploi"
+ verbose_name_plural = "Familles d'emploi"
+
def __unicode__(self):
return u'%s' % (self.nom)
"""Catégorie de Poste.
"""
nom = models.CharField(max_length=255)
- nom_feminin = models.CharField(max_length=255)
+ nom_feminin = models.CharField(max_length=255,
+ verbose_name="Nom féminin")
- is_responsable = models.BooleanField(default=False)
+ is_responsable = models.BooleanField(default=False,
+ verbose_name="Poste de responsabilité")
famille_emploi = models.ForeignKey('FamilleEmploi',
db_column='famille_emploi',
- related_name='+')
+ related_name='+',
+ verbose_name="Famille d'emploi")
class Meta:
ordering = ['nom']
+ verbose_name = "Type de poste"
+ verbose_name_plural = "Types de poste"
def __unicode__(self):
- # TODO : gérer nom féminin
return u'%s' % (self.nom)
"""
nom = models.CharField(max_length=255)
type_paiement = models.CharField(max_length=30,
- choices=TYPE_PAIEMENT_CHOICES)
+ choices=TYPE_PAIEMENT_CHOICES,
+ verbose_name="Type de paiement")
nature_remuneration = models.CharField(max_length=30,
- choices=NATURE_REMUNERATION_CHOICES)
+ choices=NATURE_REMUNERATION_CHOICES,
+ verbose_name="Nature de la rémunération")
+
+ class Meta:
+ ordering = ['nom']
+ verbose_name = "Type de rémunération"
+ verbose_name_plural = "Types de rémunération"
def __unicode__(self):
return u'%s' % (self.nom)
(Actuellement utilisé dans aucun traitement informatique.)
"""
nom = models.CharField(max_length=255)
+
+ class Meta:
+ ordering = ['nom']
+ verbose_name = "Type de revalorisation"
+ verbose_name_plural = "Types de revalorisation"
def __unicode__(self):
return u'%s' % (self.nom)
class Meta:
ordering = ['nom']
+ verbose_name = "Service"
+ verbose_name_plural = "Services"
def __unicode__(self):
return u'%s' % (self.nom)
class Meta:
ordering = ['type', 'nom']
+ verbose_name = "Organisme BSTG"
+ verbose_name_plural = "Organismes BSTG"
def __unicode__(self):
- return u'%s (%s)' % (self.nom, self.type)
+ return u'%s (%s)' % (self.nom, self.get_type_display())
class Statut(Metadata):
"""Statut de l'Employe dans le cadre d'un Dossier particulier.
class Meta:
ordering = ['code']
+ verbose_name = "Statut d'employé"
+ verbose_name_plural = "Statuts d'employé"
def __unicode__(self):
return u'%s : %s' % (self.code, self.nom)
"""
# Identification
type = models.CharField(max_length=10, choices=TYPE_CLASSEMENT_CHOICES)
- echelon = models.IntegerField()
- degre = models.IntegerField()
- coefficient = models.FloatField(default=0)
+ echelon = models.IntegerField(verbose_name="Échelon")
+ degre = models.IntegerField(verbose_name="Degré")
+ coefficient = models.FloatField(default=0, verbose_name="Coéfficient")
# Méta
# annee # au lieu de date_debut et date_fin
commentaire = models.TextField(null=True, blank=True)
class Meta:
abstract = True
ordering = ['type','echelon','degre','coefficient']
+ verbose_name = "Classement"
+ verbose_name_plural = "Classements"
def __unicode__(self):
return u'%s.%s.%s (%s)' % (self.type, self.echelon, self.degre,
pour chaque année budgétaire.
"""
# Identification
- devise = models.ForeignKey('Devise', to_field='code', db_column='devise',
+ devise = models.ForeignKey('Devise', db_column='devise',
related_name='+')
- annee = models.IntegerField()
- taux = models.FloatField()
+ annee = models.IntegerField(verbose_name="Année")
+ taux = models.FloatField(verbose_name="Taux vers l'euro")
class Meta:
abstract = True
- ordering = ['annee', 'devise__code']
+ ordering = ['-annee', 'devise__code']
+ verbose_name = "Taux de change"
+ verbose_name_plural = "Taux de change"
def __unicode__(self):
- return u'%s : %s €' % (self.devise.code, self.taux)
+ return u'%s : %s € (%s)' % (self.devise, self.taux, self.annee)
class TauxChange(TauxChange_):
class ValeurPoint_(Metadata):
"""Utile pour connaître, pour un Dossier, le salaire de base théorique lié
au classement dans la grille. La ValeurPoint s'obtient par l'implantation
- du POste de ce Dossier : dossier.poste.implantation (pseudo code).
+ du Poste de ce Dossier : dossier.poste.implantation (pseudo code).
salaire de base = coefficient * valeur du point de l'Implantation du Poste
"""
# 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)
-
class Meta:
abstract = True
- ordering = ['valeur']
-
- 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
+ ordering = ['annee']
+ verbose_name = "Valeur du point"
+ verbose_name_plural = "Valeurs du point"
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_id, self.annee)
+ return u'%s %s (%s)' % (self.valeur, self.devise, self.annee)
class ValeurPoint(ValeurPoint_):
class Meta:
ordering = ['code']
+ verbose_name = "Devise"
+ verbose_name_plural = "Devises"
def __unicode__(self):
return u'%s - %s' % (self.code, self.nom)
nom = models.CharField(max_length=255)
nom_long = models.CharField(max_length=255)
+ class Meta:
+ ordering = ['nom']
+ verbose_name = "Type de contrat"
+ verbose_name_plural = "Types de contrat"
+
def __unicode__(self):
return u'%s' % (self.nom)
class Meta:
ordering = ['implantation__nom']
+ verbose_name = "Responsable d'implantation"
+ verbose_name_plural = "Responsables d'implantation"
"""
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',
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() if r.type_id == 1] # type salaire de base
+ 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:
"""
Chargement de tous les objets FK existants sur chaque QuerySet.
"""
- prefixe_implantation = 'implantation'
+ prefixe_service = "service"
+ prefixe_implantation = "implantation__region"
def get_query_set(self):
fkeys = (
# trailing slash if there is a path component (optional in other cases).
# Examples: "http://media.lawrence.com", "http://example.com/media/"
MEDIA_URL = '/media/'
-PRIVE_MEDIA_URL = '/prive/'
+PRIVE_MEDIA_URL = '/dae/prive/'
# URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a
'ajax_select',
'south',
'reversion',
- 'project.rh',
+ #'project.rh',
'auf.django.workflow',
'project.rh_v1',
'project.dae',
'auf.django.auth.backends.CascadeBackend',
)
LOGIN_URL = "/connexion"
+LOGIN_REDIRECT_URL = "/"
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.load_template_source',
AJAX_LOOKUP_CHANNELS = {
'responsables' : ('dae.catalogues', 'Responsable'),
'dossiers' : ('dae.catalogues', 'Dossier'),
+ 'postes' : ('dae.catalogues', 'Poste'),
}
TINYMCE_DEFAULT_CONFIG = {
{% block sous_titre %}Accueil{% endblock %}
{% block main %}
+
<h1>Ressources humaines</h1>
<p>
Voici les modules actuellement disponibles :
</p>
<ul>
- <li><a href="{% url dae_index %}">Demande d'autorisation d'embauche (DAE)</a></li>
+ <li><a href="{% url dae_index %}">Demande d'autorisation d'engagement (DAE)</a></li>
+</ul>
+
+<h1>Vos droits d'accès</h1>
+{% if request.user.is_authenticated %}
+<p>Vous faîtes partie des groupes suivants : </p>
+<ul>
+ {% for g in request.user.groups.all %}
+ <li>{{ g.name }}</li>
+ {% endfor %}
</ul>
+{% endif %}
+
+
{% endblock %}