made sponsorship app conference-aware
This commit is contained in:
parent
78f05157d2
commit
ef2624698b
3 changed files with 12 additions and 6 deletions
|
@ -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", ))
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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""
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue