def charts(request, username, id_string): xform, is_owner, can_edit, can_view = get_xform_and_perms( username, id_string, request) # no access if not (xform.shared_data or can_view or request.session.get('public_link') == xform.uuid): return HttpResponseForbidden(_(u'Not shared.')) try: lang_index = int(request.GET.get('lang', 0)) except ValueError: lang_index = 0 try: page = int(request.GET.get('page', 0)) except ValueError: page = 0 else: page = max(page - 1, 0) summaries = build_chart_data(xform, lang_index, page) if request.is_ajax(): template = 'charts_snippet.html' else: template = 'charts.html' return render(request, template, { 'xform': xform, 'summaries': summaries, 'page': page + 1 })
def test_build_chart_data_output(self): data = build_chart_data(self.xform) self.assertIsInstance(data, list) # check expected fields expected_fields = sorted(['_submission_time', 'pizza_type', 'age', 'gender', 'date', 'pizza_fan', 'net_worth', 'start_time', 'end_time', 'today']) data_field_names = sorted([f['field_name'] for f in data]) self.assertEqual(expected_fields, data_field_names)
def charts(request, username, id_string): xform, is_owner, can_edit, can_view = get_xform_and_perms( username, id_string, request) # no access if not (xform.shared_data or can_view or request.session.get('public_link') == xform.uuid): return HttpResponseForbidden(_(u'Not shared.')) context = RequestContext(request) summaries = build_chart_data(xform) return render_to_response('charts.html', { 'xform': xform, 'summaries': summaries }, context_instance=context)
def test_build_chart_data_output(self): data = build_chart_data(self.xform) self.assertIsInstance(data, list) # check expected fields expected_fields = sorted( [ "_submission_time", "pizza_type", "age", "gender", "date", "pizza_fan", "net_worth", "start_time", "end_time", "today", ] ) data_field_names = sorted([f["field_name"] for f in data]) self.assertEqual(expected_fields, data_field_names)