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