From 0504f56c230a8f045b26187fc9a887ec6c336e88 Mon Sep 17 00:00:00 2001
From: Rafael Monnerat <rafael@nexedi.com>
Date: Tue, 17 Jan 2012 22:07:23 -0200
Subject: [PATCH] Ignore portal types that not exist or empty lines

---
 .../Document/PortalTypeRolesSpreadsheetConfiguratorItem.py  | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/product/ERP5Configurator/Document/PortalTypeRolesSpreadsheetConfiguratorItem.py b/product/ERP5Configurator/Document/PortalTypeRolesSpreadsheetConfiguratorItem.py
index 0f4d4a4d5f..17af8df0ca 100644
--- a/product/ERP5Configurator/Document/PortalTypeRolesSpreadsheetConfiguratorItem.py
+++ b/product/ERP5Configurator/Document/PortalTypeRolesSpreadsheetConfiguratorItem.py
@@ -26,6 +26,7 @@
 ##############################################################################
 
 import zope.interface
+from zLOG import LOG, INFO
 from Acquisition import aq_base
 from AccessControl import ClassSecurityInfo
 from Products.ERP5Type import Permissions, PropertySheet, interfaces
@@ -33,6 +34,7 @@ from Products.ERP5Type.XMLObject import XMLObject
 from Products.ERP5Configurator.mixin.configurator_item import ConfiguratorItemMixin
 
 
+
 class PortalTypeRolesSpreadsheetConfiguratorItem(ConfiguratorItemMixin, XMLObject):
   """Import a portal type roles spreadsheet.
   """
@@ -63,6 +65,10 @@ class PortalTypeRolesSpreadsheetConfiguratorItem(ConfiguratorItemMixin, XMLObjec
     self._readSpreadSheet()
     for type_name, role_list in self._spreadsheet_cache.items():
       portal_type = portal.portal_types.getTypeInfo(type_name)
+      if portal_type is None:
+        LOG("CONFIGURATOR", INFO, "Fail to define Roles for %s" % portal_type)
+        continue
+ 
       for role in role_list:
         # rebuild a category from Group / Site & Function
         category_list = []
-- 
2.30.9