[Erp5-report] r23258 - in /erp5/trunk/bt5/erp5_egov: ExtensionTemplateItem/ SkinTemplateIte...

nobody at svn.erp5.org nobody at svn.erp5.org
Thu Aug 28 18:29:49 CEST 2008


Author: fabien
Date: Thu Aug 28 18:29:49 2008
New Revision: 23258

URL: http://svn.erp5.org?rev=23258&view=rev
Log:
enable worklist displaying on another workflow

Modified:
    erp5/trunk/bt5/erp5_egov/ExtensionTemplateItem/ERP5EGov_Extensions.py
    erp5/trunk/bt5/erp5_egov/SkinTemplateItem/portal_skins/erp5_egov_widget_library/WebSite_viewAgentWorklistRenderer.xml
    erp5/trunk/bt5/erp5_egov/bt/revision

Modified: erp5/trunk/bt5/erp5_egov/ExtensionTemplateItem/ERP5EGov_Extensions.py
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_egov/ExtensionTemplateItem/ERP5EGov_Extensions.py?rev=23258&r1=23257&r2=23258&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_egov/ExtensionTemplateItem/ERP5EGov_Extensions.py (original)
+++ erp5/trunk/bt5/erp5_egov/ExtensionTemplateItem/ERP5EGov_Extensions.py Thu Aug 28 18:29:49 2008
@@ -39,7 +39,7 @@
 
   return portal_type_list
 
-def getPortalTypeWorklistDictForWorkflow(self, workflow):
+def getPortalTypeWorklistDictForWorkflow(self, workflow_list):
   """
     return a dict containing portal_type and all informations about work_list
     of workflow :
@@ -56,43 +56,50 @@
               .....
     }
   """
-  portal_type_list = self.getPoralTypeListForWorkflow(self, workflow=workflow)
+  portal_type_worklist_dict = {}
   portal_workflow = self.getPortalObject().portal_workflow
-  workflow = getattr(portal_workflow, workflow, None)
 
-  portal_type_worklist_dict = {}
+  if not isinstance(workflow_list, list):
+    workflow = [workflow_list]
 
-  if workflow is not None:
-    worklist_dict = workflow.worklists._mapping
-    for portal_type in portal_type_list:
-      for worklist_id, worklist in worklist_dict.items():
-        state = None
-        if worklist.var_matches.has_key('validation_state'):
-          state=worklist.var_matches['validation_state']
-        local_role_list=worklist.guard.roles
-        if state is None:
-          continue
+  for workflow in workflow_list:
 
-        result = self.getPortalObject().portal_catalog(portal_type=portal_type,
-                                        local_roles=local_role_list,
-                                        validation_state=state)
-        if not len(result):
-          continue
+    portal_type_list = self.getPoralTypeListForWorkflow(self, 
+        workflow=workflow)
+    workflow = getattr(portal_workflow, workflow, None)
 
-        if not portal_type_worklist_dict.has_key(portal_type):
-          portal_type_worklist_dict[portal_type] = {}
+    if workflow is not None:
+      worklist_dict = workflow.worklists._mapping
+      for portal_type in portal_type_list:
+        for worklist_id, worklist in worklist_dict.items():
+          state = None
+          if worklist.var_matches.has_key('validation_state'):
+            state=worklist.var_matches['validation_state']
+          local_role_list=worklist.guard.roles
+          if state is None:
+            continue
 
-        portal_type_worklist_dict[portal_type][worklist_id] = {}
-        result_dict = portal_type_worklist_dict[portal_type][worklist_id]
-        result_dict['id']=worklist_id
-        result_dict['count']=len(result)
-        result_dict['description']=worklist.description
-        result_dict['validation_state']=state
-        result_dict['formated_name']=worklist.actbox_name
-        result_dict['formated_url']=worklist.actbox_url
-        result_dict['formated_url']='Base_viewSearchResultList?validation_state=%s&local_roles=%s&reset=1&portal_type=%s'\
-          % (state[0], local_role_list[0], portal_type)
-        result_dict['category']=worklist.actbox_category
-        result_dict.update(worklist.guard.__dict__)
+          result = self.getPortalObject().portal_catalog(\
+                                          portal_type=portal_type,
+                                          local_roles=local_role_list,
+                                          validation_state=state)
+          if not len(result):
+            continue
+
+          if not portal_type_worklist_dict.has_key(portal_type):
+            portal_type_worklist_dict[portal_type] = {}
+
+          portal_type_worklist_dict[portal_type][worklist_id] = {}
+          result_dict = portal_type_worklist_dict[portal_type][worklist_id]
+          result_dict['id']=worklist_id
+          result_dict['count']=len(result)
+          result_dict['description']=worklist.description
+          result_dict['validation_state']=state
+          result_dict['formated_name']=worklist.actbox_name
+          result_dict['formated_url']=worklist.actbox_url
+          result_dict['formated_url']='Base_viewSearchResultList?validation_state=%s&local_roles=%s&reset=1&portal_type=%s'\
+            % (state[0], local_role_list[0], portal_type)
+          result_dict['category']=worklist.actbox_category
+          result_dict.update(worklist.guard.__dict__)
   return portal_type_worklist_dict
 

Modified: erp5/trunk/bt5/erp5_egov/SkinTemplateItem/portal_skins/erp5_egov_widget_library/WebSite_viewAgentWorklistRenderer.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_egov/SkinTemplateItem/portal_skins/erp5_egov_widget_library/WebSite_viewAgentWorklistRenderer.xml?rev=23258&r1=23257&r2=23258&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_egov/SkinTemplateItem/portal_skins/erp5_egov_widget_library/WebSite_viewAgentWorklistRenderer.xml (original)
+++ erp5/trunk/bt5/erp5_egov/SkinTemplateItem/portal_skins/erp5_egov_widget_library/WebSite_viewAgentWorklistRenderer.xml Thu Aug 28 18:29:49 2008
@@ -70,7 +70,7 @@
 \n
 \n
       <tal:block tal:define="global portal_type_dict python:\n
-      here.getPortalTypeWorklistDictForWorkflow(context, workflow=\'egov_universal_workflow\')" />\n
+      here.getPortalTypeWorklistDictForWorkflow(context, workflow_list=[\'egov_universal_workflow\', \'egov_anonymous_workflow\'])" />\n
       <ul tal:condition="python: portal_type_dict">\n
         <li tal:repeat="portal_type python: portal_type_dict.keys()">\n
           <span class ="portal_type" tal:content="portal_type" i18n:domain="ui" i18n:translate="">portal_type</span>\n
@@ -150,6 +150,12 @@
             <key> <string>title</string> </key>
             <value> <string></string> </value>
         </item>
+        <item>
+            <key> <string>uid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
       </dictionary>
     </pickle>
   </record>

Modified: erp5/trunk/bt5/erp5_egov/bt/revision
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_egov/bt/revision?rev=23258&r1=23257&r2=23258&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_egov/bt/revision (original)
+++ erp5/trunk/bt5/erp5_egov/bt/revision Thu Aug 28 18:29:49 2008
@@ -1,1 +1,1 @@
-256
+258




More information about the Erp5-report mailing list