def test_correspondant_rh(self):
"""
- Un correspondant RH peut accéder à ce rapport
+ Un correspondant RH peut accéder à ce rapport limité aux dossiers de sa
+ région
"""
self._test_correspondant_rh()
self._test_acces_ok(self.url)
def test_administrateur_regional(self):
"""
- Un administrateur peut accéder à ce rapport
+ Un administrateur peut accéder à ce rapport limité aux dossiers de sa
+ région
"""
self._test_administrateur_regional()
self._test_acces_ok(self.url)
def test_directeur_bureau(self):
"""
- Un directeur de bureau peut accéder à ce rapport
+ Un directeur de bureau peut accéder à ce rapport limité aux dossiers de
+ sa région
"""
self._test_directeur_bureau()
self._test_acces_ok(self.url)
"""
self._test_grp_service_utilisateurs()
self._test_acces_ko(self.url)
+
+
+class RapportMasseSalarialeTest(RhTest):
+ """
+ Test l'accès au rapport de masse salariale
+ """
+ url = reverse('rhr_masse_salariale')
+
+ def setUp(self):
+ super(RapportMasseSalarialeTest, self).setUp()
+
+ def test_anonyme(self):
+ """
+ Un anonyme ne peut pas accéder à ce rapport
+ """
+ self._test_anonyme()
+ self._test_acces_ko(self.url)
+
+ def test_correspondant_rh(self):
+ """
+ Un correspondant RH peut accéder à ce rapport
+ """
+ self._test_correspondant_rh()
+ self._test_acces_ok(self.url)
+
+ def test_administrateur_regional(self):
+ """
+ Un administrateur peut accéder à ce rapport
+ """
+ self._test_administrateur_regional()
+ self._test_acces_ok(self.url)
+
+ def test_directeur_bureau(self):
+ """
+ Un directeur de bureau peut accéder à ce rapport
+ """
+ self._test_directeur_bureau()
+ self._test_acces_ok(self.url)
+
+ def test_drh(self):
+ """
+ Un DRH peut accéder à ce rapport
+ """
+ self._test_drh()
+ self._test_acces_ok(self.url)
+
+ def test_drh2(self):
+ """
+ Un DRH (2ieme niveau) peut accéder à ce rapport
+ """
+ self._test_drh2()
+ self._test_acces_ok(self.url)
+
+ def _test_grp_accior(self):
+ """
+ Un membre de l'ACCIOR ne peut pas accéder à ce rapport
+ """
+ self._test_grp_accior()
+ self._test_acces_ko(self.url)
+
+ def _test_grp_abf(self):
+ """
+ Un membre de l'ABF ne peut pas accéder à ce rapport
+ """
+ self._test_grp_abf(self)
+ self._test_acces_ko(self.url)
+
+ def _test_grp_haute_direction(self):
+ """
+ Un membre de la haute direction ne peut pas accéder à ce rapport
+ """
+ self._test_grp_haute_direction()
+ self._test_acces_ko(self.url)
+
+ def _test_grp_service_utilisateurs(self):
+ """
+ Un membre du groupe service utilisateur ne peut pas accéder à ce rapport
+ """
+ self._test_grp_service_utilisateurs()
+ self._test_acces_ko(self.url)
@login_required
-@drh_or_admin_required
+@in_one_of_group((groups.grp_correspondants_rh,
+ groups.grp_administrateurs,
+ groups.grp_directeurs_bureau,
+ groups.grp_drh,
+ groups.grp_drh2))
def rapports_masse_salariale(request):
class RechercheTemporelle(forms.Form):
- CHOICE_ANNEES = range(
- rh.Remuneration.objects.exclude(date_debut=None)
- .order_by('date_debut')[0].date_debut.year,
- date.today().year + 1
- )
+ remunerations = rh.Remuneration.objects.exclude(date_debut=None)
+ if len(remunerations) > 0:
+ annee_debut = remunerations.order_by('date_debut')[0].date_debut.year
+ else:
+ annee_debut = 1982
+ CHOICE_ANNEES = range(annee_debut, date.today().year + 1)
annee = forms.CharField(
initial=date.today().year,