Annotation of kupuMPIWG/plone/kupu_plone_layer/resolveuid.py, revision 1.1.1.1

1.1       dwinter     1: ## Script (Python) "resolveuid"
                      2: ##title=Retrieve an object using its UID
                      3: ##bind container=container
                      4: ##bind context=context
                      5: ##bind namespace=
                      6: ##bind script=script
                      7: ##bind subpath=traverse_subpath
                      8: ##parameters=
                      9: # (reference_url is supposed to do the same thing, but is broken)
                     10: from Products.CMFCore.utils import getToolByName
                     11: from Products.PythonScripts.standard import html_quote
                     12: 
                     13: request = context.REQUEST
                     14: response = request.RESPONSE
                     15: 
                     16: uuid = traverse_subpath.pop(0)
                     17: reference_tool = getToolByName(context, 'reference_catalog')
                     18: obj = reference_tool.lookupObject(uuid)
                     19: if not obj:
                     20:     return context.standard_error_message(error_type=404,
                     21:      error_message='''The link you followed appears to be broken''')
                     22:     
                     23: if traverse_subpath:
                     24:     traverse_subpath.insert(0, obj.absolute_url())
                     25:     target = '/'.join(traverse_subpath)
                     26: else:
                     27:     target = obj.absolute_url()
                     28: 
                     29: if request.QUERY_STRING:
                     30:     target += '?' + request.QUERY_STRING
                     31: return response.redirect(target)

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>