This commit is contained in:
Shaxobff
2026-05-04 17:41:50 +05:00
parent 9028e2f102
commit 0c622759cc
5 changed files with 30 additions and 25 deletions

View File

@@ -1,8 +0,0 @@
from django.db import models
from django.utils.translation import gettext_lazy as _
class EvaluationCategory(models.TextChoices):
AUTO = "auto_transport", _("Avtotransport")
REAL_ESTATE = "real estate", _("ko'chmas mulk")
EQUIPMENT = "equipment", _("uskuna va jihozlar")

View File

@@ -0,0 +1,18 @@
# Generated by Django 5.2.7 on 2026-05-04 12:40
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('evaluation', '0041_rename_bonustype_bonuscategory'),
]
operations = [
migrations.AlterField(
model_name='bonuscategory',
name='category',
field=models.CharField(choices=[('lightweight_auto', 'Yengil automobil'), ('truck_car', 'Yuk automobil'), ('special_tech', 'Maxsus texnika')], max_length=50),
),
]

View File

@@ -2,7 +2,7 @@ from django.db import models
from django.db.models.fields import PositiveIntegerField from django.db.models.fields import PositiveIntegerField
from django_core.models import AbstractBaseModel from django_core.models import AbstractBaseModel
from core.apps.evaluation.choices.bonus import EvaluationCategory from core.apps.evaluation.choices.auto import AutoObjectType
class BaseValueBonus(AbstractBaseModel): class BaseValueBonus(AbstractBaseModel):
@@ -16,7 +16,7 @@ class BonusCategory(AbstractBaseModel):
name = models.CharField(max_length=255) name = models.CharField(max_length=255)
category = models.CharField( category = models.CharField(
max_length=50, max_length=50,
choices=EvaluationCategory.choices choices=AutoObjectType.choices
) )
percentage = PositiveIntegerField() percentage = PositiveIntegerField()

View File

@@ -6,7 +6,7 @@ from core.apps.evaluation.models.bonus import BonusCategory, EmployeeBonus, Base
class BaseBonusSerializer(serializers.ModelSerializer): class BaseBonusSerializer(serializers.ModelSerializer):
class Meta: class Meta:
model = BaseValueBonus model = BaseValueBonus
fields = 'id', 'base_price' fields = ['id', 'base_price']
def create(self, validated_data): def create(self, validated_data):
if BaseValueBonus.objects.exists(): if BaseValueBonus.objects.exists():
@@ -18,7 +18,7 @@ class BaseBonusSerializer(serializers.ModelSerializer):
class BonusCategorySerializer(serializers.ModelSerializer): class BonusCategorySerializer(serializers.ModelSerializer):
class Meta: class Meta:
model = BonusCategory model = BonusCategory
fields = 'name', 'category', 'percentage' fields = ['name', 'category', 'percentage']
class BonusCategoryListSerializer(serializers.ModelSerializer): class BonusCategoryListSerializer(serializers.ModelSerializer):
@@ -26,7 +26,7 @@ class BonusCategoryListSerializer(serializers.ModelSerializer):
class Meta: class Meta:
model = BonusCategory model = BonusCategory
fields = 'id', 'name', 'category', 'percentage' , 'price' fields = ['id', 'name', 'category', 'percentage' , 'price']
def get_price(self, obj): def get_price(self, obj):
base_obj = BaseValueBonus.objects.first() base_obj = BaseValueBonus.objects.first()
@@ -39,7 +39,7 @@ class BonusCategoryListSerializer(serializers.ModelSerializer):
class BonusEmployeeBonusSerializer(serializers.ModelSerializer): class BonusEmployeeBonusSerializer(serializers.ModelSerializer):
class Meta: class Meta:
model = EmployeeBonus model = EmployeeBonus
fields = 'user', 'bonus_type', 'percentage' fields = ['user', 'bonus_type', 'percentage']
class EmployeeBonusListSerializer(serializers.ModelSerializer): class EmployeeBonusListSerializer(serializers.ModelSerializer):
@@ -47,7 +47,7 @@ class EmployeeBonusListSerializer(serializers.ModelSerializer):
class Meta: class Meta:
model = EmployeeBonus model = EmployeeBonus
fields = 'id', 'user', 'bonus_type', 'percentage' , 'price' fields = ['id', 'user', 'bonus_type', 'percentage' , 'price']
def get_price(self, obj): def get_price(self, obj):
base_obj = BaseValueBonus.objects.first() base_obj = BaseValueBonus.objects.first()

View File

@@ -30,15 +30,10 @@ class CommentCreateSerializer(serializers.ModelSerializer):
'id', 'message', 'file', 'type', 'task' 'id', 'message', 'file', 'type', 'task'
] ]
def validate(self, data):
task = Task.objects.filter(id=data['task']).first()
if not task:
raise serializers.ValidationError("Task not found")
data['task'] = task
return data
def create(self, validated_data): def create(self, validated_data):
with transaction.atomic(): with transaction.atomic():
task = validated_data.pop('task') comment = Comment.objects.create(
comment = Comment.objects.create(task=task, created_by=self.context['request'].user, **validated_data) created_by=self.context['request'].user,
**validated_data
)
return comment return comment