mirror of https://github.com/snachodog/mybuddy.git
Display per-child timer lists on dashboard card
This commit is contained in:
parent
e5a5e330b9
commit
eb9e2f3927
|
@ -13,7 +13,7 @@
|
||||||
<div id="dashboard-child" class="card-columns">
|
<div id="dashboard-child" class="card-columns">
|
||||||
{% card_feeding_last object %}
|
{% card_feeding_last object %}
|
||||||
{% card_feeding_last_method object %}
|
{% card_feeding_last_method object %}
|
||||||
{% card_timer_list %}
|
{% card_timer_list object %}
|
||||||
{% card_statistics object %}
|
{% card_statistics object %}
|
||||||
{% card_sleep_last object %}
|
{% card_sleep_last object %}
|
||||||
{% card_sleep_day object %}
|
{% card_sleep_day object %}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
from django import template
|
from django import template
|
||||||
from django.db.models import Avg, Count, Sum
|
from django.db.models import Avg, Count, Q, Sum
|
||||||
from django.db.models.functions import TruncDate
|
from django.db.models.functions import TruncDate
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
from django.utils.translation import gettext as _
|
from django.utils.translation import gettext as _
|
||||||
|
@ -324,12 +324,20 @@ def _weight_statistics(child):
|
||||||
|
|
||||||
|
|
||||||
@register.inclusion_tag('cards/timer_list.html')
|
@register.inclusion_tag('cards/timer_list.html')
|
||||||
def card_timer_list():
|
def card_timer_list(child=None):
|
||||||
"""
|
"""
|
||||||
Filters for currently active Timer instances.
|
Filters for currently active Timer instances, optionally by child.
|
||||||
|
:param child: an instance of the Child model.
|
||||||
:returns: a dictionary with a list of active Timer instances.
|
:returns: a dictionary with a list of active Timer instances.
|
||||||
"""
|
"""
|
||||||
instances = models.Timer.objects.filter(active=True).order_by('-start')
|
if child:
|
||||||
|
# Get active instances for the selected child _or_ None (no child).
|
||||||
|
instances = models.Timer.objects.filter(
|
||||||
|
Q(active=True),
|
||||||
|
Q(child=child) | Q(child=None)
|
||||||
|
).order_by('-start')
|
||||||
|
else:
|
||||||
|
instances = models.Timer.objects.filter(active=True).order_by('-start')
|
||||||
return {'type': 'timer', 'instances': list(instances)}
|
return {'type': 'timer', 'instances': list(instances)}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue