Skip to content

Commit

Permalink
Fix various references to MeetingTopics
Browse files Browse the repository at this point in the history
  • Loading branch information
mjumbewu committed Jun 4, 2012
1 parent e54bb67 commit 645ca28
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 21 deletions.
6 changes: 3 additions & 3 deletions publicmeeting/meetings/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,12 +69,12 @@ def clean(self, value):
tag_names = parse_tags(value)
except ValueError:
raise forms.ValidationError(_("Please provide a comma-separated list of tags."))

tags = []
for tag_name in tag_names:
tag, created = models.MeetingTopic.objects.get_or_create(name=tag_name)
tags.append(tag.id)

return tags


Expand Down Expand Up @@ -177,7 +177,7 @@ class MeetingFilters (forms.Form):
bbox = forms.CharField(required=False, widget=GeoBBInput())
earliest = forms.DateField(required=False, initial=datetime.date.today, widget=DatepickerInput())
latest = forms.DateField(required=False, widget=DatepickerInput())
tags = forms.ModelMultipleChoiceField(queryset=taggit.models.Tag.objects.all(), to_field_name='slug', required=False)
tags = forms.ModelMultipleChoiceField(queryset=models.MeetingTopic.objects.all(), to_field_name='slug', required=False)

def clean(self):
cleaned_data = super(MeetingFilters, self).clean()
Expand Down
22 changes: 11 additions & 11 deletions publicmeeting/meetings/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,17 @@ class CachingManager (models.Manager):
def get_cache_key(self):
opts = self.model._meta
return '.'.join([opts.app_label, opts.module_name])

def cached(self):
key = self.get_cache_key()
topics = cache.get(key)

if topics is None:
topics = self.all()
cache.set(key, topics)

return topics

def bust_cache(self):
key = self.get_cache_key()
cache.delete(key)
Expand Down Expand Up @@ -83,23 +83,23 @@ class MeetingTopicManager (CachingManager):
def all(self):
return super(MeetingTopicManager, self).all().order_by('name')


class MeetingTopic (SlugifiedModelMixin, models.Model):
name = models.CharField(verbose_name='Topic', max_length=100)

# meetings (reverse)

objects = MeetingTopicManager()

def __unicode__(self):
return self.name

def get_pre_slug(self):
return self.name

def save(self, *args, **kwargs):
super(MeetingTopic, self).save(*args, **kwargs)
self.objects.bust_cache()
MeetingTopic.objects.bust_cache()


class Meeting (SlugifiedModelMixin, TimestampedModelMixin, models.Model):
Expand Down
11 changes: 5 additions & 6 deletions publicmeeting/meetings/tests/test_views_browse.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,16 @@
from django.core.urlresolvers import reverse
from django.contrib.auth.models import User
from django.contrib.gis.geos import Point
from taggit.models import Tag
from nose.tools import *

from meetings.models import Meeting, Venue
from meetings.models import Meeting, Venue, MeetingTopic
from meetings.views.browse import MeetingListView

class Test_MeetingListView:

def setup(world):
Meeting.objects.all().delete()
Tag.objects.all().delete()
MeetingTopic.objects.all().delete()
Venue.objects.all().delete()

world.url = reverse('browse_meetings_meeting_list')
Expand All @@ -22,9 +21,9 @@ def setup(world):

@istest
def returns_only_meetings_with_the_specified_tags (world):
t1 = Tag.objects.create(name='t1')
t2 = Tag.objects.create(name='t2')
t3 = Tag.objects.create(name='t3')
t1 = MeetingTopic.objects.create(name='t1', slug='t1')
t2 = MeetingTopic.objects.create(name='t2', slug='t2')
t3 = MeetingTopic.objects.create(name='t3', slug='t3')

m1 = Meeting.objects.create(slug='m1'); m1.tags.add(t1)
m2 = Meeting.objects.create(slug='m2'); m2.tags.add(t2)
Expand Down
3 changes: 2 additions & 1 deletion publicmeeting/meetings/views/browse.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@ def get_queryset(self):
if self.form.is_valid():
return self.get_meetings(**self.form.cleaned_data)
else:
logging.debug(self.form.errors)
return []

def get(self, request, *args, **kwargs):
Expand All @@ -99,7 +100,7 @@ class MeetingDetailView (views.DetailView):
model = models.Meeting
context_object_name = 'meeting'
template_name = 'browse_meetings-meeting_detail.html'

def get_object(self, queryset=None):
slug = self.kwargs['slug']
try:
Expand Down

0 comments on commit 645ca28

Please sign in to comment.