[Erp5-report] r43833 seb - in /erp5/trunk/products/ERP5Type: ./ Core/ mixin/
nobody at svn.erp5.org
nobody at svn.erp5.org
Mon Feb 28 22:51:31 CET 2011
Author: seb
Date: Mon Feb 28 22:51:31 2011
New Revision: 43833
URL: http://svn.erp5.org?rev=43833&view=rev
Log:
- stop doing strange things with setReference on properties
- use Reference Propertysheet instead of add reference property
in another propertysheet
Modified:
erp5/trunk/products/ERP5Type/Core/CategoryProperty.py
erp5/trunk/products/ERP5Type/Core/StandardProperty.py
erp5/trunk/products/ERP5Type/id_as_reference.py
erp5/trunk/products/ERP5Type/mixin/constraint.py
Modified: erp5/trunk/products/ERP5Type/Core/CategoryProperty.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/Core/CategoryProperty.py?rev=43833&r1=43832&r2=43833&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/Core/CategoryProperty.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/Core/CategoryProperty.py [utf8] Mon Feb 28 22:51:31 2011
@@ -48,7 +48,8 @@ class CategoryProperty(IdAsReferenceMixi
security = ClassSecurityInfo()
security.declareObjectProtected(Permissions.AccessContentsInformation)
- property_sheets = (PropertySheet.SimpleItem,)
+ property_sheets = (PropertySheet.SimpleItem,
+ PropertySheet.Reference)
security.declareProtected(Permissions.AccessContentsInformation,
'exportToFilesystemDefinition')
@@ -66,7 +67,7 @@ class CategoryProperty(IdAsReferenceMixi
Set the Reference from a filesystem definition of a property
"""
return context.newContent(portal_type=cls.portal_type,
- reference=category_name)
+ id=category_name + cls.getIdAsReferenceSuffix())
getter_definition_dict = {
# normal accessors
Modified: erp5/trunk/products/ERP5Type/Core/StandardProperty.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/Core/StandardProperty.py?rev=43833&r1=43832&r2=43833&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/Core/StandardProperty.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/Core/StandardProperty.py [utf8] Mon Feb 28 22:51:31 2011
@@ -46,12 +46,12 @@ class StandardProperty(IdAsReferenceMixi
property_sheets = (PropertySheet.SimpleItem,
PropertySheet.StandardProperty,
+ PropertySheet.Reference,
PropertySheet.TranslatableProperty)
# Names mapping between filesystem to ZODB property, only meaningful
# when importing a property from its filesystem definition
- _name_mapping_filesystem_to_zodb_dict = {'id': 'reference',
- 'type': 'elementary_type',
+ _name_mapping_filesystem_to_zodb_dict = {'type': 'elementary_type',
'default': 'property_default'}
# ZODB name of attributes whose value is a TALES Expression string
@@ -165,6 +165,10 @@ class StandardProperty(IdAsReferenceMixi
value = isinstance(value, Expression) and \
value.text or 'python: ' + repr(value)
+ # set correctly the id by following naming conventions
+ if zodb_property_name == 'id':
+ value += cls.getIdAsReferenceSuffix()
+
zodb_property_dict[zodb_property_name] = value
return zodb_property_dict
Modified: erp5/trunk/products/ERP5Type/id_as_reference.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/id_as_reference.py?rev=43833&r1=43832&r2=43833&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/id_as_reference.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/id_as_reference.py [utf8] Mon Feb 28 22:51:31 2011
@@ -61,7 +61,8 @@ def IdAsReferenceMixin(suffix):
security.declareProtected(Permissions.AccessContentsInformation,
'getIdAsReferenceSuffix')
- def getIdAsReferenceSuffix(self):
+ @staticmethod
+ def getIdAsReferenceSuffix():
return suffix
security.declareProtected(Permissions.AccessContentsInformation,
@@ -70,18 +71,6 @@ def IdAsReferenceMixin(suffix):
id = self.id
if id[suffix_index:] == suffix:
return id[:suffix_index]
- # BBB
- reference = self.__dict__.get('default_reference')
- if reference:
- transaction.get().addBeforeCommitHook(self.__migrate)
- return reference
- return default
-
- def _setReference(self, value):
- self.__dict__.pop('default_reference', None) # BBB
- self.setId(value + suffix)
-
- security.declareProtected(Permissions.ModifyPortalContent, 'setReference')
- setReference = _setReference
+ return self._baseGetReference(default=default)
return IdAsReferenceMixin
Modified: erp5/trunk/products/ERP5Type/mixin/constraint.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/mixin/constraint.py?rev=43833&r1=43832&r2=43833&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/mixin/constraint.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/mixin/constraint.py [utf8] Mon Feb 28 22:51:31 2011
@@ -66,6 +66,7 @@ class ConstraintMixin(IdAsReferenceMixin
implements( IConstraint, )
property_sheets = (PropertySheet.SimpleItem,
+ PropertySheet.Reference,
PropertySheet.Predicate)
def _getMessage(self, message_id):
@@ -186,8 +187,9 @@ class ConstraintMixin(IdAsReferenceMixin
base_constraint_definition_dict['portal_type'] = cls.portal_type
- base_constraint_definition_dict['reference'] = \
- filesystem_definition_copy_dict.pop('id')
+ base_constraint_definition_dict['id'] = \
+ filesystem_definition_copy_dict.pop('id') + \
+ cls.getIdAsReferenceSuffix()
base_constraint_definition_dict['description'] = \
filesystem_definition_copy_dict.pop('description', '')
More information about the Erp5-report
mailing list