made sponsorship app conference-aware

This commit is contained in:
James Tauber 2012-02-05 22:50:47 -05:00
parent 78f05157d2
commit ef2624698b
3 changed files with 12 additions and 6 deletions

View file

@ -3,5 +3,5 @@ from django.contrib import admin
from sponsorship.models import SponsorLevel, Sponsor
admin.site.register(SponsorLevel, list_display=("order", "name"))
admin.site.register(SponsorLevel)
admin.site.register(Sponsor, list_display=("name", "level", "added", "active"), list_filter = ("level", ))

View file

@ -2,18 +2,21 @@ import datetime
from django.db import models
from conference.models import Conference
class SponsorLevel(models.Model):
conference = models.ForeignKey(Conference)
name = models.CharField(max_length=100)
order = models.IntegerField(default=0)
description = models.TextField(blank=True)
class Meta:
ordering = ["order"]
ordering = ["conference", "order"]
def __unicode__(self):
return self.name
return u"%s %s" % (self.conference, self.name)
def sponsors(self):
return self.sponsor_set.filter(active=True).order_by("added")

View file

@ -1,5 +1,6 @@
from django import template
from conference.models import current_conference
from sponsorship.models import Sponsor, SponsorLevel
@ -26,11 +27,12 @@ class SponsorsNode(template.Node):
self.context_var = context_var
def render(self, context):
conference = current_conference()
if self.level:
level = self.level.resolve(context)
queryset = Sponsor.objects.filter(level__name__iexact = level, active = True).order_by("added")
queryset = Sponsor.objects.filter(level__conference = conference, level__name__iexact = level, active = True).order_by("added")
else:
queryset = Sponsor.objects.filter(active = True).order_by("level__order", "added")
queryset = Sponsor.objects.filter(level__conference = conference, active = True).order_by("level__order", "added")
context[self.context_var] = queryset
return u""
@ -49,7 +51,8 @@ class SponsorLevelNode(template.Node):
self.context_var = context_var
def render(self, context):
context[self.context_var] = SponsorLevel.objects.all()
conference = current_conference()
context[self.context_var] = SponsorLevel.objects.filter(conference=conference)
return u""