class ProcessStepSerializer(serializers.HyperlinkedModelSerializer): user = serializers.CharField(read_only=True, default=CurrentUsernameDefault()) def create(self, validated_data): if 'user' not in validated_data: validated_data['user'] = self.context['request'].user return super().create(validated_data) class Meta: model = ProcessStep fields = ( 'url', 'id', 'name', 'result', 'type', 'user', 'parallel', 'status', 'progress', 'undone', 'time_created', 'parent_step', 'parent_step_pos', 'information_package', ) read_only_fields = ( 'status', 'progress', 'time_created', 'time_done', 'undone', )
class EventIPSerializer(serializers.HyperlinkedModelSerializer): linkingAgentIdentifierValue = serializers.CharField( read_only=True, default=CurrentUsernameDefault()) information_package = serializers.CharField( required=False, source='linkingObjectIdentifierValue') eventType = serializers.PrimaryKeyRelatedField( queryset=EventType.objects.all()) eventDetail = serializers.SlugRelatedField(slug_field='eventDetail', source='eventType', read_only=True) def create(self, validated_data): if 'linkingAgentIdentifierValue' not in validated_data: validated_data['linkingAgentIdentifierValue'] = self.context[ 'request'].user return super().create(validated_data) class Meta: model = EventIP fields = ( 'url', 'id', 'eventType', 'eventDateTime', 'eventDetail', 'eventVersion', 'eventOutcome', 'eventOutcomeDetailNote', 'linkingAgentIdentifierValue', 'linkingAgentRole', 'information_package', ) extra_kwargs = {'eventVersion': {'default': VERSION}}
class EventIPSerializer(serializers.ModelSerializer): linkingAgentIdentifierValue = serializers.CharField( read_only=True, default=CurrentUsernameDefault()) information_package = serializers.CharField( required=False, source='linkingObjectIdentifierValue') eventType = serializers.PrimaryKeyRelatedField( queryset=EventType.objects.all()) eventDetail = serializers.SlugRelatedField(slug_field='eventDetail', source='eventType', read_only=True) delivery = serializers.PrimaryKeyRelatedField( required=False, queryset=Delivery.objects.all()) transfer = TransferSerializer() class Meta: model = EventIP fields = ( 'id', 'eventType', 'eventDateTime', 'eventDetail', 'eventVersion', 'eventOutcome', 'eventOutcomeDetailNote', 'linkingAgentIdentifierValue', 'linkingAgentRole', 'information_package', 'delivery', 'transfer', ) extra_kwargs = {'eventVersion': {'default': VERSION}}
class StoredSearchSerializer(serializers.ModelSerializer): user = serializers.CharField(read_only=True, default=CurrentUsernameDefault()) query = serializers.JSONField() def create(self, validated_data): if 'user' not in validated_data: validated_data['user'] = self.context['request'].user return super().create(validated_data) class Meta: model = Search fields = ('id', 'name', 'user', 'query',)