Example #1
0
    def dispatch(self, *args, **kwargs):
        location_type = get_object_or_404(ContentType,
                                          app_label='places',
                                          model=kwargs['model_name'])
        try:
            location = location_type.get_object_for_this_type(pk=kwargs['pk'])
            self.object = location
        except:
            raise Http404

        possible_sorting = [
            'kcse_mean', 'kcse_students', 'A', '-kcse_mean', '-kcse_students',
            '-A'
        ]

        if self.request.GET.get('year') and self.request.GET.get(
                'year').isdigit():
            self.year = int(self.request.GET.get('year'))
        else:
            self.year = get_last_year()

        self.sort_asc = True
        if self.request.GET.get('sort') and self.request.GET.get(
                'sort') in possible_sorting:
            self.sort = self.request.GET.get('sort')
            if self.sort[0] == '-':
                self.sort_asc = False
        else:
            self.sort = None
        return super(LocationView, self).dispatch(*args, **kwargs)
Example #2
0
 def grade_count(self, grade="A", year=None):
     if not year:
         from kcse.utils import get_last_year
         year = get_last_year()
     from kcse.models import Result
     result = Result.objects.filter(school=self).filter(grade=grade).filter(
         year=year).aggregate(no_of_grades=Sum('frequency'))
     return result['no_of_grades']
Example #3
0
 def get_context_data(self, **kwargs):
     context = super(ProvinceView, self).get_context_data(**kwargs)
     context['school_list'] = School.objects.filter(province=self.object)
     context['top_school_list'] = School.objects.with_kcse(
         year=get_last_year(),
         ordered=False).filter(province=self.object).order_by(
             '-kcse_mean', '-A', '-kcse_students', 'name')
     context['current_page'] = self.request.GET.get('page')
     return context
Example #4
0
    def dispatch(self, *args, **kwargs):
        possible_sorting = [
            'kcse_mean', 'kcse_students', 'A', '-kcse_mean', '-kcse_students',
            '-A'
        ]

        if self.request.GET.get('year') and self.request.GET.get(
                'year').isdigit():
            self.year = int(self.request.GET.get('year'))
        else:
            self.year = get_last_year()

        self.sort_asc = True
        if self.request.GET.get('sort') and self.request.GET.get(
                'sort') in possible_sorting:
            self.sort = self.request.GET.get('sort')
            if self.sort[0] == '-':
                self.sort_asc = False
        else:
            self.sort = None
        return super(AllSchoolsView, self).dispatch(*args, **kwargs)
Example #5
0
 def get_context_data(self, **kwargs):
     context = super(HomePageView, self).get_context_data(**kwargs)
     context['top_secondary_schools'] = School.objects.with_kcse(
         year=get_last_year())
     return context