This commit is contained in:
Shaxobff
2026-05-01 17:15:01 +05:00
parent feecb580c1
commit 1ff23af8bf
5 changed files with 66 additions and 36 deletions

View File

@@ -1,26 +1,33 @@
from django_core.mixins import BaseViewSetMixin
from drf_spectacular.utils import extend_schema
from rest_framework.permissions import AllowAny, IsAdminUser
from rest_framework import viewsets
from rest_framework.permissions import 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
from core.apps.evaluation.models.bonus import BonusCategory, EmployeeBonus, BaseValueBonus
from core.apps.evaluation.serializers.bonus.Bonus import BonusCategorySerializer, \
BonusCategoryListSerializer, EmployeeBonusListSerializer, BonusEmployeeBonusSerializer, BaseBonusSerializer
@extend_schema(tags=["Bonus"])
@extend_schema(tags=["BaseBonus"])
class BaseBonusViewSet(BaseViewSetMixin, viewsets.ModelViewSet):
queryset = BaseValueBonus.objects.all()
serializer_class = BaseBonusSerializer
@extend_schema(tags=["Bonus-Category"])
class BonusTypeView(BaseViewSetMixin, ModelViewSet):
queryset = BonusType.objects.all()
queryset = BonusCategory.objects.all()
serializer_class = BonusTypeCreateSerializer
serializer_class = BonusCategorySerializer
action_serializer_class = {
'create': BonusTypeCreateSerializer,
'update': BonusTypeCreateSerializer,
'partial_update': BonusTypeCreateSerializer,
'list': BonusTypeListSerializer,
'retrieve': BonusTypeListSerializer,
'create': BonusCategorySerializer,
'update': BonusCategorySerializer,
'partial_update': BonusCategorySerializer,
'list': BonusCategoryListSerializer,
'retrieve': BonusCategoryListSerializer,
}
action_permission_classes = {
@@ -34,16 +41,14 @@ class BonusTypeView(BaseViewSetMixin, ModelViewSet):
class BonusEmployeeViewSet(BaseViewSetMixin, ModelViewSet):
queryset = EmployeeBonus.objects.all()
serializer_class = EmployeeBonusSerializer
serializer_class = BonusEmployeeBonusSerializer
action_serializer_class = {
'create': BonusEmployeeBonusSerializer,
'update': BonusEmployeeBonusSerializer,
'partial_update': BonusEmployeeBonusSerializer,
'list': EmployeeBonusSerializer,
'retrieve': EmployeeBonusSerializer,
'list': EmployeeBonusListSerializer,
'retrieve': EmployeeBonusListSerializer,
}
action_permission_classes = {
@@ -52,4 +57,4 @@ class BonusEmployeeViewSet(BaseViewSetMixin, ModelViewSet):
'partial_update': [IsAdminUser],
'destroy': [IsAdminUser],
'list': [IsAdminUser],
}
}