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):
 | 
			
		||||
        num_per_sex = dict()
 | 
			
		||||
        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
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
 
 | 
			
		||||
@@ -8,8 +8,9 @@ def gather_metrics_data():
 | 
			
		||||
 | 
			
		||||
    """Adoption notices"""
 | 
			
		||||
    num_adoption_notices = AdoptionNotice.objects.count()
 | 
			
		||||
    num_adoption_notices_active = AdoptionNotice.objects.filter(
 | 
			
		||||
        adoptionnoticestatus__major_status=AdoptionNoticeStatus.ACTIVE).count()
 | 
			
		||||
    adoption_notices_active = AdoptionNotice.objects.filter(
 | 
			
		||||
        adoptionnoticestatus__major_status=AdoptionNoticeStatus.ACTIVE)
 | 
			
		||||
    num_adoption_notices_active = adoption_notices_active.count()
 | 
			
		||||
    num_adoption_notices_closed = AdoptionNotice.objects.filter(
 | 
			
		||||
        adoptionnoticestatus__major_status=AdoptionNoticeStatus.CLOSED).count()
 | 
			
		||||
    num_adoption_notices_disabled = AdoptionNotice.objects.filter(
 | 
			
		||||
@@ -18,6 +19,19 @@ def gather_metrics_data():
 | 
			
		||||
        adoptionnoticestatus__major_status=AdoptionNoticeStatus.AWAITING_ACTION).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 = {
 | 
			
		||||
        'users': num_user,
 | 
			
		||||
        'staff': num_staff,
 | 
			
		||||
@@ -29,6 +43,8 @@ def gather_metrics_data():
 | 
			
		||||
            'disabled': num_adoption_notices_disabled,
 | 
			
		||||
            '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
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user