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,20 +1,32 @@
from rest_framework import serializers
from core.apps.evaluation.models.bonus import BonusType, EmployeeBonus, BaseValueBonus
from core.apps.evaluation.models.bonus import BonusCategory, EmployeeBonus, BaseValueBonus
class BonusTypeCreateSerializer(serializers.ModelSerializer):
class BaseBonusSerializer(serializers.ModelSerializer):
class Meta:
model = BonusType
model = BaseValueBonus
fields = 'id', 'base_price'
def create(self, validated_data):
if BaseValueBonus.objects.exists():
raise serializers.ValidationError("Base bonus already exists")
return super().create(validated_data)
class BonusCategorySerializer(serializers.ModelSerializer):
class Meta:
model = BonusCategory
fields = 'name', 'category', 'percentage'
class BonusTypeListSerializer(serializers.ModelSerializer):
price = serializers.SerializerMethodField()
class BonusCategoryListSerializer(serializers.ModelSerializer):
price = serializers.DecimalField(max_digits=12, decimal_places=2)
class Meta:
model = BonusType
fields = 'name', 'category', 'percentage'
model = BonusCategory
fields = 'id', 'name', 'category', 'percentage' , 'price'
def get_price(self, obj):
base_obj = BaseValueBonus.objects.first()
@@ -27,15 +39,15 @@ class BonusTypeListSerializer(serializers.ModelSerializer):
class BonusEmployeeBonusSerializer(serializers.ModelSerializer):
class Meta:
model = EmployeeBonus
fields = 'user' , 'bonus_type' , 'percentage'
fields = 'user', 'bonus_type', 'percentage'
class EmployeeBonusSerializer(serializers.ModelSerializer):
price = serializers.SerializerMethodField()
class EmployeeBonusListSerializer(serializers.ModelSerializer):
price = serializers.DecimalField(max_digits=12, decimal_places=2)
class Meta:
model = EmployeeBonus
fields = 'user', 'bonus_type', 'percentage'
fields = 'id', 'user', 'bonus_type', 'percentage' , 'price'
def get_price(self, obj):
base_obj = BaseValueBonus.objects.first()