[Erp5-report] r15493 - /erp5/trunk/products/CMFActivity/Activity/SQLDict.py

nobody at svn.erp5.org nobody at svn.erp5.org
Mon Aug 6 14:34:01 CEST 2007


Author: aurel
Date: Mon Aug  6 14:34:01 2007
New Revision: 15493

URL: http://svn.erp5.org?rev=15493&view=rev
Log:
registerMessage must take into account group_id
pass group_method_id parameter when reading uid for a group

Modified:
    erp5/trunk/products/CMFActivity/Activity/SQLDict.py

Modified: erp5/trunk/products/CMFActivity/Activity/SQLDict.py
URL: http://svn.erp5.org/erp5/trunk/products/CMFActivity/Activity/SQLDict.py?rev=15493&r1=15492&r2=15493&view=diff
==============================================================================
--- erp5/trunk/products/CMFActivity/Activity/SQLDict.py (original)
+++ erp5/trunk/products/CMFActivity/Activity/SQLDict.py Mon Aug  6 14:34:01 2007
@@ -123,12 +123,12 @@
 
   def isMessageRegistered(self, activity_buffer, activity_tool, m):
     uid_set = activity_buffer.getUidSet(self)
-    return (tuple(m.object_path), m.method_id, m.activity_kw.get('tag')) in uid_set
+    return (tuple(m.object_path), m.method_id, m.activity_kw.get('tag'), m.activity_kw.get('group_id')) in uid_set
 
   def registerMessage(self, activity_buffer, activity_tool, m):
     m.is_registered = 1
     uid_set = activity_buffer.getUidSet(self)
-    uid_set.add((tuple(m.object_path), m.method_id, m.activity_kw.get('tag')))
+    uid_set.add((tuple(m.object_path), m.method_id, m.activity_kw.get('tag'), m.activity_kw.get('group_id')))
     message_list = activity_buffer.getMessageList(self)
     message_list.append(m)
 
@@ -136,12 +136,12 @@
     m.is_registered = 0 # This prevents from inserting deleted messages into the queue
     class_name = self.__class__.__name__
     uid_set = activity_buffer.getUidSet(self)
-    uid_set.discard((tuple(m.object_path), m.method_id, m.activity_kw.get('tag')))
+    uid_set.discard((tuple(m.object_path), m.method_id, m.activity_kw.get('tag'), m.activity_kw.get('group_id')))
 
   def getRegisteredMessageList(self, activity_buffer, activity_tool):
     message_list = activity_buffer.getMessageList(self)
     return [m for m in message_list if m.is_registered]
-
+  
   def validateMessage(self, activity_tool, message, uid_list, priority, processing_node):
     validation_state = message.validate(self, activity_tool, check_order_validation=0)
     if validation_state is not VALID:
@@ -199,7 +199,7 @@
         # Validate message (make sure object exists, priority OK, etc.)
         if not self.validateMessage(activity_tool, m, uid_list, line.priority, processing_node):
           return 0
-
+        
         if group_method_id not in (None, '', '\0'):
           # Count the number of objects to prevent too many objects.
           if m.hasExpandMethod():
@@ -212,7 +212,7 @@
             result = readMessage(processing_node=processing_node,
                                  to_date=now_date, group_method_id=group_method_id,
                                  order_validation_text=order_validation_text)
-            #LOG('SQLDict dequeueMessage', 0, 'result = %d' % (len(result)))
+            #LOG('SQLDict dequeueMessage', 0, 'result = %d, group_method_id %s' % (len(result), group_method_id))
             path_and_method_id_dict = {}
             for line in result:
               path = line.path
@@ -226,7 +226,7 @@
 
               uid_list = activity_tool.SQLDict_readUidList(path=path, method_id=method_id,
                                                            processing_node=None,
-                                                           to_date=now_date,
+                                                           to_date=now_date, group_method_id=group_method_id,
                                                            order_validation_text=order_validation_text)
               uid_list = [x.uid for x in uid_list]
               if len(uid_list) > 0:
@@ -263,7 +263,7 @@
         if group_method_id not in (None, ""):
           LOG('SQLDict', INFO,
               'invoking a group method %s with %d objects '\
-              ' (%d objects in expanded form)' % (
+              ' (%d objects in expanded form)' % ( 
             group_method_id, len(message_list), count))
           activity_tool.invokeGroup(group_method_id, message_list)
         else:




More information about the Erp5-report mailing list