80 'backup_admin_link_id': forms.CharField( |
80 'backup_admin_link_id': forms.CharField( |
81 label=soc.models.club_app.ClubApplication.backup_admin.verbose_name |
81 label=soc.models.club_app.ClubApplication.backup_admin.verbose_name |
82 ), |
82 ), |
83 'clean_backup_admin_link_id': |
83 'clean_backup_admin_link_id': |
84 cleaning.clean_users_not_same('backup_admin_link_id'), |
84 cleaning.clean_users_not_same('backup_admin_link_id'), |
85 'clean_link_id' : self.clean_club_app_link_id('link_id') |
85 'clean_link_id': cleaning.clean_new_club_link_id('link_id', |
|
86 model_logic.club, club_app_logic) |
86 } |
87 } |
87 |
88 |
88 new_params['edit_extra_dynafields'] = { |
89 new_params['edit_extra_dynafields'] = { |
89 'clean_link_id' : cleaning.clean_link_id('link_id'), |
90 'clean_link_id' : cleaning.clean_link_id('link_id'), |
90 } |
91 } |
340 # fill contents with all the needed lists |
341 # fill contents with all the needed lists |
341 contents = [ur_list, uh_list, den_list, ign_list] |
342 contents = [ur_list, uh_list, den_list, ign_list] |
342 |
343 |
343 # call the _list method from base to display the list |
344 # call the _list method from base to display the list |
344 return self._list(request, params, contents, page_name) |
345 return self._list(request, params, contents, page_name) |
345 |
|
346 def clean_club_app_link_id(self, field_name): |
|
347 """Cleans the link_id in the club application form |
|
348 """ |
|
349 def wrapper(self): |
|
350 # validate the link_id |
|
351 club_link_id = cleaning.clean_link_id(field_name)(self) |
|
352 |
|
353 # check if there is already an application with the given link_id |
|
354 fields = {'link_id': club_link_id, |
|
355 'state': ['accepted','ignored','needs review','completed']} |
|
356 club_app_entity = club_app_logic.logic.getForFields(fields, unique=True) |
|
357 |
|
358 if club_app_entity: |
|
359 raise forms.ValidationError( |
|
360 ugettext('This link ID is already in use, please specify another one')) |
|
361 |
|
362 # check if there is already a club with the given link_id |
|
363 fields['state'] = ['new', 'active', 'inactive'] |
|
364 club_logic = model_logic.club |
|
365 club_entity = club_logic.logic.getForFields(fields, unique=True) |
|
366 |
|
367 if club_entity: |
|
368 raise forms.ValidationError( |
|
369 ugettext('This link ID is already in use, please specify another one')) |
|
370 |
|
371 return club_link_id |
|
372 return wrapper |
|
373 |
346 |
374 |
347 |
375 view = View() |
348 view = View() |
376 |
349 |
377 create = view.create |
350 create = view.create |