app/soc/views/site/sponsor/profile.py
changeset 337 cb7d22b1e7d8
parent 324 05e21c089be6
child 344 d135c8c09967
equal deleted inserted replaced
336:9d5b8880260f 337:cb7d22b1e7d8
    70 
    70 
    71 class EditForm(CreateForm):
    71 class EditForm(CreateForm):
    72   """Django form displayed when editing a Sponsor.
    72   """Django form displayed when editing a Sponsor.
    73   """
    73   """
    74   link_name = forms.CharField(widget=helper.widgets.ReadOnlyInput())
    74   link_name = forms.CharField(widget=helper.widgets.ReadOnlyInput())
       
    75   created_by = forms.CharField(widget=helper.widgets.ReadOnlyInput(),
       
    76                                required=False)
    75 
    77 
    76   def clean_link_name(self):
    78   def clean_link_name(self):
    77     link_name = self.cleaned_data.get('link_name')
    79     link_name = self.cleaned_data.get('link_name')
    78     if not validate.isLinkNameFormatValid(link_name):
    80     if not validate.isLinkNameFormatValid(link_name):
    79       raise forms.ValidationError("This link name is in wrong format.")
    81       raise forms.ValidationError("This link name is in wrong format.")
   142       # Ask for all the fields and pull them out 
   144       # Ask for all the fields and pull them out 
   143       for field in sponsor_form.cleaned_data:
   145       for field in sponsor_form.cleaned_data:
   144         value = sponsor_form.cleaned_data.get(field)
   146         value = sponsor_form.cleaned_data.get(field)
   145         fields[field] = value
   147         fields[field] = value
   146       
   148       
   147       fields['founder'] = user
   149       if not existing_sponsor:
       
   150         fields['founder'] = user
   148       
   151       
   149       form_ln = fields['link_name']
   152       form_ln = fields['link_name']
   150       form_sponsor = models.sponsor.logic.updateOrCreateFromFields(fields, link_name=form_ln)
   153       form_sponsor = models.sponsor.logic.updateOrCreateFromFields(fields, link_name=form_ln)
   151       
   154       
   152       if not form_sponsor:
   155       if not form_sponsor:
   173           helper.requests.getSingleIndexedParamValue(
   176           helper.requests.getSingleIndexedParamValue(
   174               request, profile.SUBMIT_MSG_PARAM_NAME,
   177               request, profile.SUBMIT_MSG_PARAM_NAME,
   175               values=profile.SUBMIT_MESSAGES))    
   178               values=profile.SUBMIT_MESSAGES))    
   176               
   179               
   177       # populate form with the existing Sponsor entity
   180       # populate form with the existing Sponsor entity
   178       sponsor_form = EditForm(instance=existing_sponsor)
   181       founder_link_name = existing_sponsor.founder.link_name
       
   182       sponsor_form = EditForm(instance=existing_sponsor, 
       
   183                               initial={'created_by': founder_link_name})
   179     else:
   184     else:
   180       if request.GET.get(profile.SUBMIT_MSG_PARAM_NAME):
   185       if request.GET.get(profile.SUBMIT_MSG_PARAM_NAME):
   181         # redirect to aggressively remove 'Profile saved' query parameter
   186         # redirect to aggressively remove 'Profile saved' query parameter
   182         return http.HttpResponseRedirect(request.path)
   187         return http.HttpResponseRedirect(request.path)
   183       
   188