# HG changeset patch # User Sverre Rabbelier # Date 1232554383 0 # Node ID b2575da44c3675073fbab4f8431790b4ef25b9f4 # Parent 0c1329d4b514699c028d93c75ab69229f0039895 Fix whitespace damage Patch by: Sverre Rabbelier diff -r 0c1329d4b514 -r b2575da44c36 app/soc/views/models/club.py --- a/app/soc/views/models/club.py Wed Jan 21 16:12:48 2009 +0000 +++ b/app/soc/views/models/club.py Wed Jan 21 16:13:03 2009 +0000 @@ -64,13 +64,13 @@ new_params['logic'] = soc.logic.models.club.logic new_params['rights'] = rights new_params['name'] = "Club" - + patterns = [] page_name = "Club Creation via Accepted Application" patterns += [(r'^%(url_name)s/(?Papplicant)/%(key_fields)s$', 'soc.views.models.%(module_name)s.applicant', page_name)] - + new_params['extra_django_patterns'] = patterns new_params['extra_dynaexclude'] = ['founder', 'home'] @@ -82,45 +82,45 @@ params = dicts.merge(params, new_params) super(View, self).__init__(params=params) - + # create and store the special form for applicants updated_fields = { 'link_id': forms.CharField(widget=widgets.ReadOnlyInput(), required=False)} - + applicant_create_form = dynaform.extendDynaForm( dynaform = self._params['create_form'], dynafields = updated_fields) - + params['applicant_create_form'] = applicant_create_form def applicant(self, request, access_type, page_name=None, params=None, **kwargs): """Handles the creation of a club via an approved club application. - + Args: request: the standard Django HTTP request object page_name: the page name displayed in templates as page and header title params: a dict with params for this View kwargs: the Key Fields for the specified entity """ - - + + # merge the params params = dicts.merge(params, self._params) - + # check if the current user has access to this page try: access.checkAccess(access_type, request, rights=params['rights']) except out_of_band.Error, error: return responses.errorResponse(error, request) - + # get the context for this webpage context = responses.getUniversalContext(request) context['page_name'] = page_name - - + + if request.method == 'POST': return self.applicantPost(request, context, params, **kwargs) else: @@ -129,66 +129,66 @@ def applicantGet(self, request, context, params, **kwargs): - """Handles the GET request concerning the creation of a club via an + """Handles the GET request concerning the creation of a club via an approved club application. - + Args: request: the standard Django HTTP request object context: dictionary containing the context for this view params: a dict with params for this View kwargs: the Key Fields for the specified entity """ - + # find the application key_fields = group_app_logic.logic.getKeyFieldsFromDict(kwargs) application = group_app_logic.logic.getFromFields(**key_fields) - + # extract the application fields field_names = application.properties().keys() fields = dict( [(i, getattr(application, i)) for i in field_names] ) - + # create the form using the fields from the application as the initial value form = params['applicant_create_form'](initial=fields) - + # construct the appropriate response - return super(View, self)._constructResponse(request, entity=None, + return super(View, self)._constructResponse(request, entity=None, context=context, form=form, params=params) def applicantPost(self, request, context, params, **kwargs): - """Handles the POST request concerning the creation of a club via an + """Handles the POST request concerning the creation of a club via an approved club application. - + Args: request: the standard Django HTTP request object context: dictionary containing the context for this view params: a dict with params for this View kwargs: the Key Fields for the specified entity """ - + # populate the form using the POST data form = params['applicant_create_form'](request.POST) - + if not form.is_valid(): # return the invalid form response return self._constructResponse(request, entity=None, context=context, form=form, params=params) - + # collect the cleaned data from the valid form key_name, fields = soc.views.helper.forms.collectCleanedFields(form) - + # fill in the founder of the club account = users.get_current_user() user = user_logic.logic.getForFields({'account': account}, unique=True) fields['founder'] = user - + if not key_name: key_fields = self._logic.getKeyFieldsFromDict(fields) key_name = self._logic.getKeyNameForFields(key_fields) - + # create the club entity entity = self._logic.updateOrCreateFromKeyName(fields, key_name) - + # redirect to notifications list to see the admin invite return http.HttpResponseRedirect('/notification/list')