if request.user.is_superuser is True or \
groups.DRH_NIVEAU_1 in user_groupes or \
groups.DRH_NIVEAU_2 in user_groupes or \
- groups.DIRECTEUR_DE_BUREAU in user_groupes or \
- groups.ADMINISTRATEURS in user_groupes or \
groups.HAUTE_DIRECTION in user_groupes:
return True
+
+ if obj is not None:
+ employe = groups.get_employe_from_user(request.user)
+ if (groups.DIRECTEUR_DE_BUREAU in user_groupes or \
+ groups.ADMINISTRATEURS in user_groupes) and (
+ employe.implantation.region == obj.lieu_affectation.region):
+ return True
+
return False
def has_change_permission(self, request, obj=None):