def test_percentage_completed(self):
     completion_rate = BatchCompletionRates(self.batch)
     self.batch.completed_households.create(householdmember=self.member_1)
     self.assertEqual(50, completion_rate.percentage_completed(
         Household.all_households_in(self.investigator_1.location, self.open_survey)))
     self.batch.completed_households.create(householdmember=self.member_2)
     self.assertEqual(100, completion_rate.percentage_completed(
         Household.all_households_in(self.investigator_1.location, self.open_survey)))
Exemple #2
0
 def test_percentage_completed(self):
     completion_rate = BatchCompletionRates(self.batch)
     self.batch.completed_households.create(householdmember=self.member_1)
     self.assertEqual(
         50,
         completion_rate.percentage_completed(
             Household.all_households_in(self.investigator_1.location,
                                         self.open_survey)))
     self.batch.completed_households.create(householdmember=self.member_2)
     self.assertEqual(
         100,
         completion_rate.percentage_completed(
             Household.all_households_in(self.investigator_1.location,
                                         self.open_survey)))
Exemple #3
0
    def generate(self, no_of_households, survey):
        if not self.selected_households:
            self.no_of_households = no_of_households
            self.generate_new_list(survey)

        all_selected_households = RandomHouseHoldSelection.objects.filter(
            mobile_number=self.mobile_number,
            survey=survey)[0].selected_households
        all_random_households = all_selected_households.split(',')

        investigator = Investigator.objects.get(
            mobile_number=self.mobile_number)

        for random_household in all_random_households:
            uid = Household.next_uid(survey)
            household_code_value = LocationCode.get_household_code(
                investigator) + str(uid)
            Household.objects.create(investigator=investigator,
                                     ea=investigator.ea,
                                     uid=uid,
                                     random_sample_number=random_household,
                                     survey=survey,
                                     household_code=household_code_value)

        if survey.has_sampling:
            self.send_message()
Exemple #4
0
 def attributes(self):
     _completion_rates =[]
     for location in self.locations:
         attribute = {'location': location,
                      'total_households': Household.all_households_in(location, self.batch.survey, self.ea).count(),
                      'completed_households_percent': self.percent_completed_households(location, self.batch.survey, self.ea)}
         _completion_rates.append(attribute)
     return _completion_rates
 def __init__(self,
              batch,
              location=None,
              ea=None,
              specific_households=None):
     self.batch = batch
     self.ea = ea
     self.location = location
     if specific_households:
         self.all_households = Household.objects.filter(
             pk__in=specific_households)
     else:
         self.all_households = Household.all_households_in(
             self.location, batch.survey, ea)
    def generate(self, no_of_households, survey):
        if not self.selected_households:
            self.no_of_households = no_of_households
            self.generate_new_list(survey)

        all_selected_households = RandomHouseHoldSelection.objects.filter(mobile_number=self.mobile_number, survey=survey)[0].selected_households
        all_random_households = all_selected_households.split(',')

        investigator = Investigator.objects.get(mobile_number=self.mobile_number)

        for random_household in all_random_households:
            uid = Household.next_uid(survey)
            household_code_value = LocationCode.get_household_code(investigator) + str(uid)
            Household.objects.create(investigator=investigator, ea=investigator.ea,
                                     uid=uid, random_sample_number=random_household,
                                     survey=survey, household_code=household_code_value)

        if survey.has_sampling:
            self.send_message()
Exemple #7
0
 def __init__(self, batch, location, ea=None):
     self.batch = batch
     self.ea = ea
     self.location = location
     self.all_households = Household.all_households_in(self.location, batch.survey, ea)
Exemple #8
0
 def percent_completed_households(self, location, survey, ea=None):
     all_households = Household.all_households_in(location, survey, ea)
     return self.percentage_completed(all_households)