def _filter_and_return(request, context, projects, max_count): tag_string = request.GET.get('filter_tags') filter_tags = [] if tag_string: filter_tags = tag_string.split('|') context['filter_tags'] = filter_tags if filter_tags: projects = get_courses_by_tags(filter_tags, projects) context['popular_tags'] = get_tags_for_courses(projects, filter_tags) context['projects'] = projects context.update(get_pagination_context(request, projects, max_count)) if request.is_ajax(): projects_html = render_to_string('learn/_learn_projects.html', context, context_instance=RequestContext(request)) projects_pagination = render_to_string('learn/_learn_pagination.html', context, context_instance=RequestContext(request)) learn_header = render_to_string('learn/_learn_header.html', context, context_instance=RequestContext(request)) learn_filters = render_to_string('learn/_learn_filters.html', context, context_instance=RequestContext(request)) data = { 'projects_html': projects_html, 'projects_pagination': projects_pagination, 'learn_header': learn_header, 'learn_filters': learn_filters, } json = simplejson.dumps(data) return http.HttpResponse(json, mimetype="application/json") return render_to_response('learn/learn.html', context, context_instance=RequestContext(request))
def test_course_tags(self): """ test that course tags works as expected """ add_course_listing(**self.test_course) course_list = get_courses_by_tags(self.test_course["tags"]) tags = get_tags_for_courses(course_list) self.assertTrue(len(course_list) == 1) self.assertTrue(course_list[0].url == self.test_course["course_url"]) self.assertTrue(len(tags) == len(self.test_course["tags"]))