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)
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
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
if not f.name in data:
continue
- field = getattr(self, f.name, None)
+ field = self.fields.get(f.name, None)
if not field:
continue