# HG changeset patch # User Lennard de Rijk # Date 1233261634 0 # Node ID dfa86ed03a66ef36ffbf92c961a9b8e9213ce7b6 # Parent 1ff364d96b02543e1856e482bd4aff4b53691388 Added menu entries for a specific Sponsor Entity. Patch by: Lennard de Rijk Reviewed by: to-be-reviewed diff -r 1ff364d96b02 -r dfa86ed03a66 app/soc/views/models/sponsor.py --- a/app/soc/views/models/sponsor.py Thu Jan 29 20:29:07 2009 +0000 +++ b/app/soc/views/models/sponsor.py Thu Jan 29 20:40:34 2009 +0000 @@ -26,6 +26,7 @@ from soc.logic import dicts from soc.views.helper import access +from soc.views.helper import redirects from soc.views.models import group import soc.models.sponsor @@ -67,9 +68,45 @@ super(View, self).__init__(params=params) - # TODO(ljvderijk) add sidebar entries for specific sponsors - #def _getExtraMenuItems(self, role_description, params=None): + def _getExtraMenuItems(self, role_description, params=None): + """Used to create the specific Sponsor menu entries. + + For args see group.View._getExtraMenuItems(). + """ + + submenus = [] + + group_entity = role_description['group'] + roles = role_description['roles'] + + if roles.get('host'): + # add a link to the management page + submenu = (redirects.getListRolesRedirect(group_entity, params), + "Manage Program Administrators", 'any_access') + submenus.append(submenu) + # add a link to invite an a host + submenu = (redirects.getInviteRedirectForRole(group_entity, 'host'), + "Invite a Host", 'any_access') + submenus.append(submenu) + + # add a link to the request page + submenu = (redirects.getListRequestsRedirect(group_entity, params), + "List Host Invites", 'any_access') + submenus.append(submenu) + + # add a link to the edit page + submenu = (redirects.getEditRedirect(group_entity, params), + "Edit Sponsor Profile", 'any_access') + submenus.append(submenu) + + # add a link to resign as a host + submenu = (redirects.getManageRedirect(roles['host'], + {'url_name': 'host'}), + "Resign as Host", 'any_access') + submenus.append(submenu) + + return submenus view = View()