feat: add appraisers for auto-evaluation and add curd for this

This commit is contained in:
xoliqberdiyev
2026-04-03 17:32:05 +05:00
parent be0c96b28a
commit 9a18dda657
10 changed files with 172 additions and 7 deletions

View File

@@ -1,10 +1,12 @@
import re
from django.contrib.auth import get_user_model
from rest_framework import serializers
from core.apps.evaluation.models import AutoEvaluationModel,ReferenceitemModel
from core.apps.evaluation.serializers.reference import ListReferenceitemSerializer
User = get_user_model()
class BaseAutoevaluationSerializer(serializers.ModelSerializer):
status_display = serializers.CharField(source="get_status_display", read_only=True)
@@ -14,7 +16,7 @@ class BaseAutoevaluationSerializer(serializers.ModelSerializer):
value_determined = ListReferenceitemSerializer(read_only=True)
property_rights = ListReferenceitemSerializer(read_only=True)
form_ownership = ListReferenceitemSerializer(read_only=True)
class Meta:
model = AutoEvaluationModel
fields = [
@@ -212,3 +214,16 @@ class CreateAutoevaluationSerializer(serializers.ModelSerializer):
)
return attrs
class AutoEvaluationAppraisersSerializer(serializers.Serializer):
ids = serializers.ListField(child=serializers.IntegerField())
def validate(self, data):
if not data.get("ids"):
raise serializers.ValidationError("Appraisers IDs are required.")
users = User.objects.filter(id__in=data["ids"])
if not users:
raise serializers.ValidationError("Invalid appraisers IDs.")
data['users'] = users
return data