diff --git a/mayan/apps/sources/api.py b/mayan/apps/sources/api.py index e9ed582359..719e25b870 100644 --- a/mayan/apps/sources/api.py +++ b/mayan/apps/sources/api.py @@ -26,7 +26,7 @@ logger = logging.getLogger(__name__) class APIStagingSourceFileView(generics.GenericAPIView): def get(self, request, staging_folder_pk, filename): staging_folder = get_object_or_404(StagingFolder, pk=staging_folder_pk) - return Response(SerializerStagingFolderFile(staging_folder.get_file(filename)).data) + return Response(SerializerStagingFolderFile(staging_folder.get_file(encoded_filename=filename), context={'request': request}).data) class APIStagingSourceListView(generics.ListAPIView): diff --git a/mayan/apps/sources/resources.py b/mayan/apps/sources/resources.py index 3547343e37..020545f467 100644 --- a/mayan/apps/sources/resources.py +++ b/mayan/apps/sources/resources.py @@ -17,10 +17,10 @@ class SerializerStagingFolderFile(serializers.Serializer): filename = serializers.CharField(max_length=255) def get_url(self, obj): - return reverse('stagingfolderfile-detail', args=[obj.staging_folder.pk, obj.filename], request=self.context.get('request')) + return reverse('stagingfolderfile-detail', args=[obj.staging_folder.pk, obj.encoded_filename], request=self.context.get('request')) def get_image_url(self, obj): - return reverse('stagingfolderfile-image-view', args=[obj.staging_folder.pk, obj.filename], request=self.context.get('request')) + return reverse('stagingfolderfile-image-view', args=[obj.staging_folder.pk, obj.encoded_filename], request=self.context.get('request')) class SerializerStagingFolder(serializers.HyperlinkedModelSerializer): @@ -28,7 +28,7 @@ class SerializerStagingFolder(serializers.HyperlinkedModelSerializer): def get_files(self, obj): try: - return [SerializerStagingFolderFile(entry).data for entry in obj.get_files()] + return [SerializerStagingFolderFile(entry, context=self.context).data for entry in obj.get_files()] except Exception as exception: logger.error('unhandled exception: %s' % exception) return []