示例#1
0
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',
        )
示例#2
0
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}}
示例#3
0
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}}
示例#4
0
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',)