You are not logged in Log in Join
You are here: Home » Members » Jfarr's Zope Page » Patches » dtml-tree-2.5.1-patch.diff

Log in
Name

Password

 

dtml-tree-2.5.1-patch.diff

File details
Size
1 K
File type
text/plain

File contents

--- lib/python/TreeDisplay/TreeTag.py.orig	Mon Oct  7 07:30:37 2002
+++ lib/python/TreeDisplay/TreeTag.py	Mon Oct  7 07:33:32 2002
@@ -45,7 +45,8 @@
                           # closed_decoration=None,
                           # childless_decoration=None,
                           assume_children=1,
-                          urlparam=None, prefix=None)
+                          urlparam=None, urlparam_expr=None,
+                          prefix=None)
         has_key=args.has_key
 
         if has_key('') or has_key('name') or has_key('expr'):
@@ -61,6 +62,12 @@
                     'branches and  and branches_expr given', 'tree')
             args['branches_expr']=Eval(args['branches_expr']).eval
         elif not has_key('branches'): args['branches']='tpValues'
+        
+        if has_key('urlparam_expr'):
+            if has_key('urlparam'):
+                raise ParseError, _tm(
+                    'urlparam and urlparam_expr given', 'tree')
+            args['urlparam_expr']=Eval(args['urlparam_expr']).eval
 
         if not has_key('id'): args['id']='tpId'
         if not has_key('url'): args['url']='tpURL'
@@ -337,6 +344,9 @@
             # Propagate extra args through tree.
             if args.has_key( 'urlparam' ):
                 param = args['urlparam']
+                param = "%s&" % param
+            elif args.has_key( 'urlparam_expr' ):
+                param = args['urlparam_expr'](md)
                 param = "%s&" % param
             else:
                 param = ""