Пример #1
0
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
    })
Пример #2
0
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
    })
Пример #3
0
 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)
Пример #4
0
 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)
Пример #5
0
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)
Пример #6
0
 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)