/
eb
/
yamdb_final
Обзор
Документация
Войти
/
eb
/
yamdb_final
Код
Запросы
0
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
api/permissions.py
33 строки
1 KB
Evgeniy Budaev
workflow: тесты
02 ноя 2021, 12:38
02 ноя 2021, 12:38
68658ca
Код
Авторство
О чём код?
from rest_framework import permissions class IsAdminOrReadOnly(permissions.BasePermission): def has_permission(self, request, view): return (request.method in permissions.SAFE_METHODS or (request.user.is_authenticated and request.user.is_admin)) class IsAdmin(permissions.BasePermission): """Доступ только администратору""" def has_permission(self, request, view): return (request.user.is_authenticated and request.user.is_admin) class IsAuthorOrAdministratorOrReadOnly(permissions.BasePermission): def has_permission(self, request, view): return ( request.method in permissions.SAFE_METHODS and request.user.is_anonymous or request.user.is_authenticated ) def has_object_permission(self, request, view, obj): return ( request.method in permissions.SAFE_METHODS or obj.author == request.user or request.user.is_admin or request.user.is_moderator )