cma_search/server/apps/information/serializers.py

67 lines
2.2 KiB
Python

from rest_framework import serializers
from apps.system.serializers import OrganizationSimpleSerializer
from apps.system.models import Organization
from .models import AbilityReview, QualityCommendation, QualityActivities, Contact, ExternalAuditors, AuditLog, Qualification
from django.utils import timezone
class BaseMeta:
fields = '__all__'
read_only_fields = ['create_time', 'update_time', 'create_by', 'update_by', 'is_deleted', 'belong_dept']
class QualityCommendationSerializer(serializers.ModelSerializer):
class Meta(BaseMeta):
model = QualityCommendation
fields = '__all__'
read_only_fields = ['id']
class QualityActivitiesSerializer(serializers.ModelSerializer):
class Meta(BaseMeta):
model = QualityActivities
fields = '__all__'
read_only_fields = ['id']
class ContactSerializer(serializers.ModelSerializer):
class Meta(BaseMeta):
model = Contact
fields = '__all__'
class ExternalAuditorsSerializer(serializers.ModelSerializer):
class Meta(BaseMeta):
model = ExternalAuditors
fields = '__all__'
class QualificationSerializer(serializers.ModelSerializer):
class Meta(BaseMeta):
model = Qualification
fields = ["id","name","company_name","quali_type","org","org_date","expiration_date","number","scope", "change_date"]
def create(self, validated_data):
validated_data["belong_dept_id"] = Organization.objects.filter(name = validated_data.get("company_name")).first().id
return super().create(validated_data)
def update(self, instance, validated_data):
validated_data["change_date"] = timezone.now().date()
return super().update(instance, validated_data)
class AbilityReviewSerializer(serializers.ModelSerializer):
quali_name = serializers.CharField(source='quali.name', read_only=True)
class Meta(BaseMeta):
model = AbilityReview
fields = '__all__'
class AuditLogSerializer(serializers.ModelSerializer):
company_name = serializers.CharField(source='instance.company_name', read_only=True)
class Meta(BaseMeta):
model = AuditLog
fields = '__all__'