Add winery reviewer

This commit is contained in:
Виктор Гладких 2019-12-09 09:38:18 +03:00
parent 8e63b969bf
commit af7aef6d23

View File

@ -423,15 +423,28 @@ class IsWineryReviewer(IsStandardUser):
rules = [ rules = [
super().has_object_permission(request, view, obj) super().has_object_permission(request, view, obj)
] ]
if hasattr(obj, 'type_id'): # AttributeError: 'Establishment' object has no attribute 'object_id'
est = EstablishmentSubType.objects.filter(establishment_type_id=obj.type_id) if hasattr(obj, 'type_id') or hasattr(obj, 'establishment_type_id'):
type_id: int
if hasattr(obj, 'type_id'):
type_id = obj.type_id
else:
type_id = obj.establishment_type_id
est = EstablishmentSubType.objects.filter(establishment_type_id=type_id)
role = Role.objects.filter(role=Role.WINERY_REVIEWER, role = Role.objects.filter(role=Role.WINERY_REVIEWER,
establishment_subtype_id__in=[id for type.id in est], establishment_subtype_id__in=[id for type.id in est],
country_id=obj.country_id).first() country_id=obj.country_id).first()
object_id: int
if hasattr(obj, 'object_id'):
object_id = obj.object_id
else:
object_id = obj.establishment_id
rules = [ rules = [
UserRole.objects.filter(user=request.user, role=role, UserRole.objects.filter(user=request.user, role=role,
establishment_id=obj.object_id establishment_id=object_id
).exists(), ).exists(),
super().has_object_permission(request, view, obj) super().has_object_permission(request, view, obj)
] ]