app/soc/views/models/club.py
changeset 1003 b13da1ddcd50
parent 998 125257161908
child 1004 bfc8e9582c47
--- a/app/soc/views/models/club.py	Mon Jan 26 17:08:27 2009 +0000
+++ b/app/soc/views/models/club.py	Mon Jan 26 17:11:54 2009 +0000
@@ -37,6 +37,7 @@
 from soc.views.helper import access
 from soc.views.helper import decorators
 from soc.views.helper import dynaform
+from soc.views.helper import redirects
 from soc.views.helper import responses
 from soc.views.helper import widgets
 from soc.views.models import group
@@ -61,6 +62,7 @@
     rights['create'] = [access.checkIsDeveloper]
     rights['edit'] = [access.checkIsClubAdminForClub]
     rights['delete'] = [access.checkIsDeveloper]
+    rights['home'] = [access.allow]
     rights['list'] = [access.checkIsDeveloper]
     rights['list_requests'] = [access.checkIsClubAdminForClub]
     rights['list_roles'] = [access.checkIsClubAdminForClub]
@@ -209,12 +211,50 @@
     super(View, self)._editPost(request, entity, fields)
 
 
+  def _getExtraMenuItems(self, role_description, params=None):
+    """Used to create the specific club menu entries.
+
+    For args see group.View._getExtraMenuItems().
+    """
+
+    submenus = []
+
+    group_entity = role_description['group']
+    roles = role_description['roles']
+  
+    if roles.get('club_admin'):
+      # add a link to the management page
+      submenu = (redirects.getListRolesRedirect(group_entity, params), 
+          "Manage Admins and Members", 'any_access')
+      submenus.append(submenu)
+
+      # add a link to invite an admin
+      submenu = (redirects.getInviteRedirect(group_entity, 'club_admin'), 
+          "Invite an Admin", 'any_access')
+      submenus.append(submenu)
+
+      # add a link to invite an user
+      submenu = (redirects.getInviteRedirect(group_entity, 'club_member'), 
+          "Invite an User", '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)
+
+      # TODO(ljvderijk) add more usefull links, like resign as admin/member
+
+    return submenus
+
+
 view = View()
 
 applicant = view.applicant
 create = view.create
 delete = view.delete
 edit = view.edit
+home = view.home
 list = view.list
 list_requests = view.listRequests
 list_roles = view.listRoles