62 rights['create'] = [access.checkIsDeveloper] |
62 rights['create'] = [access.checkIsDeveloper] |
63 rights['edit'] = [access.checkIsClubAdminForClub] |
63 rights['edit'] = [access.checkIsClubAdminForClub] |
64 rights['delete'] = [access.checkIsDeveloper] |
64 rights['delete'] = [access.checkIsDeveloper] |
65 rights['home'] = [access.allow] |
65 rights['home'] = [access.allow] |
66 rights['list'] = [access.checkIsDeveloper] |
66 rights['list'] = [access.checkIsDeveloper] |
|
67 rights['apply_member'] = [access.checkAgreesToSiteToS] |
67 rights['list_requests'] = [access.checkIsClubAdminForClub] |
68 rights['list_requests'] = [access.checkIsClubAdminForClub] |
68 rights['list_roles'] = [access.checkIsClubAdminForClub] |
69 rights['list_roles'] = [access.checkIsClubAdminForClub] |
69 rights['applicant'] = [access.checkIsApplicationAccepted(club_app_logic)] |
70 rights['applicant'] = [access.checkIsApplicationAccepted(club_app_logic)] |
70 |
71 |
71 new_params = {} |
72 new_params = {} |
72 new_params['logic'] = soc.logic.models.club.logic |
73 new_params['logic'] = soc.logic.models.club.logic |
73 new_params['rights'] = rights |
74 new_params['rights'] = rights |
74 new_params['name'] = "Club" |
75 new_params['name'] = "Club" |
|
76 new_params['url_name'] = "club" |
75 |
77 |
76 patterns = [] |
78 patterns = [] |
77 |
79 |
78 patterns += [(r'^%(url_name)s/(?P<access_type>applicant)/%(key_fields)s$', |
80 patterns += [(r'^%(url_name)s/(?P<access_type>applicant)/%(key_fields)s$', |
79 'soc.views.models.%(module_name)s.applicant', |
81 'soc.views.models.%(module_name)s.applicant', |
80 "%(name)s Creation via Accepted Application"),] |
82 "%(name)s Creation via Accepted Application"), |
|
83 (r'^%(url_name)s/(?P<access_type>apply_member)$', |
|
84 'soc.views.models.%(module_name)s.apply_member', |
|
85 "List of all %(name_plural)s you can apply to"),] |
81 |
86 |
82 new_params['extra_django_patterns'] = patterns |
87 new_params['extra_django_patterns'] = patterns |
|
88 |
|
89 new_params['sidebar_additional'] = [ |
|
90 ('/' + new_params['url_name'] + '/apply_member', 'Join a Club', 'list_apply'),] |
83 |
91 |
84 new_params['extra_dynaexclude'] = ['founder', 'home'] |
92 new_params['extra_dynaexclude'] = ['founder', 'home'] |
85 new_params['edit_extra_dynafields'] = { |
93 new_params['edit_extra_dynafields'] = { |
86 'founded_by': forms.CharField(widget=widgets.ReadOnlyInput(), |
94 'founded_by': forms.CharField(widget=widgets.ReadOnlyInput(), |
87 required=False), |
95 required=False), |
186 # create the club entity |
194 # create the club entity |
187 entity = self._logic.updateOrCreateFromKeyName(fields, key_name) |
195 entity = self._logic.updateOrCreateFromKeyName(fields, key_name) |
188 |
196 |
189 # redirect to notifications list to see the admin invite |
197 # redirect to notifications list to see the admin invite |
190 return http.HttpResponseRedirect('/notification/list') |
198 return http.HttpResponseRedirect('/notification/list') |
|
199 |
|
200 |
|
201 @decorators.merge_params |
|
202 @decorators.check_access |
|
203 def applyMember(self, request, access_type, |
|
204 page_name=None, params=None, **kwargs): |
|
205 """Shows a list of all clubs and you can choose one to apply to become a member. |
|
206 |
|
207 Args: |
|
208 request: the standard Django HTTP request object |
|
209 access_type : the name of the access type which should be checked |
|
210 page_name: the page name displayed in templates as page and header title |
|
211 params: a dict with params for this View |
|
212 kwargs: the Key Fields for the specified entity |
|
213 """ |
|
214 |
|
215 list_params = params.copy() |
|
216 list_params['list_action'] = (redirects.getRequestRedirectForRole, 'club_member') |
|
217 list_params['list_description'] = 'Choose a club to apply to become a Club Member' |
|
218 |
|
219 return self.list(request, access_type, |
|
220 page_name, params=list_params, filter=None) |
191 |
221 |
192 |
222 |
193 def _editGet(self, request, entity, form): |
223 def _editGet(self, request, entity, form): |
194 """See base.View._editGet(). |
224 """See base.View._editGet(). |
195 """ |
225 """ |