[#3059] Ajustements à l'import DAE -> RH
authorEric Mc Sween <eric.mcsween@auf.org>
Wed, 16 May 2012 19:54:46 +0000 (15:54 -0400)
committerEric Mc Sween <eric.mcsween@auf.org>
Wed, 16 May 2012 19:54:46 +0000 (15:54 -0400)
* Importer les dates du contrat dans les dates d'occupation de poste du dossier
* Importer les contrats dans le dossier
* Importer la DAE numérisée dans le dossier
* Importer l'indemnité de fonction dans le champ RH indemnité
* Importer la somme des autres indemnités dans le champ "autres indemnités"
* Ne pas importer les dates du poste

project/dae/models.py

index b9b121e..e3ba1f0 100644 (file)
@@ -133,10 +133,14 @@ class Poste(PosteWorkflow, rh.Poste_):
         poste_rh.devise_max = self.devise_max
         poste_rh.salaire_min = self.salaire_min
         poste_rh.salaire_max = self.salaire_max
-        poste_rh.indemn_min = self.indemn_min
-        poste_rh.indemn_max = self.indemn_max
-        poste_rh.autre_min = self.autre_min
-        poste_rh.autre_max = self.autre_max
+        poste_rh.indemn_min = self.indemn_fct_min
+        poste_rh.indemn_max = self.indemn_fct_max
+        poste_rh.autre_min = \
+                self.indemn_expat_min + self.charges_patronales_min + \
+                self.autre_min
+        poste_rh.autre_max = \
+                self.indemn_expat_max + self.charges_patronales_max + \
+                self.autre_max
         poste_rh.devise_comparaison = self.devise_comparaison
         poste_rh.comp_locale_min = self.comp_locale_min
         poste_rh.comp_locale_max = self.comp_locale_max
@@ -149,8 +153,6 @@ class Poste(PosteWorkflow, rh.Poste_):
         poste_rh.comp_autre_min = self.comp_autre_min
         poste_rh.comp_autre_max = self.comp_autre_max
         poste_rh.justification = self.justification
-        poste_rh.date_debut = self.date_debut
-        poste_rh.date_fin = self.date_fin
         poste_rh.save()
 
         for piece in self.dae_pieces.all():
@@ -635,8 +637,8 @@ class Dossier(DossierWorkflow, rh.Dossier_):
         dossier_rh.regime_travail = self.regime_travail
         dossier_rh.regime_travail_nb_heure_semaine = \
                 self.regime_travail_nb_heure_semaine
-        dossier_rh.date_debut = self.date_debut
-        dossier_rh.date_fin = self.date_fin
+        dossier_rh.date_debut = self.contrat_date_debut
+        dossier_rh.date_fin = self.contrat_date_fin
         dossier_rh.save()
 
         rh.DossierComparaison.objects.filter(dossier=dossier_rh).delete()
@@ -649,16 +651,15 @@ class Dossier(DossierWorkflow, rh.Dossier_):
                 devise=comp.devise
             )
 
-        if not dossier_rh.rh_contrats.filter(
-            type_contrat=self.type_contrat,
-            date_debut=self.contrat_date_debut,
-            date_fin=self.contrat_date_fin
-        ).exists():
-            dossier_rh.rh_contrats.create(
+        for contrat in self.dae_contrats.all():
+            contrat_rh = dossier_rh.rh_contrats.create(
                 type_contrat=self.type_contrat,
                 date_debut=self.contrat_date_debut,
                 date_fin=self.contrat_date_fin,
             )
+            contrat_rh.fichier.save(
+                os.path.basename(contrat.fichier.name), contrat.fichier
+            )
 
         for piece in self.dae_dossierpieces.all():
             piece_rh = dossier_rh.rh_dossierpieces.create(
@@ -668,6 +669,15 @@ class Dossier(DossierWorkflow, rh.Dossier_):
                 os.path.basename(piece.fichier.name), piece.fichier
             )
 
+        if self.dae_numerisee:
+            dae_numerisee_rh = dossier_rh.rh_dossierpieces.create(
+                nom=u'DAE numérisée'
+            )
+            dae_numerisee_rh.fichier.save(
+                os.path.basename(self.dae_numerisee.name),
+                self.dae_numerisee
+            )
+
         # Fermer les rémunérations qui commencent avant le début du contrat
         dossier_rh.rh_remunerations.filter(
             Q(date_debut=None) | Q(date_debut__lt=self.contrat_date_debut),