Пример #1
0
def survey_review_sheet(request, slug, sheet):
    djsurvey = get_survey_or_404(request, slug, review=True)

    # Get CSRF token, so that cookie will be included
    csrf.get_token(request)

    sheet = int(sheet)

    # XXX: Throw sane error in this case!
    #if djsurvey.active_task:
    #    raise Http404

    if not djsurvey.initialized:
        raise Http404

    # Now this is getting hairy, we need to unpickle the data :-(
    #with models.LockedSurvey(djsurvey.id, 5):

    survey = SDAPSSurvey.load(djsurvey.path)

    try:
        survey.goto_nth_sheet(sheet)
    except:
        raise Http404

    if request.method == 'POST':
        post_data = json.loads(request.read())
        data = post_data['data']

        survey.questionnaire.sdaps_ctl.set_data(data)

        survey.save()

    # Assume image is NUMBER.tif
    res = {
        'images': [{
            'image':
            int(image.filename[:-4]),
            'image_page':
            image.tiff_page,
            'page':
            image.page_number if image.survey_id == survey.survey_id else -1,
            'rotated':
            image.rotated,
            'pxtomm':
            tuple(image.matrix.px_to_mm()),
            'mmtopx':
            tuple(image.matrix.mm_to_px()),
        } for image in survey.sheet.images if not image.ignored],
        'data':
        survey.questionnaire.sdaps_ctl.get_data()
    }

    return HttpResponse(json.dumps(res), content_type="application/json")
Пример #2
0
def csv_download(request, slug):
    '''GET gives you the csv-file from an initialized survey.'''
    djsurvey = get_survey_or_404(request, slug, change=True)

    if not djsurvey.initialized:
        raise Http404

    survey = SDAPSSurvey.load(djsurvey.path)

    outdata = io.StringIO()
    csvdata.csvdata_export(survey, outdata, None)

    return HttpResponse(outdata.getvalue(), content_type="text/csv; charset=utf-8")
Пример #3
0
def survey_review(request, slug):
    djsurvey = get_survey_or_404(request, slug, review=True)

    if not djsurvey.initialized:
        raise Http404

    #with models.LockedSurvey(djsurvey.id, 5):

    survey = SDAPSSurvey.load(djsurvey.path)

    context_dict = {'survey': djsurvey, 'sheet_count': survey.sheet_count}

    return render(request, 'survey_review.html', context_dict)
Пример #4
0
def csv_download(request, slug):
    '''GET gives you the csv-file from an initialized survey.'''
    djsurvey = get_survey_or_404(request, slug, change=True)

    if not djsurvey.initialized:
        raise Http404

    survey = SDAPSSurvey.load(djsurvey.path)

    outdata = io.StringIO()
    csvdata.csvdata_export(survey, outdata, None)

    return HttpResponse(outdata.getvalue(),
                        content_type="text/csv; charset=utf-8")
Пример #5
0
def survey_review_sheet(request, slug, sheet):
    djsurvey = get_survey_or_404(request, slug, review=True)

    # Get CSRF token, so that cookie will be included
    csrf.get_token(request)

    sheet = int(sheet)

    # XXX: Throw sane error in this case!
    #if djsurvey.active_task:
    #    raise Http404

    if not djsurvey.initialized:
        raise Http404

    # Now this is getting hairy, we need to unpickle the data :-(
    #with models.LockedSurvey(djsurvey.id, 5):

    survey = SDAPSSurvey.load(djsurvey.path)

    try:
        survey.goto_nth_sheet(sheet)
    except:
        raise Http404

    if request.method == 'POST':
        post_data = json.loads(request.read())
        data = post_data['data']

        survey.questionnaire.sdaps_ctl.set_data(data)

        survey.save()

    # Assume image is NUMBER.tif
    res = {
        'images' : [
            {
                'image' : int(image.filename[:-4]),
                'image_page' : image.tiff_page,
                'page' : image.page_number if image.survey_id == survey.survey_id else -1,
                'rotated' : image.rotated,
                'pxtomm' : tuple(image.matrix.px_to_mm()),
                'mmtopx' : tuple(image.matrix.mm_to_px()),
            } for image in survey.sheet.images if not image.ignored
        ],
        'data' : survey.questionnaire.sdaps_ctl.get_data()
    }

    return HttpResponse(json.dumps(res), content_type="application/json")
Пример #6
0
def survey_review(request, slug):
    djsurvey = get_survey_or_404(request, slug, review=True)

    if not djsurvey.initialized:
        raise Http404

    #with models.LockedSurvey(djsurvey.id, 5):

    survey = SDAPSSurvey.load(djsurvey.path)

    context_dict = {
        'survey' : djsurvey,
        'sheet_count' : survey.sheet_count
    }

    return render(request, 'survey_review.html', context_dict)
Пример #7
0
def csv_download(request, survey_id):
    djsurvey = get_survey_or_404(request, survey_id, change=True)

    # XXX: Throw sane error in this case!
    if djsurvey.active_task:
        raise Http404

    if not djsurvey.initialized:
        raise Http404

    # Now this is getting hairy, we need to unpickle the data :-(
    with models.LockedSurvey(djsurvey.id, 5):

        survey = SDAPSSurvey.load(djsurvey.path)

        outdata = StringIO.StringIO()
        csvdata.csvdata_export(survey, outdata, None, False, {})

        return HttpResponse(outdata.getvalue(), content_type="text/csv; charset=utf-8")
Пример #8
0
def survey_review(request, survey_id):
    djsurvey = get_survey_or_404(request, survey_id, review=True)

    if not djsurvey.initialized:
        raise Http404

    # XXX: Throw sane error in this case!
    if djsurvey.active_task:
        raise Http404

    with models.LockedSurvey(djsurvey.id, 5):

        survey = SDAPSSurvey.load(djsurvey.path)

        context_dict = {
            'survey' : djsurvey,
            'sheet_count' : len(survey.sheets)
        }

        return render(request, 'survey_review.html', context_dict)