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")
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")
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)
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")
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)
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")
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)