Files
backend-v1/core/apps/evaluation/views/bonus.py
Shaxobff feecb580c1 update
2026-05-01 16:54:38 +05:00

55 lines
1.7 KiB
Python

from django_core.mixins import BaseViewSetMixin
from drf_spectacular.utils import extend_schema
from rest_framework.permissions import AllowAny, IsAdminUser
from rest_framework.viewsets import ModelViewSet
# core
from core.apps.evaluation.models.bonus import BonusType, EmployeeBonus
from core.apps.evaluation.serializers.bonus.Bonus import BonusTypeCreateSerializer, \
BonusTypeListSerializer, EmployeeBonusSerializer, BonusEmployeeBonusSerializer
@extend_schema(tags=["Bonus"])
class BonusTypeView(BaseViewSetMixin, ModelViewSet):
queryset = BonusType.objects.all()
serializer_class = BonusTypeCreateSerializer
action_serializer_class = {
'create': BonusTypeCreateSerializer,
'update': BonusTypeCreateSerializer,
'partial_update': BonusTypeCreateSerializer,
'list': BonusTypeListSerializer,
'retrieve': BonusTypeListSerializer,
}
action_permission_classes = {
'create': [IsAdminUser],
'update': [IsAdminUser],
'partial_update': [IsAdminUser],
'destroy': [IsAdminUser],
'list': [IsAdminUser],
}
class BonusEmployeeViewSet(BaseViewSetMixin, ModelViewSet):
queryset = EmployeeBonus.objects.all()
serializer_class = EmployeeBonusSerializer
action_serializer_class = {
'create': BonusEmployeeBonusSerializer,
'update': BonusEmployeeBonusSerializer,
'partial_update': BonusEmployeeBonusSerializer,
'list': EmployeeBonusSerializer,
'retrieve': EmployeeBonusSerializer,
}
action_permission_classes = {
'create': [IsAdminUser],
'update': [IsAdminUser],
'partial_update': [IsAdminUser],
'destroy': [IsAdminUser],
'list': [IsAdminUser],
}