From a76b811bfd7ecd0bdd4bee56b25f31beecf45dc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Barrag=C3=A1n=20Merino?= Date: Fri, 29 Nov 2013 14:27:49 +0100 Subject: [PATCH] :beers::beers::beers: Added a field to the serializer of attachments to show the file name :beers::beers::beers: --- greenmine/projects/serializers.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/greenmine/projects/serializers.py b/greenmine/projects/serializers.py index 57a44046..1c106228 100644 --- a/greenmine/projects/serializers.py +++ b/greenmine/projects/serializers.py @@ -6,17 +6,25 @@ from greenmine.base.serializers import PickleField from . import models +from os import path + class AttachmentSerializer(serializers.ModelSerializer): + name = serializers.SerializerMethodField("get_name") url = serializers.SerializerMethodField("get_url") size = serializers.SerializerMethodField("get_size") class Meta: model = models.Attachment - fields = ("id", "project", "owner", "attached_file", "size", "created_date", - "modified_date", "object_id", "url") + fields = ("id", "project", "owner", "name", "attached_file", "size", + "created_date", "modified_date", "object_id", "url") read_only_fields = ("owner",) + def get_name(self, obj): + if obj.attached_file: + return path.basename(obj.attached_file.path) + return "" + def get_url(self, obj): return obj.attached_file.url if obj and obj.attached_file else ""