diff --git a/symposion_project/apps/sponsorship/admin.py b/symposion_project/apps/sponsorship/admin.py index e234e794..6814c4da 100644 --- a/symposion_project/apps/sponsorship/admin.py +++ b/symposion_project/apps/sponsorship/admin.py @@ -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", )) diff --git a/symposion_project/apps/sponsorship/models.py b/symposion_project/apps/sponsorship/models.py index f77de766..564314db 100644 --- a/symposion_project/apps/sponsorship/models.py +++ b/symposion_project/apps/sponsorship/models.py @@ -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") diff --git a/symposion_project/apps/sponsorship/templatetags/sponsorship_tags.py b/symposion_project/apps/sponsorship/templatetags/sponsorship_tags.py index 1c59be41..00fb8139 100644 --- a/symposion_project/apps/sponsorship/templatetags/sponsorship_tags.py +++ b/symposion_project/apps/sponsorship/templatetags/sponsorship_tags.py @@ -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""