class ApprovalRequestSerializer(serializers.ModelSerializer): approver = UserSerializer() created = serializers.DateTimeField(read_only=True) creator = UserSerializer() class Meta: model = ApprovalRequest fields = ["approved", "approver", "comment", "created", "creator", "id"]
class ApprovalRequestSerializer(serializers.ModelSerializer): created = serializers.DateTimeField(read_only=True) creator = UserSerializer() approver = UserSerializer() class Meta: model = ApprovalRequest fields = [ 'id', 'created', 'creator', 'approved', 'approver', 'comment', ]
class RecipeRevisionSerializer(serializers.ModelSerializer): approval_request = ApprovalRequestSerializer(read_only=True) comment = serializers.CharField(read_only=True) date_created = serializers.DateTimeField(source="created", read_only=True) recipe = serializers.SerializerMethodField(read_only=True) user = UserSerializer() class Meta: model = RecipeRevision fields = [ "approval_request", "comment", "date_created", "id", "recipe", "user", "identicon_seed", ] def get_recipe(self, instance): serializer = RecipeSerializer( instance.serializable_recipe, exclude_fields=[ "latest_revision", "approved_revision", "approval_request" ], ) return serializer.data
class RecipeRevisionSerializer(serializers.ModelSerializer): action = serializers.SerializerMethodField(read_only=True) approval_request = ApprovalRequestSerializer(read_only=True) comment = serializers.CharField(required=False) creator = UserSerializer(source="user", read_only=True) date_created = serializers.DateTimeField(source="created", read_only=True) enabled_states = EnabledStateSerializer(many=True, exclude_fields=["revision_id"]) recipe = serializers.SerializerMethodField(read_only=True) class Meta: model = RecipeRevision fields = [ "action", "approval_request", "arguments", "bug_number", "comment", "date_created", "enabled_states", "enabled", "extra_filter_expression", "filter_expression", "filter_object", "id", "identicon_seed", "name", "recipe", "creator", "updated", ] def get_recipe(self, instance): serializer = RecipeLinkSerializer(instance.recipe) return serializer.data def get_action(self, instance): serializer = ActionSerializer( instance.action, read_only=True, context={"request": self.context.get("request")} ) return serializer.data
class RecipeRevisionSerializer(serializers.ModelSerializer): approval_request = ApprovalRequestSerializer(read_only=True) comment = serializers.CharField(read_only=True) date_created = serializers.DateTimeField(source='created', read_only=True) recipe = serializers.SerializerMethodField(read_only=True) user = UserSerializer() class Meta: model = RecipeRevision fields = [ 'approval_request', 'comment', 'date_created', 'id', 'recipe', 'user' ] def get_recipe(self, instance): serializer = RecipeSerializer(instance.serializable_recipe, exclude_fields=[ 'latest_revision', 'approved_revision', 'approval_request' ]) return serializer.data
def get(self, request): if not request.user.is_authenticated: return Response(status=status.HTTP_401_UNAUTHORIZED) return Response(UserSerializer(request.user).data)
class EnabledStateSerializer(CustomizableSerializerMixin, serializers.ModelSerializer): creator = UserSerializer() class Meta: model = EnabledState fields = ["id", "revision_id", "created", "creator", "enabled", "carryover_from"]