[Erp5-report] r34303 jm - in /erp5/trunk/products/CMFActivity: ./ Activity/ tests/

nobody at svn.erp5.org nobody at svn.erp5.org
Tue Apr 6 18:22:06 CEST 2010


Author: jm
Date: Tue Apr  6 18:22:02 2010
New Revision: 34303

URL: http://svn.erp5.org?rev=34303&view=rev
Log:
Notify when an activity is not executable (-3)

Modified:
    erp5/trunk/products/CMFActivity/Activity/SQLBase.py
    erp5/trunk/products/CMFActivity/ActivityTool.py
    erp5/trunk/products/CMFActivity/tests/testCMFActivity.py

Modified: erp5/trunk/products/CMFActivity/Activity/SQLBase.py
URL: http://svn.erp5.org/erp5/trunk/products/CMFActivity/Activity/SQLBase.py?rev=34303&r1=34302&r2=34303&view=diff
==============================================================================
--- erp5/trunk/products/CMFActivity/Activity/SQLBase.py [utf8] (original)
+++ erp5/trunk/products/CMFActivity/Activity/SQLBase.py [utf8] Tue Apr  6 18:22:02 2010
@@ -196,6 +196,7 @@
         # something is missing (context object cannot be found, method cannot
         # be accessed on object).
         non_executable_message_list.append(uid)
+        notify_user_list.append((m, False))
     if deletable_uid_list:
       try:
         self._retryOnLockError(activity_tool.SQLBase_delMessage,

Modified: erp5/trunk/products/CMFActivity/ActivityTool.py
URL: http://svn.erp5.org/erp5/trunk/products/CMFActivity/ActivityTool.py?rev=34303&r1=34302&r2=34303&view=diff
==============================================================================
--- erp5/trunk/products/CMFActivity/ActivityTool.py [utf8] (original)
+++ erp5/trunk/products/CMFActivity/ActivityTool.py [utf8] Tue Apr  6 18:22:02 2010
@@ -323,7 +323,9 @@
       call_traceback = 'Created at:\n%s' % self.call_traceback
 
     fail_count = self.line.retry + 1
-    if retry:
+    if m.getExecutionState() == MESSAGE_NOT_EXECUTABLE:
+      message = "Not executable activity"
+    elif retry:
       message = "Pending activity already failed %s times" % fail_count
     else:
       message = "Activity failed"

Modified: erp5/trunk/products/CMFActivity/tests/testCMFActivity.py
URL: http://svn.erp5.org/erp5/trunk/products/CMFActivity/tests/testCMFActivity.py?rev=34303&r1=34302&r2=34303&view=diff
==============================================================================
--- erp5/trunk/products/CMFActivity/tests/testCMFActivity.py [utf8] (original)
+++ erp5/trunk/products/CMFActivity/tests/testCMFActivity.py [utf8] Tue Apr  6 18:22:02 2010
@@ -2336,11 +2336,19 @@
     Message.notifyUser = fake_notifyUser
     Organisation.failingMethod = failingMethod
     try:
-      obj.activate(activity=activity, priority=6).failingMethod()
+      # MESSAGE_NOT_EXECUTED
+      obj.activate(activity=activity).failingMethod()
       get_transaction().commit()
       self.assertEqual(len(notification_done), 0)
       self.flushAllActivities(silent=1, loop_size=100)
       self.assertEqual(len(notification_done), 1)
+      # MESSAGE_NOT_EXECUTABLE
+      obj.getParentValue()._delObject(obj.getId())
+      obj.activate(activity=activity).getId()
+      get_transaction().commit()
+      self.assertEqual(len(notification_done), 1)
+      self.flushAllActivities(silent=1, loop_size=100)
+      self.assertEqual(len(notification_done), 2)
     finally:
       Message.notifyUser = original_notifyUser
       delattr(Organisation, 'failingMethod')




More information about the Erp5-report mailing list