[Erp5-report] r43334 arnaud.fontaine - /erp5/trunk/products/ERP5Type/Core/CategoryProperty.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Tue Feb 15 08:36:54 CET 2011
Author: arnaud.fontaine
Date: Tue Feb 15 08:36:54 2011
New Revision: 43334
URL: http://svn.erp5.org?rev=43334&view=rev
Log:
Do not try to generate accessors when either category tool is missing
(on bootstrap) or when the category could not be found
Modified:
erp5/trunk/products/ERP5Type/Core/CategoryProperty.py
Modified: erp5/trunk/products/ERP5Type/Core/CategoryProperty.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/Core/CategoryProperty.py?rev=43334&r1=43333&r2=43334&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/Core/CategoryProperty.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/Core/CategoryProperty.py [utf8] Tue Feb 15 08:36:54 2011
@@ -35,6 +35,7 @@ from Products.ERP5Type.Accessor import C
from Products.ERP5Type.Utils import UpperCase
from Products.ERP5Type.Core.StandardProperty import StandardProperty
+from zLOG import LOG, WARNING
class CategoryProperty(XMLObject):
"""
@@ -150,6 +151,17 @@ class CategoryProperty(XMLObject):
accessor_holder,
category_id,
category_tool):
+ if category_tool is None:
+ return
+
+ cat_object = category_tool.get(category_id, None)
+ if cat_object is None:
+ LOG("ERP5Type.Core.CategoryProperty", WARNING,
+ "Base Category %r is missing. Accessors can not be generated." % \
+ category_id)
+
+ return
+
# Create free text accessors.
# XXX These are only for backward compatibility.
storage_id = None
@@ -160,6 +172,7 @@ class CategoryProperty(XMLObject):
StandardProperty.applyPropertyOnAccessorHolder(
accessor_holder=accessor_holder,
+ portal=category_tool,
reference='%s_free_text' % category_id,
elementary_type='text',
multivalued=False,
@@ -169,20 +182,10 @@ class CategoryProperty(XMLObject):
write_permission=Permissions.ModifyPortalContent)
# Get read and write permission
- if category_tool is not None:
- cat_object = category_tool.get(category_id, None)
- else:
- cat_object = None
- if cat_object is not None:
- read_permission = Permissions.__dict__.get(
- cat_object.getReadPermission(),
- Permissions.AccessContentsInformation)
- write_permission = Permissions.__dict__.get(
- cat_object.getWritePermission(),
- Permissions.ModifyPortalContent)
- else:
- read_permission = Permissions.AccessContentsInformation
- write_permission = Permissions.ModifyPortalContent
+ read_permission = Permissions.__dict__.get(cat_object.getReadPermission(),
+ Permissions.AccessContentsInformation)
+ write_permission = Permissions.__dict__.get(cat_object.getWritePermission(),
+ Permissions.ModifyPortalContent)
# Actually create accessors
uppercase_reference = UpperCase(category_id)
More information about the Erp5-report
mailing list