[Erp5-report] r22071 - in /experimental/bt5/erp5_forge_experimental: ExtensionTemplateItem/...

nobody at svn.erp5.org nobody at svn.erp5.org
Mon Jun 30 11:42:49 CEST 2008


Author: luke
Date: Mon Jun 30 11:42:43 2008
New Revision: 22071

URL: http://svn.erp5.org?rev=22071&view=rev
Log:
- made worklist url builder works on not-so-defined worklist

Modified:
    experimental/bt5/erp5_forge_experimental/ExtensionTemplateItem/ForgeExperimentalTools.py
    experimental/bt5/erp5_forge_experimental/SkinTemplateItem/portal_skins/erp5_forge_experimental/Worklist_getFormattedUrl.xml
    experimental/bt5/erp5_forge_experimental/bt/revision

Modified: experimental/bt5/erp5_forge_experimental/ExtensionTemplateItem/ForgeExperimentalTools.py
URL: http://svn.erp5.org/experimental/bt5/erp5_forge_experimental/ExtensionTemplateItem/ForgeExperimentalTools.py?rev=22071&r1=22070&r2=22071&view=diff
==============================================================================
--- experimental/bt5/erp5_forge_experimental/ExtensionTemplateItem/ForgeExperimentalTools.py (original)
+++ experimental/bt5/erp5_forge_experimental/ExtensionTemplateItem/ForgeExperimentalTools.py Mon Jun 30 11:42:43 2008
@@ -96,11 +96,24 @@
   if worklist.meta_type != 'Worklist':
     return return_dict
 
-  return_dict['portal_type_list'] = worklist.var_matches.get('portal_type',())
-  return_dict['simulation_state_list'] = worklist.var_matches.get('simulation_state',())
-  return_dict['permission_list'] = worklist.guard.permissions
-  return_dict['role_list'] = worklist.guard.roles
-  return_dict['group_list'] = worklist.guard.groups
-  return_dict['expression'] = worklist.guard.expr
-  
+  for property,name in [
+      ('portal_type_list','portal_type'),
+      ('simulation_state_list','simulation_state')
+      ]:
+    try:
+      return_dict[property] = worklist.var_matches.get(name,())
+    except AttributeError:
+      return_dict[property] = []
+
+  for property,name,default in [
+    ('permission_list','permission',[]),
+    ('role_list','roles',[]),
+    ('group_list','groups',[]),
+    ('expression','expr','')
+      ]:
+    try:
+      return_dict[property] = getattr(worklist.guard,name)
+    except AttributeError:
+      return_dict[property] = default
+    
   return return_dict

Modified: experimental/bt5/erp5_forge_experimental/SkinTemplateItem/portal_skins/erp5_forge_experimental/Worklist_getFormattedUrl.xml
URL: http://svn.erp5.org/experimental/bt5/erp5_forge_experimental/SkinTemplateItem/portal_skins/erp5_forge_experimental/Worklist_getFormattedUrl.xml?rev=22071&r1=22070&r2=22071&view=diff
==============================================================================
--- experimental/bt5/erp5_forge_experimental/SkinTemplateItem/portal_skins/erp5_forge_experimental/Worklist_getFormattedUrl.xml (original)
+++ experimental/bt5/erp5_forge_experimental/SkinTemplateItem/portal_skins/erp5_forge_experimental/Worklist_getFormattedUrl.xml Mon Jun 30 11:42:43 2008
@@ -79,16 +79,22 @@
  * do it as button using monkeypatching of worklist definition mechanis\n
 """\n
 worklist_dict = context.Worklist_asDict(context)\n
+script.log(worklist_dict)\n
+try:\n
+  simulation_state = worklist_dict[\'simulation_state_list\'][0]\n
+except IndexError:\n
+  simulation_state = None\n
 \n
-assert(1,len(worklist_dict[\'simulation_state_list\']))\n
-assert(1,len(worklist_dict[\'portal_type_list\']))\n
-\n
-simulation_state = worklist_dict[\'simulation_state_list\'][0]\n
-portal_type = worklist_dict[\'portal_type_list\'][0]\n
+try:\n
+  portal_type = worklist_dict[\'portal_type_list\'][0]\n
+except IndexError:\n
+  portal_type = None\n
 \n
 url_list = []\n
-url_list.append(\'simulation_state=%s\'%(simulation_state,) )\n
-url_list.append(\'portal_type=%s\'%(portal_type.replace(\' \',\'+\') ))\n
+if simulation_state is not None:\n
+  url_list.append(\'simulation_state=%s\'%(simulation_state,) )\n
+if portal_type is not None:\n
+  url_list.append(\'portal_type=%s\'%(portal_type.replace(\' \',\'+\') ))\n
 for role in worklist_dict[\'role_list\']:\n
   url_list.append(\'local_roles:list=%s\'%(role,))\n
 \n
@@ -141,10 +147,11 @@
                             <string>_getattr_</string>
                             <string>context</string>
                             <string>worklist_dict</string>
-                            <string>len</string>
+                            <string>script</string>
                             <string>_getitem_</string>
-                            <string>AssertionError</string>
                             <string>simulation_state</string>
+                            <string>IndexError</string>
+                            <string>None</string>
                             <string>portal_type</string>
                             <string>url_list</string>
                             <string>_getiter_</string>

Modified: experimental/bt5/erp5_forge_experimental/bt/revision
URL: http://svn.erp5.org/experimental/bt5/erp5_forge_experimental/bt/revision?rev=22071&r1=22070&r2=22071&view=diff
==============================================================================
--- experimental/bt5/erp5_forge_experimental/bt/revision (original)
+++ experimental/bt5/erp5_forge_experimental/bt/revision Mon Jun 30 11:42:43 2008
@@ -1,1 +1,1 @@
-47
+48




More information about the Erp5-report mailing list