Changeset - 78f05157d2eb
[Not reviewed]
Merge
0 4 10
James Tauber - 12 years ago 2012-02-06 03:34:52
jtauber@jtauber.com
Merge branch 'fresh-start' into sponsorship
2 files changed with 33 insertions and 0 deletions:
0 comments (0 inline, 0 general)
symposion_project/apps/conference/models.py
Show inline comments
...
 
@@ -3,6 +3,9 @@ from django.db import models
 
from timezones.fields import TimeZoneField
 

	
 

	
 
CONFERENCE_CACHE = {}
 

	
 

	
 
class Conference(models.Model):
 
    """
 
    the full conference for a specific year, e.g. US PyCon 2012.
...
 
@@ -19,6 +22,19 @@ class Conference(models.Model):
 
    
 
    def __unicode__(self):
 
        return self.title
 
    
 
    def save(self, *args, **kwargs):
 
        super(Conference, self).save(*args, **kwargs)
 
        if self.id in CONFERENCE_CACHE:
 
            del CONFERENCE_CACHE[self.id]
 
    
 
    def delete(self):
 
        pk = self.pk
 
        super(Conference, self).delete()
 
        try:
 
            del CONFERENCE_CACHE[pk]
 
        except KeyError:
 
            pass
 

	
 

	
 
class Section(models.Model):
...
 
@@ -38,3 +54,18 @@ class Section(models.Model):
 
    
 
    def __unicode__(self):
 
        return self.name
 

	
 

	
 
def current_conference():
 
    from django.conf import settings
 
    try:
 
        conf_id = settings.CONFERENCE_ID
 
    except AttributeError:
 
        from django.core.exceptions import ImproperlyConfigured
 
        raise ImproperlyConfigured("You must set the CONFERENCE_ID setting.")
 
    try:
 
        current_conf = CONFERENCE_CACHE[conf_id]
 
    except KeyError:
 
        current_conf = Conference.objects.get(pk=conf_id)
 
        CONFERENCE_CACHE[conf_id] = current_conf
 
    return current_conf
symposion_project/settings.py
Show inline comments
...
 
@@ -199,6 +199,8 @@ DEBUG_TOOLBAR_CONFIG = {
 
    "INTERCEPT_REDIRECTS": False,
 
}
 

	
 
CONFERENCE_ID = 1
 

	
 
# local_settings.py can be used to override environment-specific settings
 
# like database and email that differ between development and production.
 
try:
0 comments (0 inline, 0 general)