diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 68b7160..08e59f3 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,6 +1,10 @@ Changelog ========= +0.1.2 +----- +#. Performance improvements. + 0.1.1 ----- #. Add caching to detail and widget templates. diff --git a/poll/models.py b/poll/models.py index bc9cc94..21fe8d2 100644 --- a/poll/models.py +++ b/poll/models.py @@ -48,10 +48,11 @@ def can_vote_on_poll(self, request): object_id__in=[o.id for o in self.polloption_set.all()], token=request.secretballot_token ) - if votes.count() == 0: - return True, 'can_vote' - else: + if votes.exists(): return False, 'voted' + else: + return True, 'can_vote' + @property def vote_count(self): diff --git a/poll/templatetags/poll_tags.py b/poll/templatetags/poll_tags.py index a12aca5..3f0edc7 100644 --- a/poll/templatetags/poll_tags.py +++ b/poll/templatetags/poll_tags.py @@ -17,8 +17,8 @@ def poll_detail(context, obj): 'object': obj, 'can_vote_on_poll': can_vote_on_poll, 'reason': reason - }) - if not context.has_key('form'): + }) + if can_vote_on_poll and not context.has_key('form'): context['form'] = PollVoteForm(request=context['request'], poll=obj) return context diff --git a/setup.py b/setup.py index 2f224c9..ec72d20 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ setup( name='jmbo-poll', - version='0.1.1', + version='0.1.2', description='Polling app for Jmbo.', long_description=open('README.rst', 'r').read() + open('AUTHORS.rst', 'r').read() + open('CHANGELOG.rst', 'r').read(), author='Praekelt Foundation',