[Erp5-report] r10006 - /erp5/trunk/products/ERP5Type/Accessor/Value.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Fri Sep 15 17:19:32 CEST 2006
Author: jp
Date: Fri Sep 15 17:19:30 2006
New Revision: 10006
URL: http://svn.erp5.org?rev=10006&view=rev
Log:
Added support for keep_default
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=10006&r1=10005&r2=10006&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/Accessor/Value.py (original)
+++ erp5/trunk/products/ERP5Type/Accessor/Value.py Fri Sep 15 17:19:30 2006
@@ -30,9 +30,9 @@
from zLOG import LOG
from Products.ERP5Type.PsycoWrapper import psyco
-class Setter(Method):
- """
- Sets a reference
+class SetSetter(Method):
+ """
+ Sets a category value through a provided value (List mode)
"""
_need__name__=1
@@ -51,14 +51,31 @@
instance._setValue(self._key, args[0],
spec=kw.get('spec',()),
filter=kw.get('filter', None),
- portal_type=kw.get('portal_type',()))
+ portal_type=kw.get('portal_type',()),
+ keep_default=1)
if self._reindex: instance.reindexObject()
psyco.bind(__call__)
-ListSetter = Setter
-SetSetter = Setter # Error XXX
-DefaultSetter = Setter # Error XXX
+class ListSetter(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._setValue(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()
+
+ psyco.bind(__call__)
+
+DefaultSetter = SetSetter
class DefaultGetter(Method):
"""
@@ -146,10 +163,7 @@
self._key = key
def __call__(self, instance, *args, **kw):
- o = instance._getDefaultAcquiredValue(self._key,
- spec=kw.get('spec',()),
- filter=kw.get('filter', None),
- portal_type=kw.get('portal_type',()))
+ o = instance._getDefaultAcquiredValue(self._key, **kw)
if o is None:
return None
return o.getTitle()
@@ -175,11 +189,7 @@
self._key = key
def __call__(self, instance, *args, **kw):
- return [x.getTitle() for x in instance._getAcquiredValueList(self._key,
- spec=kw.get('spec',()),
- filter=kw.get('filter', None),
- portal_type=kw.get('portal_type',()))
- ]
+ return [x.getTitle() for x in instance._getAcquiredValueList(self._key, **kw)]
psyco.bind(__call__)
More information about the Erp5-report
mailing list