update
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user