From 8e936ccf46c596eee62ddac54ae12955ef15e495 Mon Sep 17 00:00:00 2001 From: Guilhem Saurel Date: Sat, 2 Jul 2016 01:03:07 +0200 Subject: [PATCH] vote views, urls, tests, templates, etc. --- proposals/models.py | 11 +++++++ .../templates/proposals/talk_detail.html | 19 +++++++++--- proposals/tests.py | 17 ++++++++--- proposals/urls.py | 1 + proposals/utils.py | 6 ++++ proposals/views.py | 30 +++++++++++++++---- 6 files changed, 70 insertions(+), 14 deletions(-) create mode 100644 proposals/utils.py diff --git a/proposals/models.py b/proposals/models.py index 622f301..ade8e9b 100644 --- a/proposals/models.py +++ b/proposals/models.py @@ -13,6 +13,8 @@ from sortedm2m.fields import SortedManyToManyField from accounts.models import Participation from ponyconf.utils import PonyConfModel, enum_to_choices +from .utils import query_sum + __all__ = ['Topic', 'Talk'] @@ -65,6 +67,9 @@ class Talk(PonyConfModel): def is_editable_by(self, user): return user == self.proposer or user in self.speakers.all() or self.is_moderable_by(user) + def score(self): + return query_sum(self.vote_set, 'vote') + class Vote(PonyConfModel): @@ -74,3 +79,9 @@ class Vote(PonyConfModel): class Meta: unique_together = ('talk', 'user') + + def __str__(self): + return "%+i by %s for %s" % (self.vote, self.user, self.talk) + + def get_absolute_url(self): + return self.talk.get_absolute_url() diff --git a/proposals/templates/proposals/talk_detail.html b/proposals/templates/proposals/talk_detail.html index 6afe041..060e32f 100644 --- a/proposals/templates/proposals/talk_detail.html +++ b/proposals/templates/proposals/talk_detail.html @@ -12,11 +12,11 @@

{{ talk.get_event_display }}

-Description: +

Description:

{{ talk.description }}

-Speakers: +

Speakers:

-Topics: +

Topics: