Commit 13c6fdf2 authored by Łukasz Nowak's avatar Łukasz Nowak

CMFACtivity: Add invalid_only parameter

Thanks to using invalid_only the caller can check if there is any
invalid activity on the context.

This might be used by hasErrorActivity in ActiveObject and
ActiveProcess.
parent 31060427
...@@ -210,7 +210,8 @@ class SQLBase(Queue): ...@@ -210,7 +210,8 @@ class SQLBase(Queue):
return result[0].uid_count return result[0].uid_count
def hasActivity(self, activity_tool, object, method_id=None, only_valid=None, def hasActivity(self, activity_tool, object, method_id=None, only_valid=None,
active_process_uid=None): active_process_uid=None,
only_invalid=False):
hasMessage = getattr(activity_tool, 'SQLBase_hasMessage', None) hasMessage = getattr(activity_tool, 'SQLBase_hasMessage', None)
if hasMessage is not None: if hasMessage is not None:
if object is None: if object is None:
...@@ -219,7 +220,8 @@ class SQLBase(Queue): ...@@ -219,7 +220,8 @@ class SQLBase(Queue):
path = '/'.join(object.getPhysicalPath()) path = '/'.join(object.getPhysicalPath())
try: try:
result = hasMessage(table=self.sql_table, path=path, method_id=method_id, result = hasMessage(table=self.sql_table, path=path, method_id=method_id,
only_valid=only_valid, active_process_uid=active_process_uid) only_valid=only_valid, active_process_uid=active_process_uid,
only_invalid=only_invalid)
except DatabaseError: except DatabaseError:
LOG( LOG(
'SQLBase', 'SQLBase',
......
...@@ -11,11 +11,13 @@ class_file: ...@@ -11,11 +11,13 @@ class_file:
path path
method_id method_id
active_process_uid active_process_uid
only_valid</params> only_valid
only_invalid</params>
SELECT count(path) as message_count FROM SELECT count(path) as message_count FROM
<dtml-var table> <dtml-var table>
WHERE 1 = 1 WHERE 1 = 1
<dtml-if expr="path is not None">AND path = <dtml-sqlvar path type="string"> </dtml-if> <dtml-if expr="path is not None">AND path = <dtml-sqlvar path type="string"> </dtml-if>
<dtml-if expr="method_id is not None">AND method_id = <dtml-sqlvar method_id type="string"></dtml-if> <dtml-if expr="method_id is not None">AND method_id = <dtml-sqlvar method_id type="string"></dtml-if>
<dtml-if expr="only_valid">AND processing_node > -2</dtml-if> <dtml-if expr="only_valid">AND processing_node > -2</dtml-if>
<dtml-if expr="only_invalid">AND processing_node < -1</dtml-if>
<dtml-if expr="active_process_uid is not None"> AND active_process_uid = <dtml-sqlvar active_process_uid type="int"> </dtml-if> <dtml-if expr="active_process_uid is not None"> AND active_process_uid = <dtml-sqlvar active_process_uid type="int"> </dtml-if>
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment