[1901] | 1 | ##parameters=mode |
---|
| 2 | #$Id: getMembersDirectoryActions.py 1901 2007-06-15 11:46:09Z joachim $ |
---|
| 3 | """ |
---|
| 4 | Get the actions to provide on members directory view |
---|
| 5 | |
---|
| 6 | Return the updated actions |
---|
| 7 | """ |
---|
| 8 | try: |
---|
| 9 | from Products.zdb import set_trace |
---|
| 10 | except: |
---|
| 11 | def set_trace(): |
---|
| 12 | pass |
---|
| 13 | |
---|
| 14 | from Products.CMFCore.utils import getToolByName |
---|
| 15 | request = context.REQUEST |
---|
| 16 | qstring = request.get('QUERY_STRING','') |
---|
| 17 | id = '' |
---|
| 18 | for par in qstring.split('&'): |
---|
| 19 | if par.startswith('id='): |
---|
| 20 | id = par[3:] |
---|
| 21 | utool = getToolByName(context, 'portal_url') |
---|
| 22 | dtool = getToolByName(context, 'portal_directories') |
---|
| 23 | base_url = utool.getBaseUrl() |
---|
| 24 | renderActionIcon = context.portal_cpsportlets.renderActionIcon |
---|
| 25 | dirname = 'members' |
---|
| 26 | dir = getattr(dtool,'members') |
---|
| 27 | |
---|
| 28 | actions_list = (('create_action', |
---|
| 29 | 'new_entry', |
---|
| 30 | 'Create New Member', |
---|
| 31 | base_url+'member_create_form?dirname=members', |
---|
| 32 | ), |
---|
| 33 | ('search_action', |
---|
| 34 | 'search_entry', |
---|
| 35 | 'Search Member', |
---|
| 36 | base_url+'search_members_form?dirname=members', |
---|
| 37 | ), |
---|
| 38 | ('view_action', |
---|
| 39 | 'view_entry', |
---|
| 40 | 'View', |
---|
| 41 | base_url+'member_view?dirname=members'+'&id='+id, |
---|
| 42 | ), |
---|
| 43 | ('edit_action', |
---|
| 44 | 'edit_entry', |
---|
| 45 | 'Edit', |
---|
| 46 | base_url+'member_edit_form?dirname=members'+'&id='+id, |
---|
| 47 | ), |
---|
| 48 | ) |
---|
| 49 | ad = {} |
---|
| 50 | for action_id,name,desc,url in actions_list: |
---|
| 51 | ad[action_id] = { |
---|
| 52 | 'id': name, |
---|
| 53 | 'title': desc, |
---|
| 54 | 'icon_tag': renderActionIcon(action_id= name, |
---|
| 55 | category='object', |
---|
| 56 | base_url=base_url, |
---|
| 57 | alt= name), |
---|
| 58 | 'url': url, |
---|
| 59 | 'name': desc, |
---|
| 60 | 'category': 'object', |
---|
| 61 | } |
---|
| 62 | if mode in ['view', 'edit']: |
---|
| 63 | return [ad['view_action'], |
---|
| 64 | ad['edit_action'], |
---|
| 65 | ad['create_action'], |
---|
| 66 | ad['search_action'] |
---|
| 67 | ] |
---|
| 68 | elif mode in ['create']: |
---|
| 69 | return [ad['search_action'],] |
---|
| 70 | return [ad['create_action'],] |
---|