55 lines
1.7 KiB
Python
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],
|
|
} |