From f9eda8657d9c26fb0dcfe9af2a77f9e090ea55d5 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Tue, 26 Jun 2007 09:27:20 +0000
Subject: [PATCH] Check if object has set text_content and call
 portal_transforms only if it's set.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@14967 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/TextDocument.py | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/product/ERP5/Document/TextDocument.py b/product/ERP5/Document/TextDocument.py
index 49652dbcc2..02cce94bf6 100644
--- a/product/ERP5/Document/TextDocument.py
+++ b/product/ERP5/Document/TextDocument.py
@@ -147,8 +147,17 @@ class TextDocument(Document, TextContent):
       src_mimetype = self.getTextFormat(DEFAULT_TEXT_FORMAT)
       if not src_mimetype.startswith('text/'):
         src_mimetype = 'text/%s' % src_mimetype
-      return mime_type, getToolByName(self, 'portal_transforms').convertTo(mime_type,
-                           self.getTextContent(), object=self, mimetype=src_mimetype)
+      # check if document has set text_content and convert if necessary
+      text_content = self.getTextContent()
+      if text_content is not None:
+        portal_transforms = getToolByName(self, 'portal_transforms')
+        return mime_type, portal_transforms.convertTo(mime_type,
+                                                      text_content, 
+                                                      object = self, 
+                                                      mimetype = src_mimetype)
+      else:
+        # text_content is not set, return empty string instead of None
+        return mime_type, ''
 
     def __call__(self):
       _setCacheHeaders(self, {})
-- 
2.30.9