[Erp5-report] r27787 - in /erp5/trunk/products/ERP5/Document: Document.py EmailDocument.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Wed Jun 24 15:12:19 CEST 2009
Author: seb
Date: Wed Jun 24 15:12:16 2009
New Revision: 27787
URL: http://svn.erp5.org?rev=27787&view=rev
Log:
Take into account some case where the document proxy category
is not defined, this fix current failures of testXHTML
Modified:
erp5/trunk/products/ERP5/Document/Document.py
erp5/trunk/products/ERP5/Document/EmailDocument.py
Modified: erp5/trunk/products/ERP5/Document/Document.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/Document.py?rev=27787&r1=27786&r2=27787&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/Document.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/Document.py [utf8] Wed Jun 24 15:12:16 2009
@@ -102,6 +102,8 @@
pass
class ConversionError(Exception):pass
+
+class DocumentProxyError(Exception):pass
class NotConvertedError(Exception):pass
@@ -397,7 +399,7 @@
"""
proxied_document = self.getDocumentProxyValue()
if proxied_document is None:
- raise ValueError("Unable to find a proxied document")
+ raise DocumentProxyError("Unable to find a proxied document")
return proxied_document
class UpdateMixIn:
Modified: erp5/trunk/products/ERP5/Document/EmailDocument.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/EmailDocument.py?rev=27787&r1=27786&r2=27787&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/EmailDocument.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/EmailDocument.py [utf8] Wed Jun 24 15:12:16 2009
@@ -38,7 +38,8 @@
from Products.ERP5Type import Permissions, PropertySheet, Constraint, interfaces
from Products.ERP5.Document.TextDocument import TextDocument
from Products.ERP5.Document.File import File
-from Products.ERP5.Document.Document import ConversionError, DocumentProxyMixin
+from Products.ERP5.Document.Document import ConversionError, \
+ DocumentProxyMixin, DocumentProxyError
from Products.ERP5.Tool.NotificationTool import buildEmailMessage
from MethodObject import Method
@@ -72,6 +73,33 @@
security = ClassSecurityInfo()
security.declareObjectProtected(Permissions.AccessContentsInformation)
+ security.declareProtected(Permissions.AccessContentsInformation, 'hasFile')
+ def hasFile(self):
+ """
+ hasFile is used in many parts of EmailDocument in order to know
+ if there is some document content to manage. We define it here
+ in order to say that there is no document if we are not able to
+ get the proxy
+ """
+ has_file = False
+ try:
+ proxied_document = self.getProxiedDocument()
+ has_file = proxied_document.hasFile()
+ except DocumentProxyError:
+ pass
+ return has_file
+
+ security.declareProtected(Permissions.AccessContentsInformation, 'getTextContent')
+ def getTextContent(self, default=_MARKER):
+ result = None
+ try:
+ proxied_document = self.getProxiedDocument()
+ result = proxied_document.getTextContent(default=default)
+ except DocumentProxyError:
+ pass
+ if default is _MARKER:
+ return result
+ return result or default
class ProxiedMethod(Method):
"""
@@ -87,7 +115,7 @@
return method(*args, **kw)
# generate all proxy method on EmailDocumentProxyMixin
-for method_id in ('getTextContent', 'getTextFormat', 'hasFile',
+for method_id in ('getTextFormat',
'getContentInformation', 'getAttachmentData',
'getAttachmentInformationList'):
EmailDocumentProxyMixin.security.declareProtected(
More information about the Erp5-report
mailing list