@@ -255,13 +255,14 @@ class SponsorBenefit(models.Model):
is_complete = models.NullBooleanField(_("Complete?"), help_text=_(u"True - benefit complete; False - benefit incomplete; Null - n/a"))
class Meta:
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
# it explicitly before saving
self.full_clean()
self.is_complete = self._is_complete()
@@ -278,13 +279,13 @@ class SponsorBenefit(models.Model):
"""
Return list of data field names which should be editable for
this ``SponsorBenefit``, depending on its ``Benefit`` type.
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 []
def _is_complete(self):
return self.active and \
((self.benefit.type in ('text', 'richtext', 'simple') and bool(self.text))