feat: Add number of animals per sex to metrics
This commit is contained in:
@@ -360,7 +360,7 @@ class AdoptionNotice(models.Model):
|
|||||||
def num_per_sex(self):
|
def num_per_sex(self):
|
||||||
num_per_sex = dict()
|
num_per_sex = dict()
|
||||||
for sex in SexChoices:
|
for sex in SexChoices:
|
||||||
num_per_sex[sex] = self.animals.filter(sex=sex).count
|
num_per_sex[sex] = self.animals.filter(sex=sex).count()
|
||||||
return num_per_sex
|
return num_per_sex
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
@@ -8,8 +8,9 @@ def gather_metrics_data():
|
|||||||
|
|
||||||
"""Adoption notices"""
|
"""Adoption notices"""
|
||||||
num_adoption_notices = AdoptionNotice.objects.count()
|
num_adoption_notices = AdoptionNotice.objects.count()
|
||||||
num_adoption_notices_active = AdoptionNotice.objects.filter(
|
adoption_notices_active = AdoptionNotice.objects.filter(
|
||||||
adoptionnoticestatus__major_status=AdoptionNoticeStatus.ACTIVE).count()
|
adoptionnoticestatus__major_status=AdoptionNoticeStatus.ACTIVE)
|
||||||
|
num_adoption_notices_active = adoption_notices_active.count()
|
||||||
num_adoption_notices_closed = AdoptionNotice.objects.filter(
|
num_adoption_notices_closed = AdoptionNotice.objects.filter(
|
||||||
adoptionnoticestatus__major_status=AdoptionNoticeStatus.CLOSED).count()
|
adoptionnoticestatus__major_status=AdoptionNoticeStatus.CLOSED).count()
|
||||||
num_adoption_notices_disabled = AdoptionNotice.objects.filter(
|
num_adoption_notices_disabled = AdoptionNotice.objects.filter(
|
||||||
@@ -18,6 +19,19 @@ def gather_metrics_data():
|
|||||||
adoptionnoticestatus__major_status=AdoptionNoticeStatus.AWAITING_ACTION).count()
|
adoptionnoticestatus__major_status=AdoptionNoticeStatus.AWAITING_ACTION).count()
|
||||||
|
|
||||||
adoption_notices_without_location = AdoptionNotice.objects.filter(location__isnull=True).count()
|
adoption_notices_without_location = AdoptionNotice.objects.filter(location__isnull=True).count()
|
||||||
|
|
||||||
|
active_animals = 0
|
||||||
|
active_animals_per_sex = {}
|
||||||
|
for adoption_notice in adoption_notices_active:
|
||||||
|
nps = adoption_notice.num_per_sex
|
||||||
|
for sex in nps:
|
||||||
|
number_of_animals = nps[sex]
|
||||||
|
try:
|
||||||
|
active_animals_per_sex[sex] += number_of_animals
|
||||||
|
except KeyError:
|
||||||
|
active_animals_per_sex[sex] = number_of_animals
|
||||||
|
active_animals += number_of_animals
|
||||||
|
|
||||||
data = {
|
data = {
|
||||||
'users': num_user,
|
'users': num_user,
|
||||||
'staff': num_staff,
|
'staff': num_staff,
|
||||||
@@ -29,6 +43,8 @@ def gather_metrics_data():
|
|||||||
'disabled': num_adoption_notices_disabled,
|
'disabled': num_adoption_notices_disabled,
|
||||||
'awaiting_action': num_adoption_notices_awaiting_action,
|
'awaiting_action': num_adoption_notices_awaiting_action,
|
||||||
},
|
},
|
||||||
'adoption_notices_without_location': adoption_notices_without_location
|
'adoption_notices_without_location': adoption_notices_without_location,
|
||||||
|
'active_animals': active_animals,
|
||||||
|
'active_animals_per_sex': active_animals_per_sex
|
||||||
}
|
}
|
||||||
return data
|
return data
|
||||||
|
Reference in New Issue
Block a user