[Erp5-report] r11356 - /erp5/trunk/products/ERP5Type/ObjectMessage.py

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Nov 17 16:02:01 CET 2006


Author: romain
Date: Fri Nov 17 16:01:56 2006
New Revision: 11356

URL: http://svn.erp5.org?rev=11356&view=rev
Log:
Wrap divergent object in the object message (in order to make them more listbox friendly).

Modified:
    erp5/trunk/products/ERP5Type/ObjectMessage.py

Modified: erp5/trunk/products/ERP5Type/ObjectMessage.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/ObjectMessage.py?rev=11356&r1=11355&r2=11356&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/ObjectMessage.py (original)
+++ erp5/trunk/products/ERP5Type/ObjectMessage.py Fri Nov 17 16:01:56 2006
@@ -31,7 +31,7 @@
 
 class ObjectMessage: 
   """
-   Object Message is used for notifications to user.
+  Object Message is used for notifications to user.
   """
   def __init__(self, object_relative_url='', message='', mapping={}, **kw):
     
@@ -46,13 +46,14 @@
     Return the message translated
     """
     from Products.ERP5Type.Message import Message
-    return Message(domain='erp5_ui', message=self.message, mapping=self.mapping)
+    return Message(domain='erp5_ui', message=self.message, 
+                   mapping=self.mapping)
 
   getMessage = getTranslatedMessage
                     
   def edit(self, **kw):
     """
-    set all parameters
+    Set all parameters
     """ 
     self.__dict__.update(kw)
 
@@ -62,6 +63,19 @@
     """
     return getattr(self, value, None)
 
+  def __getattr__(self, name):
+    """
+    Wrap the message with the object
+    """
+    if name.startswith('__') :
+      raise AttributeError, name
+    else:
+      obj = self.getObject()
+      if obj is not None:
+        return getattr(obj, name)
+      else:
+        raise AttributeError, name
+
   def getObject(self):
      """
      Get the Object 
@@ -70,7 +84,7 @@
      request = get_request()['PARENTS']
      if request is not None:
        for item in request:
-         if item.meta_type ==  'ERP5 Site':
+         if item.meta_type == 'ERP5 Site':
            return item.restrictedTraverse(self.object_relative_url)
 
      return None




More information about the Erp5-report mailing list