def save(self, commit=True, rel_instance=None): engagement = super(EngagementForm, self).save(commit=False) if rel_instance: engagement.content_type = ContentType.objects.get_for_model( rel_instance) engagement.object_id = rel_instance.pk try: person = engagement.person except Person.DoesNotExist: person = Person() for field in ('gender', 'first_name', 'last_name'): setattr(person, field, self.cleaned_data[field]) person.save() engagement.person = person if commit: engagement.save() return engagement
def __init__(self, request, propose, *args, **kwargs): self.request = request if request.user.is_authenticated(): self.person = request.user.get_profile() else: self.person = Person() super(OrganizationForm1, self).__init__(*args, **kwargs) self.fields['last_name'].required = True self.fields['gender'].initial = self.person.gender self.fields['email'].required = True self.fields['email'].label = u'Email' if self.instance.pk: del self.fields['username'] del self.fields['password1'] del self.fields['password2'] del self.fields['charte'] self.set_helper( (InlineRadios('gender'), 'first_name', 'last_name', 'email')) else: self.set_helper( (InlineRadios('gender'), 'first_name', 'last_name', 'email', 'username', 'password1', 'password2', HTML('<hr>'), InlineRadios('charte', css_class="large-label")))