def get_all_responses(poll,location):
    term_range = [getattr(settings,'SCHOOL_TERM_START'),getattr(settings,'SCHOOL_TERM_END')]
    district_responses = get_district_responses(location, poll)
#    all_responses = poll.responses_by_category().filter(response__contact__reporting_location__in=location)
    term_responses = district_responses.filter(response__date__range = term_range)
    months= get_month_day_range(datetime.now(),depth=datetime.today().month)
    to_ret=[]
    for month in months:
        monthly_responses =district_responses.filter(response__date__range=month)
        to_ret.append((month[0].strftime("%B"),_extract_info(monthly_responses)))
    return _extract_info(term_responses).items(),to_ret
Example #2
0
def detailed_violence_view(request, district=None):
    location = get_location_for_violence_view(district, request)
    date_range = get_month_day_range(datetime.now(),depth=datetime.today().month)
    girls_poll = Poll.objects.get(name='edtrac_violence_girls')
    boys_poll = Poll.objects.get(name='edtrac_violence_boys')
    reported_poll = Poll.objects.get(name='edtrac_violence_reported')
    gem_poll = Poll.objects.get(name='edtrac_gem_abuse')
    polls = [girls_poll, boys_poll, reported_poll, gem_poll]
    labels_for_graphs = ['Violence cases agaisnt girls', 'Violence cases against boys', 
                         'Violence cases reported to Police', 'Violence reported by GEM']
    for poll in polls:
        responses = get_responses_over_depth(poll, location, date_range)
    return render_to_response('education/admin/detail_violence.html',
                              {'data_list':zip(responses, labels_for_graphs)}, RequestContext(request))
 def test_returns_3_as_number_of_schools_that_responded_to_all_violence_questions_if_3_schools_respond(self):
     month_day_range = get_month_day_range(datetime.datetime.now(), depth=1)[0]
     schedule_script_now(self.head_teacher_group.name, slug=self.p3_violence_script.slug)
     check_progress(self.p3_violence_script)
     fake_incoming('6', self.emis_reporter1)
     fake_incoming('3', self.emis_reporter2)
     check_progress(self.p3_violence_script)
     fake_incoming('0', self.emis_reporter1)
     fake_incoming('1', self.emis_reporter2)
     check_progress(self.p3_violence_script)
     fake_incoming('0', self.emis_reporter1)
     fake_incoming('1', self.emis_reporter2)
     self.assertEquals(2, total_number_of_schools_that_responded_to_all_violence_questions([self.emis_reporter1.reporting_location,\
                                                                                            self.emis_reporter2.reporting_location],\
                                                                                           month_day_range))
 def test_that_0_reporters_responded_to_all_the_three_questions_given_all_respond_to_only_two_questions(self):
     month_day_range = get_month_day_range(datetime.datetime.now(), depth=1)[0]
     schedule_script_now(self.head_teacher_group.name, slug=self.p3_violence_script.slug)
     check_progress(self.p3_violence_script)
     fake_incoming('6', self.emis_reporter1)
     fake_incoming('3', self.emis_reporter2)
     fake_incoming('0', self.emis_reporter3)
     check_progress(self.p3_violence_script)
     fake_incoming('1', self.emis_reporter2)
     fake_incoming('2', self.emis_reporter3)
     check_progress(self.p3_violence_script)
     fake_incoming('9', self.emis_reporter1)
     self.assertEquals(0, total_number_of_schools_that_responded_to_all_violence_questions([self.emis_reporter1.reporting_location,\
                                                                                            self.emis_reporter2.reporting_location,\
                                                                                           self.emis_reporter3.reporting_location],\
                                                                                           month_day_range))
def get_all_responses(poll, location):
    term_range = [
        getattr(settings, 'SCHOOL_TERM_START'),
        getattr(settings, 'SCHOOL_TERM_END')
    ]
    district_responses = get_district_responses(location, poll)
    #    all_responses = poll.responses_by_category().filter(response__contact__reporting_location__in=location)
    term_responses = district_responses.filter(
        response__date__range=term_range)
    months = get_month_day_range(datetime.now(), depth=datetime.today().month)
    to_ret = []
    for month in months:
        monthly_responses = district_responses.filter(
            response__date__range=month)
        to_ret.append(
            (month[0].strftime("%B"), _extract_info(monthly_responses)))
    return _extract_info(term_responses).items(), to_ret
Example #6
0
 def test_returns_3_as_number_of_schools_that_responded_to_all_violence_questions_if_3_schools_respond(
         self):
     month_day_range = get_month_day_range(datetime.datetime.now(),
                                           depth=1)[0]
     schedule_script_now(self.head_teacher_group.name,
                         slug=self.p3_violence_script.slug)
     check_progress(self.p3_violence_script)
     fake_incoming('6', self.emis_reporter1)
     fake_incoming('3', self.emis_reporter2)
     check_progress(self.p3_violence_script)
     fake_incoming('0', self.emis_reporter1)
     fake_incoming('1', self.emis_reporter2)
     check_progress(self.p3_violence_script)
     fake_incoming('0', self.emis_reporter1)
     fake_incoming('1', self.emis_reporter2)
     self.assertEquals(2, total_number_of_schools_that_responded_to_all_violence_questions([self.emis_reporter1.reporting_location,\
                                                                                            self.emis_reporter2.reporting_location],\
                                                                                           month_day_range))
Example #7
0
def detailed_violence_view(request, district=None):
    location = get_location_for_violence_view(district, request)
    date_range = get_month_day_range(datetime.now(),
                                     depth=datetime.today().month)
    girls_poll = Poll.objects.get(name='edtrac_violence_girls')
    boys_poll = Poll.objects.get(name='edtrac_violence_boys')
    reported_poll = Poll.objects.get(name='edtrac_violence_reported')
    gem_poll = Poll.objects.get(name='edtrac_gem_abuse')
    polls = [girls_poll, boys_poll, reported_poll, gem_poll]
    labels_for_graphs = [
        'Violence cases agaisnt girls', 'Violence cases against boys',
        'Violence cases reported to Police', 'Violence reported by GEM'
    ]
    for poll in polls:
        responses = get_responses_over_depth(poll, location, date_range)
    return render_to_response('education/admin/detail_violence.html',
                              {'data_list': zip(responses, labels_for_graphs)},
                              RequestContext(request))
Example #8
0
 def test_that_0_reporters_responded_to_all_the_three_questions_given_all_respond_to_only_two_questions(
         self):
     month_day_range = get_month_day_range(datetime.datetime.now(),
                                           depth=1)[0]
     schedule_script_now(self.head_teacher_group.name,
                         slug=self.p3_violence_script.slug)
     check_progress(self.p3_violence_script)
     fake_incoming('6', self.emis_reporter1)
     fake_incoming('3', self.emis_reporter2)
     fake_incoming('0', self.emis_reporter3)
     check_progress(self.p3_violence_script)
     fake_incoming('1', self.emis_reporter2)
     fake_incoming('2', self.emis_reporter3)
     check_progress(self.p3_violence_script)
     fake_incoming('9', self.emis_reporter1)
     self.assertEquals(0, total_number_of_schools_that_responded_to_all_violence_questions([self.emis_reporter1.reporting_location,\
                                                                                            self.emis_reporter2.reporting_location,\
                                                                                           self.emis_reporter3.reporting_location],\
                                                                                           month_day_range))
def get_date_range(from_date, to_date, depth=2):
    if from_date is None and to_date is None:
        return get_month_day_range(depth)
Example #10
0
def get_date_range(from_date, to_date, depth=2):
    if from_date is None and to_date is None:
        return get_month_day_range(depth)
Example #11
0
 def test_get_month_day_range(self):
     month_date_range = get_month_day_range(datetime.date(2012, 02, 01))
     self.assertEqual(month_date_range[0], datetime.datetime(2012, 02, 01, 8, 0))
     self.assertEqual(month_date_range[1], datetime.datetime(2012, 02, 29, 19, 0))