From: Olivier Larchevêque Date: Thu, 23 Feb 2012 19:52:37 +0000 (-0500) Subject: PJ X-Git-Tag: DAE+RH~48^2~1 X-Git-Url: http://git.auf.org/?p=auf_rh_dae.git;a=commitdiff_plain;h=5be609391f32421998c3a4edc2f3ef2e07aa613e PJ --- diff --git a/project/dae/migrations/0072_renommage_pieces.py b/project/dae/migrations/0072_renommage_pieces.py new file mode 100644 index 0000000..7634b08 --- /dev/null +++ b/project/dae/migrations/0072_renommage_pieces.py @@ -0,0 +1,629 @@ +# encoding: utf-8 + +import os +import datetime +from south.db import db +from south.v2 import DataMigration +from django.db import models +from django.conf import settings + +class Migration(DataMigration): + + def renommage(self, orm, piece, courant, attendu): + if courant == attendu: + return + app, model, id, f = attendu.split('/') + + app_path = os.path.join(settings.PRIVE_MEDIA_ROOT, app) + model_path = os.path.join(settings.PRIVE_MEDIA_ROOT, app, model) + id_path = os.path.join(settings.PRIVE_MEDIA_ROOT, app, model, id) + if not os.path.exists(app_path): + os.mkdir(app_path) + if not os.path.exists(model_path): + os.mkdir(model_path) + if not os.path.exists(id_path): + os.mkdir(id_path) + + courant_path = os.path.join(settings.PRIVE_MEDIA_ROOT, courant) + attendu_path = os.path.join(settings.PRIVE_MEDIA_ROOT, attendu) + if os.path.exists(courant_path): + os.rename(courant_path, attendu_path) + piece.fichier = attendu + piece.save() + else: + print u"non trouve : %s" % (courant_path, ) + + + + def forwards(self, orm): + "Write your forwards methods here." + from project.rh.models import dossier_piece_dispatch + for piece in orm.DossierPiece.objects.all(): + courant = piece.fichier.name + filename = courant.split('/')[-1] + attendu = dossier_piece_dispatch(piece, filename) + self.renommage(orm, piece, courant, attendu) + + from project.rh.models import poste_piece_dispatch + for piece in orm.PostePiece.objects.all(): + courant = piece.fichier.name + filename = courant.split('/')[-1] + attendu = poste_piece_dispatch(piece, filename) + self.renommage(orm, piece, courant, attendu) + + + 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', [], {'unique': 'True', 'max_length': '80'}), + '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', [], {'unique': 'True', 'max_length': '30'}) + }, + '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.contrat': { + 'Meta': {'object_name': 'Contrat'}, + 'date_creation': ('django.db.models.fields.DateTimeField', [], {'null': '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', [], {'null': 'True', 'blank': 'True'}), + 'dossier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dae_contrats'", 'db_column': "'dossier'", 'to': "orm['dae.Dossier']"}), + 'fichier': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'type_contrat': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'type_contrat'", 'to': "orm['rh.TypeContrat']"}), + 'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}), + 'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"}) + }, + 'dae.dossier': { + 'Meta': {'object_name': 'Dossier'}, + 'classement': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'classement'", 'to': "orm['rh.Classement']"}), + 'classement_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Classement']"}), + 'classement_titulaire_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.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'}), + 'dae_numerisee': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'date_creation': ('django.db.models.fields.DateTimeField', [], {'null': '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', [], {'null': 'True', 'blank': 'True'}), + 'devise': ('django.db.models.fields.related.ForeignKey', [], {'default': '5', 'related_name': "'+'", 'to': "orm['rh.Devise']"}), + 'devise_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Devise']"}), + 'devise_titulaire_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Devise']"}), + 'employe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dae_dossiers'", 'db_column': "'employe'", 'to': "orm['dae.Employe']"}), + 'employe_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.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', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'organisme_bstg'", 'to': "orm['rh.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': "'dae_dossiers'", 'db_column': "'poste'", 'to': "orm['dae.Poste']"}), + 'regime_travail': ('django.db.models.fields.DecimalField', [], {'default': "'100.00'", 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}), + 'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'default': "'35.00'", 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}), + 'remplacement': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'remplacement_de': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['dae.Dossier']"}), + 'salaire': ('django.db.models.fields.DecimalField', [], {'default': 'None', 'null': 'True', 'max_digits': '13', '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': "'+'", 'null': 'True', 'to': "orm['rh.Statut']"}), + 'statut_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Statut']"}), + 'statut_residence': ('django.db.models.fields.CharField', [], {'default': "'local'", 'max_length': '10', 'null': 'True'}), + 'statut_titulaire_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Statut']"}), + 'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'type_contrat': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh.TypeContrat']"}), + 'type_contrat_anterieur': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.TypeContrat']"}), + 'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}), + 'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"}) + }, + 'dae.dossiercomparaison': { + 'Meta': {'object_name': 'DossierComparaison'}, + 'classement': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Classement']"}), + 'devise': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Devise']"}), + 'dossier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dae_comparaisons'", 'to': "orm['dae.Dossier']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'implantation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['references.Implantation']"}), + 'montant': ('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'}), + 'statut': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Statut']"}) + }, + 'dae.dossierpiece': { + 'Meta': {'object_name': 'DossierPiece'}, + 'dossier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'dossier'", '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'}, + 'date_creation': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'date_modification': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + '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.Employe']"}), + 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'prenom': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}), + 'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"}) + }, + 'dae.importdossier': { + 'Meta': {'object_name': 'ImportDossier'}, + 'dae': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['dae.Dossier']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'rh': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh.Dossier']"}) + }, + 'dae.importposte': { + 'Meta': {'object_name': 'ImportPoste'}, + 'dae': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['dae.Poste']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'rh': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['rh.Poste']"}) + }, + 'dae.poste': { + 'Meta': {'object_name': 'Poste'}, + 'appel': ('django.db.models.fields.CharField', [], {'default': "'interne'", 'max_length': '10', 'null': 'True'}), + 'autre_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}), + 'autre_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'null': 'True', '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', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'classement_max'", 'to': "orm['rh.Classement']"}), + 'classement_min': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'classement_min'", 'to': "orm['rh.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', [], {'null': 'True', 'blank': 'True'}), + 'date_debut': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'date_modification': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'devise_comparaison': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'devise_comparaison'", 'to': "orm['rh.Devise']"}), + 'devise_max': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'devise_max'", 'to': "orm['rh.Devise']"}), + 'devise_min': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'devise_min'", 'to': "orm['rh.Devise']"}), + 'etat': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '20', 'null': 'True', 'blank': 'True'}), + 'expatrie': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', '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.Poste']"}), + 'implantation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'implantation'", 'to': "orm['references.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': '13', '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'}), + 'indemn_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}), + 'indemn_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}), + 'justification': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'local': ('django.db.models.fields.NullBooleanField', [], {'default': 'True', 'null': 'True', 'blank': 'True'}), + 'mise_a_disposition': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}), + 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'nom_feminin': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True'}), + 'regime_travail': ('django.db.models.fields.DecimalField', [], {'default': "'100.00'", 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}), + 'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'default': "'35.00'", 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}), + 'responsable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'responsable'", 'to': "orm['rh.Poste']"}), + 'salaire_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}), + 'salaire_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}), + 'service': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'service'", 'to': "orm['rh.Service']"}), + 'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'type_intervention': ('django.db.models.fields.CharField', [], {'default': "'N'", 'max_length': '1'}), + 'type_poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'type_poste'", 'to': "orm['rh.TypePoste']"}), + 'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}), + 'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"}), + 'valeur_point_max': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'valeur_point_max'", 'to': "orm['rh.ValeurPoint']"}), + 'valeur_point_min': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'valeur_point_min'", 'to': "orm['rh.ValeurPoint']"}) + }, + 'dae.postecomparaison': { + 'Meta': {'object_name': 'PosteComparaison'}, + 'classement': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Classement']"}), + 'date_creation': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'date_modification': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'devise': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Devise']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'implantation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['references.Implantation']"}), + 'montant': ('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': "'dae_comparaisons_internes'", 'to': "orm['dae.Poste']"}), + 'statut': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Statut']"}), + 'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}), + 'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"}) + }, + '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': "'dae_financements'", 'db_column': "'poste'", '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', [], {'related_name': "'dae_pieces'", 'db_column': "'poste'", 'to': "orm['dae.Poste']"}) + }, + 'dae.remuneration': { + 'Meta': {'object_name': 'Remuneration'}, + 'commentaire': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'date_creation': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'date_debut': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'date_modification': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'devise': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'devise'", 'to': "orm['rh.Devise']"}), + 'dossier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'dae_remunerations'", 'db_column': "'dossier'", 'to': "orm['dae.Dossier']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'montant': ('django.db.models.fields.DecimalField', [], {'default': '0', 'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}), + 'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'type'", 'to': "orm['rh.TypeRemuneration']"}), + 'type_revalorisation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'type_revalorisation'", 'to': "orm['rh.TypeRevalorisation']"}), + 'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}), + 'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"}) + }, + 'references.bureau': { + 'Meta': {'object_name': 'Bureau', 'db_table': "u'ref_bureau'", 'managed': 'False'}, + 'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}), + 'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['references.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['references.Region']", 'db_column': "'region'"}) + }, + 'references.implantation': { + 'Meta': {'object_name': 'Implantation', 'db_table': "u'ref_implantation'", 'managed': 'False'}, + '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['references.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['references.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['references.Implantation']", 'db_column': "'bureau_rattachement'"}), + 'code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'code_meteo': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'commentaire': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'courriel': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'courriel_interne': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'date_extension': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'date_fermeture': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'date_inauguration': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'date_ouverture': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'fax': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'fax_interne': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'fuseau_horaire': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'hebergement_convention': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'hebergement_convention_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'hebergement_etablissement': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}), + 'modif_date': ('django.db.models.fields.DateField', [], {}), + 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'nom_court': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'nom_long': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}), + 'region': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['references.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'}) + }, + 'references.pays': { + 'Meta': {'object_name': 'Pays', 'db_table': "u'ref_pays'", 'managed': 'False'}, + 'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2'}), + 'code_bureau': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['references.Bureau']", 'to_field': "'code'", 'db_column': "'code_bureau'"}), + 'code_iso3': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '3', 'blank': 'True'}), + 'developpement': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}), + 'monnaie': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'nord_sud': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'region': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['references.Region']", 'db_column': "'region'"}) + }, + 'references.region': { + 'Meta': {'object_name': 'Region', 'db_table': "u'ref_region'", 'managed': 'False'}, + 'actif': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'id': ('django.db.models.fields.IntegerField', [], {'primary_key': 'True'}), + 'implantation_bureau': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'gere_region'", 'db_column': "'implantation_bureau'", 'to': "orm['references.Implantation']"}), + 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}) + }, + 'rh.classement': { + 'Meta': {'object_name': 'Classement'}, + 'coefficient': ('django.db.models.fields.FloatField', [], {'default': '0', 'null': 'True'}), + 'commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'date_creation': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'date_modification': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'degre': ('django.db.models.fields.IntegerField', [], {'default': '0', 'blank': 'True'}), + 'echelon': ('django.db.models.fields.IntegerField', [], {'default': '0', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '10'}), + 'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}), + 'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"}) + }, + 'rh.devise': { + 'Meta': {'object_name': 'Devise'}, + 'archive': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '10'}), + 'date_creation': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'date_modification': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}), + 'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"}) + }, + 'rh.dossier': { + 'Meta': {'object_name': 'Dossier'}, + 'classement': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'classement'", 'to': "orm['rh.Classement']"}), + 'date_creation': ('django.db.models.fields.DateTimeField', [], {'null': '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', [], {'null': 'True', 'blank': 'True'}), + 'employe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rh_dossiers'", 'db_column': "'employe'", 'to': "orm['rh.Employe']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'organisme_bstg': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'organisme_bstg'", 'to': "orm['rh.OrganismeBstg']"}), + 'poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rh_dossiers'", 'db_column': "'poste'", 'to': "orm['rh.Poste']"}), + 'regime_travail': ('django.db.models.fields.DecimalField', [], {'default': "'100.00'", 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}), + 'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'default': "'35.00'", 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}), + 'remplacement': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'remplacement_de': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Dossier']"}), + 'statut': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Statut']"}), + 'statut_residence': ('django.db.models.fields.CharField', [], {'default': "'local'", 'max_length': '10', 'null': 'True'}), + 'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}), + 'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"}) + }, + 'rh.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'}), + 'date_creation': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'date_entree': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'date_modification': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'date_naissance': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'genre': ('django.db.models.fields.CharField', [], {'max_length': '1'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'nationalite': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'employes_nationalite'", 'db_column': "'nationalite'", 'to_field': "'code'", 'to': "orm['references.Pays']", 'blank': 'True', 'null': 'True'}), + 'nb_postes': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'nom_affichage': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}), + 'pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'employes'", 'db_column': "'pays'", 'to_field': "'code'", 'to': "orm['references.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'}), + 'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', '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'}), + 'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}), + 'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"}), + 'ville': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}) + }, + 'rh.familleemploi': { + 'Meta': {'object_name': 'FamilleEmploi'}, + 'date_creation': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'date_modification': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}), + 'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"}) + }, + 'rh.organismebstg': { + 'Meta': {'object_name': 'OrganismeBstg'}, + 'date_creation': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'date_modification': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'organismes_bstg'", 'db_column': "'pays'", 'to_field': "'code'", 'to': "orm['references.Pays']", 'blank': 'True', 'null': 'True'}), + 'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '10'}), + 'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}), + 'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"}) + }, + 'rh.poste': { + 'Meta': {'object_name': 'Poste'}, + 'appel': ('django.db.models.fields.CharField', [], {'default': "'interne'", 'max_length': '10', 'null': 'True'}), + 'autre_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}), + 'autre_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}), + 'classement_max': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'classement_max'", 'to': "orm['rh.Classement']"}), + 'classement_min': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'classement_min'", 'to': "orm['rh.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', [], {'null': 'True', 'blank': 'True'}), + 'date_debut': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'date_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}), + 'date_modification': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'devise_comparaison': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'devise_comparaison'", 'to': "orm['rh.Devise']"}), + 'devise_max': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'devise_max'", 'to': "orm['rh.Devise']"}), + 'devise_min': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'devise_min'", 'to': "orm['rh.Devise']"}), + 'expatrie': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'implantation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'implantation'", 'to': "orm['references.Implantation']"}), + 'indemn_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}), + 'indemn_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}), + 'justification': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), + 'local': ('django.db.models.fields.NullBooleanField', [], {'default': 'True', 'null': 'True', 'blank': 'True'}), + 'mise_a_disposition': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}), + 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'nom_feminin': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True'}), + 'regime_travail': ('django.db.models.fields.DecimalField', [], {'default': "'100.00'", 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}), + 'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'default': "'35.00'", 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}), + 'responsable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'responsable'", 'to': "orm['rh.Poste']"}), + 'salaire_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}), + 'salaire_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}), + 'service': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'service'", 'to': "orm['rh.Service']"}), + 'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'type_poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'type_poste'", 'to': "orm['rh.TypePoste']"}), + 'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}), + 'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"}), + 'vacant': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}), + 'valeur_point_max': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'valeur_point_max'", 'to': "orm['rh.ValeurPoint']"}), + 'valeur_point_min': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'valeur_point_min'", 'to': "orm['rh.ValeurPoint']"}) + }, + 'rh.service': { + 'Meta': {'object_name': 'Service'}, + 'archive': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'date_creation': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'date_modification': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}), + 'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"}) + }, + 'rh.statut': { + 'Meta': {'object_name': 'Statut'}, + 'code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '25'}), + 'date_creation': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'date_modification': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}), + 'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"}) + }, + 'rh.typecontrat': { + 'Meta': {'object_name': 'TypeContrat'}, + 'date_creation': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'date_modification': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'nom_long': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}), + 'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"}) + }, + 'rh.typeposte': { + 'Meta': {'object_name': 'TypePoste'}, + 'date_creation': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'date_modification': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'famille_emploi': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'famille_emploi'", 'to': "orm['rh.FamilleEmploi']"}), + 'id': ('django.db.models.fields.AutoField', [], {'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'}), + 'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}), + 'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"}) + }, + 'rh.typeremuneration': { + 'Meta': {'object_name': 'TypeRemuneration'}, + 'date_creation': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'date_modification': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'nature_remuneration': ('django.db.models.fields.CharField', [], {'max_length': '30'}), + 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'type_paiement': ('django.db.models.fields.CharField', [], {'max_length': '30'}), + 'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}), + 'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"}) + }, + 'rh.typerevalorisation': { + 'Meta': {'object_name': 'TypeRevalorisation'}, + 'date_creation': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'date_modification': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}), + 'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"}) + }, + 'rh.valeurpoint': { + 'Meta': {'object_name': 'ValeurPoint'}, + 'annee': ('django.db.models.fields.IntegerField', [], {}), + 'date_creation': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'date_modification': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'devise': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'devise'", 'to': "orm['rh.Devise']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'implantation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rh_valeur_point'", 'db_column': "'implantation'", 'to': "orm['references.Implantation']"}), + 'supprime': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'user_creation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_creation'", 'to': "orm['auth.User']"}), + 'user_modification': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'user_modification'", 'to': "orm['auth.User']"}), + 'valeur': ('django.db.models.fields.FloatField', [], {'null': 'True'}) + }, + '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'] diff --git a/project/rh/models.py b/project/rh/models.py index cf8e68d..6ceaa28 100644 --- a/project/rh/models.py +++ b/project/rh/models.py @@ -35,19 +35,19 @@ storage_prive = FileSystemStorage(settings.PRIVE_MEDIA_ROOT, base_url=settings.PRIVE_MEDIA_URL) def poste_piece_dispatch(instance, filename): - path = "poste/%s/%s" % (instance.poste_id, filename) + path = "%s/poste/%s/%s" % (instance._meta.app_label, instance.poste_id, filename) return path def dossier_piece_dispatch(instance, filename): - path = "dossier/%s/%s" % (instance.dossier_id, filename) + path = "%s/dossier/%s/%s" % (instance._meta.app_label, instance.dossier_id, filename) return path def employe_piece_dispatch(instance, filename): - path = "employe/%s/%s" % (instance.employe_id, filename) + path = "%s/employe/%s/%s" % (instance._meta.app_label, instance.employe_id, filename) return path def contrat_dispatch(instance, filename): - path = "contrat/%s/%s" % (instance.dossier_id, filename) + path = "%s/contrat/%s/%s" % (instance._meta.app_label, instance.dossier_id, filename) return path diff --git a/project/rh/urls.py b/project/rh/urls.py index 3125524..4479d29 100644 --- a/project/rh/urls.py +++ b/project/rh/urls.py @@ -15,5 +15,4 @@ urlpatterns = patterns( url(r'^admin/rh/dossier/(\d+)/apercu/$', 'dossier_apercu', name='dossier_apercu'), url(r'^admin/rh/employe/(\d+)/apercu/$', 'employe_apercu', name='employe_apercu'), url(r'^admin/rh/poste/(\d+)/apercu/$', 'poste_apercu', name='poste_apercu'), - url(r'^prive/(?P.*)$', 'piece'), ) diff --git a/project/rh/views.py b/project/rh/views.py index bbb58fb..c169b1b 100644 --- a/project/rh/views.py +++ b/project/rh/views.py @@ -8,7 +8,6 @@ from django.utils.encoding import smart_str from django.shortcuts import redirect, render_to_response, get_object_or_404 from django.template import RequestContext from django.http import Http404 -from sendfile import sendfile from datamaster_modeles import models as ref from project.lib import get_employe_from_id @@ -25,31 +24,6 @@ from dae.decorators import redirect_interdiction from dae.workflow import grp_drh, grp_correspondants_rh from django.conf import settings -@login_required -def piece(request, filename): - """Téléchargement d'une pièce jointe à un poste.""" - model, id, f = filename.split('/') - if model == 'contrat': - # TODO definir peut-être un controle d'accès - piece = get_object_or_404(rh.Contrat, fichier=filename) - return sendfile(request, piece.fichier.path) - if model == 'employe': - # TODO definir peut-être un controle d'accès - piece = get_object_or_404(rh.EmployePiece, fichier=filename) - return sendfile(request, piece.fichier.path) - if model == 'poste': - piece = get_object_or_404(rh.PostePiece, fichier=filename) - if rh.Poste.objects.ma_region_ou_service(request.user).filter(id=piece.poste_id).exists(): - return sendfile(request, piece.fichier.path) - else: - return redirect_interdiction(request) - if model == 'dossier': - piece = get_object_or_404(rh.DossierPiece, fichier=filename) - if rh.Dossier.objects.ma_region_ou_service(request.user).filter(id=piece.dossier_id).exists(): - return sendfile(request, piece.fichier.path) - else: - return redirect_interdiction(request) - # homes @login_required def profil(request): diff --git a/project/settings.py b/project/settings.py index 57c1bca..cd41ec7 100644 --- a/project/settings.py +++ b/project/settings.py @@ -43,7 +43,7 @@ STATIC_URL = '/static/' # 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 = '/rh/prive/' +PRIVE_MEDIA_URL = '/prive/' OE_PRIVE_MEDIA_URL = '/recrutement/prive/' # URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a diff --git a/project/urls.py b/project/urls.py index d783d2c..adf1144 100644 --- a/project/urls.py +++ b/project/urls.py @@ -27,8 +27,8 @@ urlpatterns = patterns( url(r'^captcha/', include('captcha.urls')), (r'^ajax_select/', include('ajax_select.urls')), (r'^tinymce/', include('tinymce.urls')), - (r'^prive/(?P.*)$', 'django.views.static.serve', - {'document_root': settings.PRIVE_MEDIA_ROOT}), + url(r'^prive/(?P.*)$', 'project.views.piece'), + #(r'^prive/(?P.*)$', 'django.views.static.serve', {'document_root': settings.PRIVE_MEDIA_ROOT}), # apps url(r'^dae/', include('project.dae.urls'), decorators=['django.contrib.auth.decorators.login_required']), diff --git a/project/views.py b/project/views.py index c69b5a6..10efbef 100644 --- a/project/views.py +++ b/project/views.py @@ -1,8 +1,51 @@ # -*- encoding: utf-8 -*- + +import os +from sendfile import sendfile + +from django.conf import settings from django.shortcuts import render_to_response from django.template import RequestContext +from django.contrib.auth.decorators import login_required +from django.shortcuts import redirect, render_to_response, get_object_or_404 + +# pas de reference a DAE devrait etre refactorisé from project.dae.decorators import dae_groupe_requis +from project.dae.decorators import redirect_interdiction @dae_groupe_requis def index(request): return render_to_response('index.html', {}, RequestContext(request)) + +@login_required +def piece(request, filename): + """Téléchargement d'une pièce jointe à un poste.""" + # compatibilité avec DAE prod avant sécurité + try: + app, model, id, f = filename.split('/') + except: + path = os.path.join(settings.PRIVE_MEDIA_ROOT, filename) + return sendfile(request, path) + + application = __import__(app).models + if model == 'contrat': + # TODO definir peut-être un controle d'accès + piece = get_object_or_404(application.Contrat, fichier=filename) + return sendfile(request, piece.fichier.path) + if model == 'employe': + # TODO definir peut-être un controle d'accès + piece = get_object_or_404(application.EmployePiece, fichier=filename) + return sendfile(request, piece.fichier.path) + if model == 'poste': + piece = get_object_or_404(application.PostePiece, fichier=filename) + if application.Poste.objects.ma_region_ou_service(request.user).filter(id=piece.poste_id).exists(): + return sendfile(request, piece.fichier.path) + else: + return redirect_interdiction(request) + if model == 'dossier': + piece = get_object_or_404(application.DossierPiece, fichier=filename) + if application.Dossier.objects.ma_region_ou_service(request.user).filter(id=piece.dossier_id).exists(): + return sendfile(request, piece.fichier.path) + else: + return redirect_interdiction(request) +