raport masse salariale region
authorOlivier Larchevêque <olivier.larcheveque@auf.org>
Fri, 1 Jun 2012 19:51:29 +0000 (15:51 -0400)
committerOlivier Larchevêque <olivier.larcheveque@auf.org>
Fri, 1 Jun 2012 19:51:29 +0000 (15:51 -0400)
project/rh/test/rapport.py
project/rh/views.py

index 84fefc8..a4d64f0 100644 (file)
@@ -28,7 +28,33 @@ class RapportContratTest(RhTest):
                 dossier=self.dossier_bap_ifi)
         contrat.save()
 
-        
+        salaire = rh.TypeRemuneration(nom="salaire",
+                type_paiement="Régulier",
+                nature_remuneration="Indemnité",
+                )
+        salaire.save()
+
+        dollar = rh.Devise(code="CAD", nom="Dollar CAD")
+        dollar.save()
+
+        remun_cnf_ngaoundere = rh.Remuneration(
+                type=salaire,
+                date_debut=self.today,
+                dossier=self.dossier_cnf_ngaoundere,
+                montant="100",
+                devise=dollar,
+                )
+        remun_cnf_ngaoundere.save()
+
+        remun_bap_ifi = rh.Remuneration(
+                type=salaire,
+                date_debut=self.today,
+                dossier=self.dossier_bap_ifi,
+                montant="200",
+                devise=dollar,
+                )
+        remun_bap_ifi.save()
+
 
     def test_anonyme(self):
         """
@@ -136,6 +162,7 @@ class RapportMasseSalarialeTest(RhTest):
         """
         self._test_correspondant_rh()
         self._test_acces_ok(self.url)
+        # todo TEST rapport
 
     def test_administrateur_regional(self):
         """
@@ -143,6 +170,7 @@ class RapportMasseSalarialeTest(RhTest):
         """
         self._test_administrateur_regional()
         self._test_acces_ok(self.url)
+        # todo TEST rapport
 
     def test_directeur_bureau(self):
         """
@@ -150,6 +178,7 @@ class RapportMasseSalarialeTest(RhTest):
         """
         self._test_directeur_bureau()
         self._test_acces_ok(self.url)
+        # todo TEST rapport
 
     def test_drh(self):
         """
@@ -157,6 +186,7 @@ class RapportMasseSalarialeTest(RhTest):
         """
         self._test_drh()
         self._test_acces_ok(self.url)
+        # todo TEST rapport
 
     def test_drh2(self):
         """
@@ -164,6 +194,7 @@ class RapportMasseSalarialeTest(RhTest):
         """
         self._test_drh2()
         self._test_acces_ok(self.url)
+        # todo TEST rapport
 
     def _test_grp_accior(self):
         """
index 50f533a..bacb3e6 100644 (file)
@@ -276,15 +276,26 @@ def rapports_masse_salariale(request):
             )
         )
 
+        user_groups = request.user.groups.all()
+        if groups.grp_correspondants_rh in user_groups or\
+           groups.grp_administrateurs in user_groups or\
+           groups.grp_directeurs_bureau in user_groups:
+            employe = get_employe_from_user(request.user)
+            regions = ref.Region.objects.filter(id=employe.implantation.region.id)
+            implantations = ref.Implantation.objects.filter(region=employe.implantation.region)
+        else:
+            regions = ref.Region.objects.all()
+            implantations = ref.Implantation.objects.all()
+
         region = forms.CharField(
                 widget=forms.Select(choices=[('', '')] +
-                    [(i.id, i) for i in ref.Region.objects.all()]
+                    [(i.id, i) for i in regions]
                 )
             )
 
         implantation = forms.CharField(
                 widget=forms.Select(choices=[('', '')] +
-                    [(i.id, i) for i in ref.Implantation.objects.all()]
+                    [(i.id, i) for i in implantations]
                 )
             )
 
@@ -313,6 +324,15 @@ def rapports_masse_salariale(request):
     if region:
         custom_filter['dossier__poste__implantation__region'] = region
 
+    # on force la région dans tous les cas pour les membres de ce groupe
+    user_groups = request.user.groups.all()
+    if groups.grp_correspondants_rh in user_groups or\
+       groups.grp_administrateurs in user_groups or\
+       groups.grp_directeurs_bureau in user_groups:
+        employe = get_employe_from_user(request.user)
+        custom_filter['dossier__poste__implantation__region'] = employe.implantation.region.id
+
+
     c = {
             'title': 'Rapport de masse salariale',
             'form': form,