[Erp5-report] r10019 - /erp5/trunk/products/ERP5Type/Accessor/Value.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Sat Sep 16 12:18:07 CEST 2006
Author: jp
Date: Sat Sep 16 12:18:05 2006
New Revision: 10019
URL: http://svn.erp5.org?rev=10019&view=rev
Log:
Added support for keep_default. Full implementation of Uid setters
Modified:
erp5/trunk/products/ERP5Type/Accessor/Value.py
Modified: erp5/trunk/products/ERP5Type/Accessor/Value.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/Accessor/Value.py?rev=10019&r1=10018&r2=10019&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/Accessor/Value.py (original)
+++ erp5/trunk/products/ERP5Type/Accessor/Value.py Sat Sep 16 12:18:05 2006
@@ -75,7 +75,24 @@
psyco.bind(__call__)
-DefaultSetter = SetSetter
+Setter = ListSetter
+
+class DefaultSetter(SetSetter):
+ """
+ Sets a category value through a provided value (Set mode)
+ """
+ _need__name__=1
+
+ def __call__(self, instance, *args, **kw):
+ if self._warning:
+ LOG("ERP5Type Deprecated Getter Id:",0, self._id)
+ instance._setDefaultValue(self._key, args[0],
+ spec=kw.get('spec',()),
+ filter=kw.get('filter', None),
+ portal_type=kw.get('portal_type',()))
+ if self._reindex: instance.reindexObject()
+
+ psyco.bind(__call__)
class DefaultGetter(Method):
"""
@@ -407,9 +424,9 @@
return result_set
-class UidSetter(Method):
- """
- Sets a reference
+class UidSetSetter(Method):
+ """
+ Sets a category from the uid of the object
"""
_need__name__=1
@@ -425,15 +442,45 @@
def __call__(self, instance, *args, **kw):
if self._warning:
LOG("ERP5Type Deprecated Getter Id:",0, self._id)
- instance._setValueUids(self._key, args[0],
- spec=kw.get('spec',()),
- filter=kw.get('filter', None),
- portal_type=kw.get('portal_type',()))
+ instance._setValueUidList(self._key, args[0],
+ spec=kw.get('spec',()),
+ filter=kw.get('filter', None),
+ portal_type=kw.get('portal_type',()),
+ keep_default=1)
if self._reindex: instance.reindexObject()
-UidListSetter = UidSetter
-UidSetSetter = UidSetter # Error XXX
-UidDefaultSetter = UidSetter # Error XXX
+class UidListSetter(UidSetSetter):
+ """
+ Sets a category from the uid of the object
+ """
+ _need__name__=1
+
+ def __call__(self, instance, *args, **kw):
+ if self._warning:
+ LOG("ERP5Type Deprecated Getter Id:",0, self._id)
+ instance._setValueUidList(self._key, args[0],
+ spec=kw.get('spec',()),
+ filter=kw.get('filter', None),
+ portal_type=kw.get('portal_type',()),
+ keep_default=0)
+ if self._reindex: instance.reindexObject()
+
+UidSetter = UidListSetter
+
+class UidDefaultSetter(UidSetSetter):
+ """
+ Sets a category from the uid of the object
+ """
+ _need__name__=1
+
+ def __call__(self, instance, *args, **kw):
+ if self._warning:
+ LOG("ERP5Type Deprecated Getter Id:",0, self._id)
+ instance._setDefaultValueUid(self._key, args[0],
+ spec=kw.get('spec',()),
+ filter=kw.get('filter', None),
+ portal_type=kw.get('portal_type',()))
+ if self._reindex: instance.reindexObject()
class DefaultIdGetter(Method):
"""
More information about the Erp5-report
mailing list