# HG changeset patch # User Madhusudan.C.S # Date 1250894148 -19800 # Node ID b06313c8781775d8847013ae35d2ad8ee9134b2a # Parent bb6064b9fc9d4f317ea93938179ff3f2994003d3 Added extra menu items per GHOPOrganization. diff -r bb6064b9fc9d -r b06313c87817 app/soc/modules/ghop/views/models/organization.py --- a/app/soc/modules/ghop/views/models/organization.py Sat Aug 22 04:00:56 2009 +0530 +++ b/app/soc/modules/ghop/views/models/organization.py Sat Aug 22 04:05:48 2009 +0530 @@ -28,13 +28,16 @@ from soc.logic import cleaning from soc.logic import dicts +from soc.logic.helper import timeline as timeline_helper from soc.views.helper import decorators +from soc.views.helper import redirects from soc.views.models import organization from soc.views.sitemap import sidebar import soc.cache.logic from soc.modules.ghop.views.models import program as ghop_program_view +from soc.modules.ghop.views.helper import redirects as ghop_redirects import soc.modules.ghop.logic.models.organization @@ -71,6 +74,103 @@ super(View, self).__init__(params=params) + def _getExtraMenuItems(self, role_description, params=None): + """Used to create the specific GHOP Organization menu entries. + + For args see soc.views.models.organization.View._getExtraMenuItems(). + """ + submenus = [] + + group_entity = role_description['group'] + program_entity = group_entity.scope + roles = role_description['roles'] + + if roles.get('ghop_org_admin') or roles.get('ghop_mentor'): + # add a link to view all the organization tasks. + submenu = (ghop_redirects.getListTasksRedirect( + group_entity, {'url_name': 'ghop/task'}), + "View all Tasks", 'any_access') + submenus.append(submenu) + + + if roles.get('ghop_org_admin'): + # add a link to create task + submenu = (redirects.getCreateRedirect( + group_entity, {'url_name': 'ghop/task'}), + "Create a Task", 'any_access') + submenus.append(submenu) + + # add a link to the management page + submenu = (redirects.getListRolesRedirect(group_entity, params), + "Manage Admins and Mentors", 'any_access') + submenus.append(submenu) + + # add a link to invite an org admin + submenu = (redirects.getInviteRedirectForRole( + group_entity, 'ghop/org_admin'), + "Invite an Admin", 'any_access') + submenus.append(submenu) + + # add a link to invite a member + submenu = (redirects.getInviteRedirectForRole( + group_entity, 'ghop/mentor'), "Invite a Mentor", 'any_access') + submenus.append(submenu) + + # add a link to the request page + submenu = (redirects.getListRequestsRedirect(group_entity, params), + "List Requests and Invites", 'any_access') + submenus.append(submenu) + + # add a link to the edit page + submenu = (redirects.getEditRedirect(group_entity, params), + "Edit Organization Profile", 'any_access') + submenus.append(submenu) + + if roles.get('ghop_mentor'): + # add a link to suggest task + submenu = (ghop_redirects.getSuggestTaskRedirect( + group_entity, {'url_name': 'ghop/task'}), + "Suggest a Task", 'any_access') + submenus.append(submenu) + + if roles.get('ghop_org_admin') or roles.get('ghop_mentor'): + submenu = (redirects.getCreateDocumentRedirect(group_entity, 'ghop_org'), + "Create a New Document", 'any_access') + submenus.append(submenu) + + submenu = (redirects.getListDocumentsRedirect(group_entity, 'ghop_org'), + "List Documents", 'any_access') + submenus.append(submenu) + + if roles.get('org_admin'): + # add a link to the resign page + submenu = (redirects.getManageRedirect(roles['ghop_org_admin'], + {'url_name': 'ghop/org_admin'}), + "Resign as Admin", 'any_access') + submenus.append(submenu) + + # add a link to the edit page + submenu = (redirects.getEditRedirect(roles['ghop_org_admin'], + {'url_name': 'ghop/org_admin'}), + "Edit My Admin Profile", 'any_access') + submenus.append(submenu) + + + if roles.get('ghop_mentor'): + # add a link to the resign page + submenu = (redirects.getManageRedirect(roles['ghop_mentor'], + {'url_name' : 'ghop/mentor'}), + "Resign as Mentor", 'any_access') + submenus.append(submenu) + + # add a link to the edit page + submenu = (redirects.getEditRedirect(roles['ghop_mentor'], + {'url_name': 'ghop/mentor'}), + "Edit My Mentor Profile", 'any_access') + submenus.append(submenu) + + return submenus + view = View()