X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;f=apps%2Fpatchwork%2Fforms.py;h=bc746bd11c580deb3031dbaa1925bf36920d29de;hb=3be1754575b6735718a76238f437eaa2c2d3c4b1;hp=7adc8c062b0a1fd92aa7941d09aaece31c36a303;hpb=f1e089f7736ac8f7b9af784461350c4c169211ad;p=patchwork diff --git a/apps/patchwork/forms.py b/apps/patchwork/forms.py index 7adc8c0..bc746bd 100644 --- a/apps/patchwork/forms.py +++ b/apps/patchwork/forms.py @@ -44,6 +44,11 @@ class RegistrationForm(RegistrationFormUniqueEmail): user.first_name = self.cleaned_data.get('first_name', '') user.last_name = self.cleaned_data.get('last_name', '') user.save() + + # saving the userprofile causes the firstname/lastname to propagate + # to the person objects. + user.get_profile().save() + return user def clean(self): @@ -77,7 +82,7 @@ class CreateBundleForm(forms.ModelForm): class DelegateField(forms.ModelChoiceField): def __init__(self, project, *args, **kwargs): - queryset = User.objects.filter(userprofile__in = \ + queryset = User.objects.filter(userprofile__in = \ UserProfile.objects \ .filter(maintainer_projects = project) \ .values('pk').query) @@ -86,12 +91,12 @@ class DelegateField(forms.ModelChoiceField): class PatchForm(forms.ModelForm): def __init__(self, instance = None, project = None, *args, **kwargs): - if (not project) and instance: + if (not project) and instance: project = instance.project if not project: - raise Exception("meep") + raise Exception("meep") super(PatchForm, self).__init__(instance = instance, *args, **kwargs) - self.fields['delegate'] = DelegateField(project) + self.fields['delegate'] = DelegateField(project, required = False) class Meta: model = Patch @@ -171,7 +176,8 @@ class MultiplePatchForm(PatchForm): def __init__(self, project, *args, **kwargs): super(MultiplePatchForm, self).__init__(project = project, *args, **kwargs) - self.fields['delegate'] = OptionalDelegateField(project = project) + self.fields['delegate'] = OptionalDelegateField(project = project, + required = False) def save(self, instance, commit = True): opts = instance.__class__._meta @@ -184,7 +190,7 @@ class MultiplePatchForm(PatchForm): if not f.name in data: continue - field = getattr(self, f.name, None) + field = self.fields.get(f.name, None) if not field: continue