22 '"Lennard de Rijk" <ljvderijk@gmail.com>', |
22 '"Lennard de Rijk" <ljvderijk@gmail.com>', |
23 ] |
23 ] |
24 |
24 |
25 |
25 |
26 from django import forms |
26 from django import forms |
|
27 from django.utils.translation import ugettext |
27 |
28 |
28 from soc.logic import cleaning |
29 from soc.logic import cleaning |
29 from soc.logic import dicts |
30 from soc.logic import dicts |
30 from soc.logic.models import user as user_logic |
|
31 from soc.logic.models import club_app as club_app_logic |
31 from soc.logic.models import club_app as club_app_logic |
32 from soc.logic.models import club as club_logic |
32 from soc.logic.models import club as club_logic |
33 from soc.logic.models import club_admin as club_admin_logic |
33 from soc.logic.models import club_admin as club_admin_logic |
34 from soc.logic.models import request as request_logic |
|
35 from soc.views import out_of_band |
|
36 from soc.views.helper import access |
34 from soc.views.helper import access |
37 from soc.views.helper import decorators |
35 from soc.views.helper import decorators |
38 from soc.views.helper import dynaform |
36 from soc.views.helper import dynaform |
39 from soc.views.helper import redirects |
37 from soc.views.helper import redirects |
40 from soc.views.helper import responses |
|
41 from soc.views.helper import widgets |
38 from soc.views.helper import widgets |
42 from soc.views.models import group |
39 from soc.views.models import group |
43 |
40 |
44 import soc.logic.models.club |
41 import soc.logic.models.club |
45 |
42 |
62 ('checkGroupIsActiveForLinkId', club_logic.logic)] |
59 ('checkGroupIsActiveForLinkId', club_logic.logic)] |
63 rights['delete'] = ['checkIsDeveloper'] |
60 rights['delete'] = ['checkIsDeveloper'] |
64 rights['home'] = ['allow'] |
61 rights['home'] = ['allow'] |
65 rights['list'] = ['checkIsDeveloper'] |
62 rights['list'] = ['checkIsDeveloper'] |
66 rights['apply_member'] = ['checkIsUser', |
63 rights['apply_member'] = ['checkIsUser', |
67 ('checkGroupIsActiveForScopeAndLinkId', club_logic.logic)] |
64 ('checkGroupIsActiveForScopeAndLinkId', |
68 rights['list_requests'] = [('checkHasActiveRoleForLinkId', club_admin_logic.logic)] |
65 club_logic.logic)] |
69 rights['list_roles'] = [('checkHasActiveRoleForLinkId', club_admin_logic.logic)] |
66 rights['list_requests'] = [('checkHasActiveRoleForLinkId', |
|
67 club_admin_logic.logic)] |
|
68 rights['list_roles'] = [('checkHasActiveRoleForLinkId', |
|
69 club_admin_logic.logic)] |
70 rights['applicant'] = [('checkIsApplicationAccepted', |
70 rights['applicant'] = [('checkIsApplicationAccepted', |
71 club_app_logic.logic)] |
71 club_app_logic.logic)] |
72 |
72 |
73 new_params = {} |
73 new_params = {} |
74 new_params['logic'] = soc.logic.models.club.logic |
74 new_params['logic'] = soc.logic.models.club.logic |
90 |
90 |
91 new_params['application_logic'] = club_app_logic |
91 new_params['application_logic'] = club_app_logic |
92 new_params['group_applicant_url'] = True |
92 new_params['group_applicant_url'] = True |
93 |
93 |
94 new_params['sidebar_additional'] = [ |
94 new_params['sidebar_additional'] = [ |
95 ('/' + new_params['url_name'] + '/apply_member', 'Join a Club', 'apply_member'),] |
95 ('/' + new_params['url_name'] + '/apply_member', |
|
96 'Join a Club', 'apply_member'),] |
96 |
97 |
97 new_params['create_extra_dynaproperties'] = { |
98 new_params['create_extra_dynaproperties'] = { |
98 'clean' : cleaning.validate_new_group('link_id', 'scope_path', |
99 'clean' : cleaning.validate_new_group('link_id', 'scope_path', |
99 club_logic, club_app_logic)} |
100 club_logic, club_app_logic)} |
100 |
101 |
120 |
121 |
121 @decorators.merge_params |
122 @decorators.merge_params |
122 @decorators.check_access |
123 @decorators.check_access |
123 def applyMember(self, request, access_type, |
124 def applyMember(self, request, access_type, |
124 page_name=None, params=None, **kwargs): |
125 page_name=None, params=None, **kwargs): |
125 """Shows a list of all clubs and you can choose one to apply to become a member. |
126 """Shows a list of all clubs and you can choose one to |
|
127 apply to become a member. |
126 |
128 |
127 Args: |
129 Args: |
128 request: the standard Django HTTP request object |
130 request: the standard Django HTTP request object |
129 access_type : the name of the access type which should be checked |
131 access_type : the name of the access type which should be checked |
130 page_name: the page name displayed in templates as page and header title |
132 page_name: the page name displayed in templates as page and header title |
131 params: a dict with params for this View |
133 params: a dict with params for this View |
132 kwargs: the Key Fields for the specified entity |
134 kwargs: the Key Fields for the specified entity |
133 """ |
135 """ |
134 |
136 |
135 list_params = params.copy() |
137 list_params = params.copy() |
136 list_params['list_action'] = (redirects.getRequestRedirectForRole, 'club_member') |
138 list_params['list_action'] = (redirects.getRequestRedirectForRole, |
137 list_params['list_description'] = 'Choose a club to apply to become a Club Member' |
139 'club_member') |
|
140 list_params['list_description'] = ugettext('Choose a club to ' |
|
141 'apply to become a Club Member.') |
138 |
142 |
139 return self.list(request, access_type, |
143 return self.list(request, access_type, |
140 page_name, params=list_params, filter=None) |
144 page_name, params=list_params, filter=None) |
141 |
145 |
142 |
146 |
161 submenu = (redirects.getInviteRedirectForRole(group_entity, 'club_admin'), |
165 submenu = (redirects.getInviteRedirectForRole(group_entity, 'club_admin'), |
162 "Invite an Admin", 'any_access') |
166 "Invite an Admin", 'any_access') |
163 submenus.append(submenu) |
167 submenus.append(submenu) |
164 |
168 |
165 # add a link to invite a member |
169 # add a link to invite a member |
166 submenu = (redirects.getInviteRedirectForRole(group_entity, 'club_member'), |
170 submenu = (redirects.getInviteRedirectForRole(group_entity, |
167 "Invite a Member", 'any_access') |
171 'club_member'), "Invite a Member", 'any_access') |
168 submenus.append(submenu) |
172 submenus.append(submenu) |
169 |
173 |
170 # add a link to the request page |
174 # add a link to the request page |
171 submenu = (redirects.getListRequestsRedirect(group_entity, params), |
175 submenu = (redirects.getListRequestsRedirect(group_entity, params), |
172 "List Requests and Invites", 'any_access') |
176 "List Requests and Invites", 'any_access') |