[Erp5-report] r19055 - /erp5/trunk/products/ERP5OOo/OOoTemplate.py

nobody at svn.erp5.org nobody at svn.erp5.org
Tue Feb 5 15:26:15 CET 2008


Author: jerome
Date: Tue Feb  5 15:26:14 2008
New Revision: 19055

URL: http://svn.erp5.org?rev=19055&view=rev
Log:
In development mode, validate the odf xml and LOG if it's not valid anytime we
render an OOoTemplate. This will help template authors to make valid openoffice
files.


Modified:
    erp5/trunk/products/ERP5OOo/OOoTemplate.py

Modified: erp5/trunk/products/ERP5OOo/OOoTemplate.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5OOo/OOoTemplate.py?rev=19055&r1=19054&r2=19055&view=diff
==============================================================================
--- erp5/trunk/products/ERP5OOo/OOoTemplate.py (original)
+++ erp5/trunk/products/ERP5OOo/OOoTemplate.py Tue Feb  5 15:26:14 2008
@@ -27,6 +27,8 @@
 ##############################################################################
 
 from types import StringType
+from zLOG import LOG
+from zLOG import PROBLEM
 from Products.CMFCore.FSPageTemplate import FSPageTemplate
 from Products.CMFCore.DirectoryView import registerFileExtension, registerMetaType
 from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate
@@ -34,6 +36,7 @@
 from Products.ERP5Type import PropertySheet
 from urllib import quote
 from Globals import InitializeClass, DTMLFile, get_request
+from Globals import DevelopmentMode
 from AccessControl import ClassSecurityInfo
 from OOoUtils import OOoBuilder
 from zipfile import ZipFile, ZIP_DEFLATED
@@ -504,7 +507,15 @@
     if not format and not batch_mode:
       request.RESPONSE.setHeader('Content-Type','%s; charset=utf-8' % self.content_type)
       request.RESPONSE.setHeader('Content-disposition', 'inline;filename=%s' % self.title_or_id())
-        
+    
+    if DevelopmentMode:
+      # Validate XML in development mode
+      from Products.ERP5OOo.tests.utils import Validator
+      err_list = Validator().validate(ooo)
+      if err_list:
+        LOG('ERP5OOo', PROBLEM,
+            'Validation of %s failed:\n%s' % (self.getId(), ''.join(err_list)))
+    
     return ooo
   
   def om_icons(self):




More information about the Erp5-report mailing list