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
 | 
					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", ))
 | 
					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 django.db import models
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					from conference.models import Conference
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class SponsorLevel(models.Model):
 | 
					class SponsorLevel(models.Model):
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					    conference = models.ForeignKey(Conference)
 | 
				
			||||||
    name = models.CharField(max_length=100)
 | 
					    name = models.CharField(max_length=100)
 | 
				
			||||||
    order = models.IntegerField(default=0)
 | 
					    order = models.IntegerField(default=0)
 | 
				
			||||||
    description = models.TextField(blank=True)
 | 
					    description = models.TextField(blank=True)
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    class Meta:
 | 
					    class Meta:
 | 
				
			||||||
        ordering = ["order"]
 | 
					        ordering = ["conference", "order"]
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    def __unicode__(self):
 | 
					    def __unicode__(self):
 | 
				
			||||||
        return self.name
 | 
					        return u"%s %s" % (self.conference, self.name)
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    def sponsors(self):
 | 
					    def sponsors(self):
 | 
				
			||||||
        return self.sponsor_set.filter(active=True).order_by("added")
 | 
					        return self.sponsor_set.filter(active=True).order_by("added")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,6 @@
 | 
				
			||||||
from django import template
 | 
					from django import template
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					from conference.models import current_conference
 | 
				
			||||||
from sponsorship.models import Sponsor, SponsorLevel
 | 
					from sponsorship.models import Sponsor, SponsorLevel
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -26,11 +27,12 @@ class SponsorsNode(template.Node):
 | 
				
			||||||
        self.context_var = context_var
 | 
					        self.context_var = context_var
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    def render(self, context):
 | 
					    def render(self, context):
 | 
				
			||||||
 | 
					        conference = current_conference()
 | 
				
			||||||
        if self.level:
 | 
					        if self.level:
 | 
				
			||||||
            level = self.level.resolve(context)
 | 
					            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:
 | 
					        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
 | 
					        context[self.context_var] = queryset
 | 
				
			||||||
        return u""
 | 
					        return u""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -49,7 +51,8 @@ class SponsorLevelNode(template.Node):
 | 
				
			||||||
        self.context_var = context_var
 | 
					        self.context_var = context_var
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    def render(self, context):
 | 
					    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""
 | 
					        return u""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue