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

1.1       dwinter     1: ## Script (Python) "kupuMyItems"
                      2: ##title=Retrieve a list of recently edited objects which the current user owns.
                      3: ##bind container=container
                      4: ##bind context=context
                      5: ##bind namespace=
                      6: ##bind script=script
                      7: ##bind subpath=traverse_subpath
                      8: ##parameters=
                      9: from Products.CMFCore.utils import getToolByName
                     10: 
                     11: request = context.REQUEST
                     12: response = request.RESPONSE
                     13: response.setHeader('Cache-Control', 'no-cache')
                     14: 
                     15: catalog = getToolByName(context, 'portal_catalog')
                     16: kupu_tool = getToolByName(context, 'kupu_library_tool')
                     17: 
                     18: # We *could* do it like the Plone "Recent Items" portlet and only
                     19: # return a list of objects that have been published since the last
                     20: # login, but I don't think it serves the purpose here. philiKON.
                     21: member_tool = getToolByName(context, 'portal_membership')
                     22: member = member_tool.getAuthenticatedMember()
                     23: #last_login_time = member.getProperty('last_login_time', DateTime());
                     24: 
                     25: request = context.REQUEST
                     26: # the default resource type is mediaobject
                     27: resource_type = request.get('resource_type', 'mediaobject')
                     28: portal_types = kupu_tool.queryPortalTypesForResourceType(resource_type, ())
                     29: 
                     30: max = 20
                     31: 
                     32: results = catalog.searchResults(
                     33:     portal_type=portal_types,
                     34:     sort_on='modified',
                     35:     sort_order='reverse',
                     36:     Creator=member.getMemberId(),
                     37:     )[:max]
                     38: 
                     39: return context.kupuInfoForBrains(results)

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