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)
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']
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
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)
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