def has_add_permission(self, obj):
return False
+ def has_change_permission(self, request, obj=None):
+ 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 or \
+ in_drh_or_admin(request.user):
+ return True
+ return False
+
def _organigramme(self, obj):
l = []
for d in rh.Dossier.objects.filter(
return False
def has_change_permission(self, request, obj=None):
- return in_drh_or_admin(request.user)
+ 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 or \
+ in_drh_or_admin(request.user):
+ return True
+ return False
def _organigramme(self, obj):
return """<a href="%s"><strong>Organigramme</strong></a>""" % \
return False
def has_change_permission(self, request, obj=None):
- return in_drh_or_admin(request.user)
+ 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 or \
+ in_drh_or_admin(request.user):
+ return True
+ return False
def _organigramme(self, obj):
return '<a href="%s"><strong>Organigramme</strong></a>' % (
return False
def has_change_permission(self, request, obj=None):
- return in_drh_or_admin(request.user)
+ 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 or \
+ in_drh_or_admin(request.user):
+ return True
+ return False
def _organigramme(self, obj):
return """<a href="%s"><strong>Organigramme</strong></a>""" % (
"""
self._test_grp_service_utilisateurs()
self._test_acces_ko(self.url)
+
+
+class RapportOrganigrammeTest(RhTest):
+ """
+ Test l'accès aux organigrammes
+ """
+ def setUp(self):
+ super(RapportOrganigrammeTest, self).setUp()
+ self.url1 = reverse('rho_employe', args=[1, 'all'])
+ self.url2 = reverse('rho_employe_sans_niveau', args=[1])
+ self.url3 = reverse('rho_service', args=[1])
+ self.url4 = reverse('rho_implantation', args=[90])
+ self.url5 = reverse('rho_region', args=[1])
+
+ self.url5 = reverse('admin:rh_implantationproxy_changelist')
+ self.url6 = reverse('admin:rh_serviceproxy_changelist')
+ self.url7 = reverse('admin:rh_regionproxy_changelist')
+ self.url8 = reverse('admin:rh_employeproxy_changelist')
+
+ self.urls = (
+ #self.url1,
+ #self.url2,
+ #self.url3,
+ #self.url4,
+ self.url5,
+ self.url6,
+ self.url7,
+ self.url8,
+ )
+
+
+ def test_anonyme(self):
+ """
+ Un anonyme ne peut pas accéder à ce rapport
+ """
+ self._test_anonyme()
+ for url in self.urls:
+ self._test_acces_ko(url)
+
+ def test_correspondant_rh(self):
+ """
+ Un correspondant RH peut accéder à ce rapport
+ """
+ self._test_correspondant_rh()
+ for url in self.urls:
+ self._test_acces_ok(url)
+
+ def test_administrateur_regional(self):
+ """
+ Un administrateur peut accéder à ce rapport
+ """
+ self._test_administrateur_regional()
+ for url in self.urls:
+ self._test_acces_ok(url)
+
+ def test_directeur_bureau(self):
+ """
+ Un directeur de bureau peut accéder à ce rapport
+ """
+ self._test_directeur_bureau()
+ for url in self.urls:
+ self._test_acces_ok(url)
+
+ def test_drh(self):
+ """
+ Un DRH peut accéder à ce rapport
+ """
+ self._test_drh()
+ for url in self.urls:
+ self._test_acces_ok(url)
+
+ def test_drh2(self):
+ """
+ Un DRH (2ieme niveau) peut accéder à ce rapport
+ """
+ self._test_drh2()
+ for url in self.urls:
+ self._test_acces_ok(url)
+
+ def _test_grp_accior(self):
+ """
+ Un membre de l'ACCIOR ne peut pas accéder à ce rapport
+ """
+ self._test_grp_accior()
+ for url in self.urls:
+ self._test_acces_ko(url)
+
+ def _test_grp_abf(self):
+ """
+ Un membre de l'ABF ne peut pas accéder à ce rapport
+ """
+ self._test_grp_abf(self)
+ for url in self.urls:
+ self._test_acces_ko(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()
+ for url in self.urls:
+ self._test_acces_ko(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()
+ for url in self.urls:
+ self._test_acces_ko(url)