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