71 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			2.3 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, Parsepdf
 | 
						|
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__'
 | 
						|
 | 
						|
class ParsepdfSerializer(serializers.ModelSerializer):
 | 
						|
 | 
						|
    class Meta(BaseMeta):
 | 
						|
        model = Parsepdf
 | 
						|
        fields = '__all__'
 |