diff --git a/symposion/sponsorship/models.py b/symposion/sponsorship/models.py new file mode 100644 index 0000000000000000000000000000000000000000..a902c0be1c4d91a26a8d5e2f038e2e24aebd67c4 --- /dev/null +++ b/symposion/sponsorship/models.py @@ -0,0 +1,45 @@ +import datetime + +from django.db import models +from django.utils.translation import ugettext_lazy as _ + +from symposion.conference.models import Conference + + +class SponsorLevel(models.Model): + + conference = models.ForeignKey(Conference, verbose_name=_("conference")) + name = models.CharField(_("name"), max_length=100) + order = models.IntegerField(_("order"), default=0) + description = models.TextField(_("description"), blank=True) + + class Meta: + ordering = ["conference", "order"] + verbose_name = _("sponsor level") + verbose_name_plural = _("sponsor levels") + + def __unicode__(self): + return u"%s %s" % (self.conference, self.name) + + def sponsors(self): + return self.sponsor_set.filter(active=True).order_by("added") + + +class Sponsor(models.Model): + + name = models.CharField(_("name"), max_length=100) + external_url = models.URLField(_("external URL")) + annotation = models.TextField(_("annotation"), blank=True) + contact_name = models.CharField(_("contact_name"), max_length=100) + contact_email = models.EmailField(_(u"Contact e\u2011mail")) + logo = models.ImageField(_("logo"), upload_to="sponsor_logos/") + level = models.ForeignKey(SponsorLevel, verbose_name=_("level")) + added = models.DateTimeField(_("added"), default=datetime.datetime.now) + active = models.BooleanField(_("active"), default=False) + + def __unicode__(self): + return self.name + + class Meta: + verbose_name = _("sponsor") + verbose_name_plural = _("sponsors")