This commit is contained in:
Shaxobff
2026-05-01 16:54:38 +05:00
parent f53125cfdc
commit feecb580c1
11 changed files with 239 additions and 8 deletions

View File

@@ -0,0 +1,44 @@
from rest_framework import serializers
from core.apps.evaluation.models.bonus import BonusType, EmployeeBonus, BaseValueBonus
class BonusTypeCreateSerializer(serializers.ModelSerializer):
class Meta:
model = BonusType
fields = 'name', 'category', 'percentage'
class BonusTypeListSerializer(serializers.ModelSerializer):
price = serializers.SerializerMethodField()
class Meta:
model = BonusType
fields = 'name', 'category', 'percentage'
def get_price(self, obj):
base_obj = BaseValueBonus.objects.first()
if not base_obj:
return 0
return (base_obj.base_price * obj.percentage) / 100
class BonusEmployeeBonusSerializer(serializers.ModelSerializer):
class Meta:
model = EmployeeBonus
fields = 'user' , 'bonus_type' , 'percentage'
class EmployeeBonusSerializer(serializers.ModelSerializer):
price = serializers.SerializerMethodField()
class Meta:
model = EmployeeBonus
fields = 'user', 'bonus_type', 'percentage'
def get_price(self, obj):
base_obj = BaseValueBonus.objects.first()
if not base_obj:
return 0
return (base_obj.base_price * obj.percentage) / 100