improve speaker talks count

This commit is contained in:
Élie Bouttier 2016-10-13 22:04:22 +02:00
parent 3bcd2ab2be
commit f3dd5f6cff
2 changed files with 14 additions and 1 deletions

View File

@ -108,6 +108,19 @@ class Participation(PonyConfModel):
def talk_set(self):
return self.user.talk_set.filter(site=self.site)
@property
def accepted_talk_set(self):
return self.talk_set.filter(accepted=True)
@property
def pending_talk_set(self):
return self.talk_set.filter(accepted=None)
@property
def refused_talk_set(self):
return self.talk_set.filter(accepted=False)
@property
def not_refused_talk_set(self): # accepted + pending
return self.talk_set.exclude(accepted=False)
# return True, False or None if availabilities have not been filled
def is_available(self, start, end=None):
if not self.availabilities.exists():

View File

@ -52,7 +52,7 @@
<tr class="clickable-row" data-href="{% url 'show-speaker' username=speaker.user.username %}">
<td>{{ speaker.user.username }}</td>
<td>{{ speaker.user.get_full_name }}</td>
<td class="text-right">{{ speaker.talk_set.count }}</td>
<td class="text-right">{{ speaker.not_refused_talk_set.count }}{% if speaker.pending_talk_set.count %} ({{ speaker.pending_talk_set.count }} pending){% endif %}</td>
{% if speaker.need_transport %}
<td class="{% if speaker.transport_booked %}success{% else %}warning{% endif %}">
{% for transport in speaker.transport.all %}