diff --git a/symposion/sponsorship/forms.py b/symposion/sponsorship/forms.py index 33b52f422371802b9254aeb6ee9a910cbbfd9a4f..164d62fd696bf1ffcc2a044cb7317da64c1eac77 100644 --- a/symposion/sponsorship/forms.py +++ b/symposion/sponsorship/forms.py @@ -47,6 +47,9 @@ class SponsorDetailsForm(forms.ModelForm): class SponsorBenefitsInlineFormSet(BaseInlineFormSet): + def __init__(self, *args, **kwargs): + kwargs['queryset'] = kwargs.get('queryset', self.model._default_manager).exclude(benefit__type="option") + super(SponsorBenefitsInlineFormSet, self).__init__(*args, **kwargs) def _construct_form(self, i, **kwargs): form = super(SponsorBenefitsInlineFormSet, self)._construct_form(i, **kwargs) diff --git a/symposion/sponsorship/models.py b/symposion/sponsorship/models.py index 3378a621f5fadce31b231e4a15f24a8d37c93c98..343800b6e1c56e5244acd3bfbbd56be64d09c12d 100644 --- a/symposion/sponsorship/models.py +++ b/symposion/sponsorship/models.py @@ -258,7 +258,8 @@ class SponsorBenefit(models.Model): ordering = ["-active"] def __unicode__(self): - return u"%s - %s" % (self.sponsor, self.benefit) + return u"%s - %s (%s)" % (self.sponsor, self.benefit, + self.benefit.type) def save(self, *args, **kwargs): # Validate - save() doesn't clean your model by default, so call @@ -281,7 +282,7 @@ class SponsorBenefit(models.Model): """ if self.benefit.type == "file" or self.benefit.type == "weblogo": return ["upload"] - elif self.benefit.type == "text": + elif self.benefit.type in ("text", "richtext", "simple", "option"): return ["text"] return []